*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.border{border-width:1px}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@media (max-width:1440px){html{font-size:14px}}@media (max-width:1280px){html{font-size:13px}}@media (max-width:1440px){.sidebar{min-width:200px!important;width:200px!important}.sidebar-collapsed{min-width:60px!important;width:60px!important}.card,.content-area,[class*=Card]{padding:16px!important}table td,table th{font-size:13px!important;padding:10px 12px!important}}@media (max-width:1280px){.stats-grid-3,.stats-grid-4{grid-template-columns:repeat(2,1fr)!important}}@media (max-width:1440px){h1{font-size:1.5rem!important}h2{font-size:1.25rem!important}h3{font-size:1.1rem!important}button{font-size:13px!important;padding:8px 16px!important}button.btn-large{font-size:14px!important;padding:10px 20px!important}input,select,textarea{font-size:13px!important;padding:8px 12px!important}.modal-content{max-height:85vh!important;max-width:90%!important}}.compact-layout{font-size:.9em}.compact-layout h1{font-size:1.4rem}.compact-layout h2{font-size:1.2rem}.compact-layout h3{font-size:1rem}.compact-layout p{font-size:.9rem}.scroll-container{max-height:calc(100vh - 200px);overflow-y:auto}.user-menu{position:relative}.login-link{background:#ffffff1a;border:1px solid #fff3;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background .2s}.login-link:hover{background:#fff3}.user-menu-trigger{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;display:flex;gap:10px;padding:6px 12px;transition:background .2s}.user-menu-trigger:hover{background:#fff3}.user-avatar{align-items:center;background:linear-gradient(135deg,#2251ff,#2251ff);border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:600;height:32px;justify-content:center;width:32px}.user-info{align-items:flex-start;display:flex;flex-direction:column;gap:2px}.user-name{font-size:14px;font-weight:500}.role-badge{border-radius:4px;font-size:10px;font-weight:600;padding:2px 6px;text-transform:uppercase}.role-badge.admin{background:#fee2e2;color:#dc2626}.role-badge.company{background:#dbeafe;color:#2563eb}.dropdown-arrow{font-size:10px;opacity:.7}.dropdown-overlay{bottom:0;left:0;position:fixed;right:0;top:0;z-index:99}.user-dropdown{background:#fff;border-radius:8px;box-shadow:var(--shadow-lg);min-width:220px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:100}.dropdown-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:16px}.dropdown-header strong{color:#111827;display:block;font-size:14px}.dropdown-email{color:#6b7280;display:block;font-size:12px;margin-top:2px}.dropdown-company{background:#dbeafe;border-radius:4px;color:#2563eb;display:inline-block;font-size:11px;font-weight:500;margin-top:6px;padding:2px 8px}.dropdown-divider{background:#e5e7eb;height:1px}.dropdown-item{background:none;border:none;color:#374151;cursor:pointer;display:block;font-size:14px;padding:12px 16px;text-align:left;transition:background .2s;width:100%}.dropdown-item:hover{background:#f3f4f6}.dropdown-item.logout{color:#dc2626}.dropdown-item.logout:hover{background:#fee2e2}@media (max-width:600px){.dropdown-arrow,.user-info{display:none}.user-menu-trigger{padding:6px}}.bid-analysis{margin:0 auto;max-width:1400px;padding:24px}.loading-container{align-items:center;display:flex;flex-direction:column;gap:16px;height:300px;justify-content:center}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#2251ff;height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.analysis-header{margin-bottom:24px}.back-button{color:#2251ff;font-size:var(--font-size-sm);margin-bottom:8px;padding:8px 0}.back-button:hover{color:#1a3fcc}.analysis-header h1{color:#111827;font-size:var(--font-size-xl);font-weight:700;margin:0 0 4px}.subtitle{color:#6b7280;font-size:var(--font-size-sm);margin:0}.round-control-bar{background:#fff;border:1px solid #e2e5ea;border:1px solid var(--color-border,#e2e5ea);border-radius:12px;flex-wrap:wrap;justify-content:space-between;margin-bottom:20px;padding:12px 20px}.round-control-bar,.round-selector{align-items:center;display:flex;gap:12px}.round-label{color:#6b7280;color:var(--color-text-secondary,#6b7280);font-size:var(--font-size-sm)}.round-buttons{display:flex;gap:8px}.round-btn{background:#0000;border:1px solid #e2e5ea;border:1px solid var(--color-border,#e2e5ea);border-radius:6px;color:#6b7280;color:var(--color-text-secondary,#6b7280);cursor:pointer;font-size:var(--font-size-sm);font-weight:500;padding:6px 14px;transition:all .2s}.round-btn:hover{background:#f8f9fb;background:var(--color-bg,#f8f9fb)}.round-btn.active{background:#2251ff;background:var(--color-brand,#2251ff);border-color:#2251ff;border-color:var(--color-brand,#2251ff);color:#fff}.round-status-info{align-items:center;display:flex}.status-chip{border-radius:20px;font-size:var(--font-size-xs);font-weight:600;padding:4px 10px}.status-chip.open{background:#0596691a;color:#059669}.status-chip.closed{background:#dc26261a;color:#dc2626}.round-actions{display:flex;gap:8px}.round-action-btn{border:none;border-radius:6px;cursor:pointer;font-size:var(--font-size-sm);font-weight:600;padding:6px 14px;transition:all .2s}.round-action-btn.next{background:#10b981;color:#fff}.round-action-btn.next:hover{background:#059669}.round-action-btn.close{background:#ef4444;color:#fff}.round-action-btn.close:hover{background:#dc2626}.round-action-btn.compare{background:#f8f9fb;background:var(--color-bg,#f8f9fb);border:1px solid #e2e5ea;border:1px solid var(--color-border,#e2e5ea);color:#6b7280;color:var(--color-text-secondary,#6b7280)}.round-action-btn.compare:hover{background:#e2e8f0}.no-bids-message{background:#f9fafb;border:2px dashed #e5e7eb;border-radius:12px;padding:60px 20px;text-align:center}.no-bids-icon{font-size:48px;margin-bottom:16px}.no-bids-message h2{color:#374151;margin-bottom:8px}.no-bids-message p{color:#6b7280;margin-bottom:24px}.bid-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.summary-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:12px;padding:14px 16px}.summary-card.highlight{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#93c5fd}.summary-icon{font-size:24px}.summary-label{color:#6b7280;font-size:var(--font-size-xs);margin-bottom:2px}.summary-value{color:#111827;font-size:var(--font-size-xl);font-weight:700}.main-tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:4px;margin-bottom:24px;padding-bottom:0}.main-tab{background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;margin-bottom:-2px;padding:12px 20px;transition:all .2s}.main-tab:hover{color:#111827}.main-tab.active{border-bottom-color:#2251ff;color:#2251ff;font-weight:600}.bids-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.view-toggle{background:#f3f4f6;border-radius:8px;display:flex;gap:4px;padding:2px}.view-btn{background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;transition:all .2s}.view-btn.active{background:#fff;box-shadow:var(--shadow-sm);color:#111827}.bids-section{margin-bottom:32px}.bids-section h2{color:#111827;font-size:var(--font-size-lg);font-weight:600;margin-bottom:12px}.supplier-bids-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.supplier-bid-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;transition:all .2s}.supplier-bid-card:hover{box-shadow:0 4px 12px #00000014}.supplier-bid-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px}.supplier-bid-header h3{color:#111827;font-size:var(--font-size-md);font-weight:600;margin:0}.badge{border-radius:4px;font-size:var(--font-size-xs);padding:2px 6px;text-transform:uppercase}.badge.incumbent{background:#eef2ff;color:#2251ff}.badge.approved{background:#ecfdf5;color:#059669}.badge.challenger{background:#fffbeb;color:#d97706}.badge.mixed{background:linear-gradient(135deg,#dbeafe,#fef3c7);color:#374151}.supplier-bid-total{color:#111827;font-size:var(--font-size-xl);font-weight:700;margin-bottom:4px}.round-change{border-radius:4px;font-size:var(--font-size-xs);margin-bottom:8px;padding:4px 8px}.round-change.positive{background:#dcfce7;color:#166534}.round-change.neutral{background:#f3f4f6;color:#6b7280}.supplier-bid-details{color:#6b7280;font-size:var(--font-size-xs);margin-bottom:12px}.material-status-summary{display:flex;flex-wrap:wrap;gap:8px}.status-chip.incumbent{background:#eef2ff;color:#2251ff}.status-chip.approved,.status-chip.incumbent{border-radius:100px;font-size:11px;padding:2px 8px}.status-chip.approved{background:#ecfdf5;color:#059669}.status-chip.challenger{background:#fffbeb;border-radius:100px;color:#d97706;font-size:11px;padding:2px 8px}.round-comparison-summary{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #6ee7b7;border-radius:12px;margin-bottom:24px;padding:20px}.round-comparison-summary h2{color:#065f46;font-size:var(--font-size-md);font-weight:600;margin:0 0 12px}.comparison-cards{display:flex;flex-wrap:wrap;gap:16px}.comparison-card{background:#fff;border-radius:8px;flex:1 1;min-width:200px;padding:12px 16px}.comparison-card.improved{border-left:4px solid #10b981}.comparison-details-section{margin-top:24px}.comparison-details-section h3{color:#065f46;font-size:var(--font-size-md);font-weight:600;margin:0 0 12px}.comparison-supplier{color:#111827;font-weight:600;margin-bottom:4px}.comparison-change{display:flex;flex-direction:column;gap:2px}.change-amount{font-size:var(--font-size-lg);font-weight:700}.change-amount.positive{color:#059669}.change-amount.neutral{color:#6b7280;font-size:var(--font-size-sm)}.change-percent{color:#6b7280;font-size:var(--font-size-xs)}.analysis-cta{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;margin-bottom:32px;padding:40px;text-align:center}.run-analysis-button{background:linear-gradient(135deg,#2251ff,#1a3fcc);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:var(--font-size-md);font-weight:600;padding:12px 36px;transition:all .2s}.run-analysis-button:hover:not(:disabled){box-shadow:0 8px 20px #3b82f666;transform:translateY(-2px)}.run-analysis-button:disabled{cursor:not-allowed;opacity:.7}.scenarios-section h2{color:#111827;font-size:var(--font-size-lg);font-weight:600;margin-bottom:16px}.scenarios-grid{grid-gap:20px;align-items:stretch;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.scenario-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;padding:16px;position:relative;transition:all .2s}.scenario-card:hover{border-color:#93c5fd}.scenario-card.selected{border-color:#2251ff;box-shadow:0 0 0 3px #2251ff1a}.scenario-card.recommended{background:linear-gradient(135deg,#fffbeb,#fef3c7)}.recommended-ribbon{background:#f59e0b;border-radius:0 10px 0 8px;color:#fff;font-size:var(--font-size-xs);font-weight:700;letter-spacing:.05em;padding:4px 10px;position:absolute;right:0;top:0}.scenario-header{flex:1 1}.scenario-header h3{color:#111827;font-size:var(--font-size-md);font-weight:600;margin:0 0 4px}.scenario-description{color:#6b7280;font-size:var(--font-size-xs);margin:0}.scenario-metrics{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:12px}.metric{background:#f9fafb;border-radius:8px;padding:8px;text-align:center}.metric-label{color:#6b7280;display:block;font-size:var(--font-size-xs);margin-bottom:2px}.metric-value{color:#111827;font-size:var(--font-size-lg);font-weight:700}.metric-value.positive{color:#059669}.metric-value small{font-size:var(--font-size-sm);font-weight:500}.scenario-risk-section{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.risk-badge{border:1px solid;border-radius:20px;font-size:var(--font-size-xs);font-weight:700;padding:4px 10px}.risk-factors{display:flex;gap:10px}.risk-factor{align-items:center;color:#6b7280;display:flex;font-size:var(--font-size-xs);gap:4px}.allocation-section{margin-bottom:12px;margin-top:auto}.allocation-label{color:#6b7280;display:block;font-size:var(--font-size-xs);margin-bottom:6px}.allocation-bar{border-radius:6px;display:flex;height:20px;margin-bottom:6px;overflow:hidden}.allocation-segment{align-items:center;color:#fff;display:flex;font-size:var(--font-size-xs);font-weight:600;justify-content:center;min-width:2px}.allocation-legend{display:flex;flex-wrap:wrap;gap:6px 12px}.legend-item{font-size:var(--font-size-xs);gap:4px}.legend-dot{border-radius:50%;height:8px;width:8px}.legend-name{color:#6b7280}.view-details-btn{background:#f3f4f6;border:none;border-radius:8px;color:#374151;cursor:pointer;font-size:var(--font-size-sm);padding:8px;width:100%}.view-details-btn:hover{background:#e5e7eb}.scenario-card-footer{padding-top:8px;text-align:center}.click-hint{color:#9ca3af;font-size:var(--font-size-xs)}.scenario-card.selected .click-hint{color:#2251ff;font-weight:600}.ai-recommendation{background:linear-gradient(135deg,#1a3fcc,#2251ff);border-radius:12px;color:#fff;margin-bottom:20px;padding:16px 20px}.ai-header{align-items:center;display:flex;gap:10px;margin-bottom:8px}.ai-icon{font-size:20px}.ai-header h3{font-size:var(--font-size-md);font-weight:600;margin:0}.ai-recommendation p{color:#ffffffe6;font-size:var(--font-size-sm);line-height:1.6;margin:0}.status-legend{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:24px;padding:16px}.status-legend h4{color:#374151;font-size:var(--font-size-sm);margin:0 0 8px}.legend-items{display:flex;flex-wrap:wrap;gap:12px}.legend-entry{align-items:center;color:#6b7280;display:flex;font-size:var(--font-size-xs);gap:6px}.material-details-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px;padding:24px}.material-details-section h3{font-size:var(--font-size-md);font-weight:600;margin:0 0 12px}.material-table-container{overflow-x:auto}.material-table{border-collapse:collapse;font-size:var(--font-size-xs);table-layout:fixed;width:100%}.material-table th{background:#0000;border-bottom:1px solid #e2e5ea;color:#8a94a6;font-size:var(--font-size-xs);font-weight:500;letter-spacing:.03em;padding:8px 12px;text-align:left;text-transform:uppercase}.material-table td,.material-table th{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-table td{border-bottom:1px solid #f0f1f3;color:var(--color-text-primary);font-size:var(--font-size-sm);padding:10px 12px}.material-table tbody tr:hover{background-color:#f9fafb}.material-table .numeric{font-family:SF Mono,Fira Code,monospace;font-size:var(--font-size-xs);text-align:right}.material-cell{line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:normal}.mat-name{font-size:var(--font-size-sm);font-weight:500}.mat-number{color:#9ca3af;font-size:var(--font-size-xs);margin-right:4px}.incumbent-cell{color:#6b7280;font-style:italic}.awarded-cell{display:flex;flex-direction:column}.new-supplier{color:#2563eb;font-weight:600}.positive{color:#059669}.neutral{color:#9ca3af}.needs-qual-row{background:#fef3c7}.switch-row{background:#fffbeb}.status-badge{font-size:var(--font-size-xs);font-weight:600;padding:2px 6px}.status-badge.ready{background:#ecfdf5;color:#059669}.status-badge.needs-qual{background:#fffbeb;color:#d97706}.status-badge.no-bid{background:#f3f4f6;color:#6b7280}.material-table tfoot td{background:#f9fafb;border-top:2px solid #e5e7eb;font-weight:600}.analysis-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.action-button{border-radius:8px;cursor:pointer;font-size:var(--font-size-sm);font-weight:600;padding:8px 16px;transition:all .2s}.action-button.primary{background:linear-gradient(135deg,#059669,#047857);border:none;color:#fff}.action-button.primary:hover{box-shadow:0 4px 12px #05966966;transform:translateY(-1px)}.action-button.secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.action-button.secondary:hover{background:#f9fafb}.modal-overlay{background:#00000080;padding:20px}.modal-content{background:#fff;border-radius:16px;display:flex;flex-direction:column;max-height:80vh;max-width:900px;overflow:hidden;width:100%}.modal-header{border-bottom:1px solid #e5e7eb;padding:20px 24px}.modal-header h2{font-size:var(--font-size-lg)}.modal-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:24px}.modal-body{overflow-y:auto;padding:24px}.supplier-comparison-detail{border-bottom:1px solid #e5e7eb;margin-bottom:24px;padding-bottom:24px}.supplier-comparison-detail:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.supplier-comp-header{margin-bottom:12px}.supplier-comp-header h3{font-size:var(--font-size-md);margin:0 0 8px}.comp-summary{align-items:center;color:#6b7280;display:flex;font-size:var(--font-size-sm);gap:12px}.comp-summary .arrow{color:#9ca3af}.comp-summary .improvement{background:#dcfce7;border-radius:4px;color:#166534;font-weight:600;padding:4px 8px}.comp-table{border-collapse:collapse;font-size:var(--font-size-xs);table-layout:fixed;width:100%}.comp-table th{background:#0000;border-bottom:1px solid #e2e5ea;color:#8a94a6;font-size:var(--font-size-xs);font-weight:500;letter-spacing:.03em;padding:8px 12px;text-align:left;text-transform:uppercase}.comp-table td,.comp-table th{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comp-table td{border-bottom:1px solid #f0f1f3;color:var(--color-text-primary);font-size:var(--font-size-sm);padding:10px 12px}.comp-table tbody tr:hover{background-color:#f9fafb}.bid-analysis-embedded{max-width:100%}.round-selector-compact{align-items:center;display:flex;gap:12px;margin-bottom:24px}.round-selector-label{color:#6b7280;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.round-pill-group{display:flex;gap:4px}.round-pill{background:#f3f4f6;border:none;border-radius:6px;color:#374151;cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:4px 12px;transition:all .15s}.round-pill:hover{background:#e5e7eb}.round-pill.active{background:#2251ff;color:#fff;font-weight:var(--font-weight-semibold)}.scenarios-grid-embedded{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.scenario-card-embedded{background:#fff;border:1px solid #e5e7eb;border-radius:10px;display:flex;flex-direction:column;padding:20px}.scenario-card-embedded.recommended{border-left:3px solid #2251ff}.scenario-badge-area{align-items:center;display:flex;height:22px;margin-bottom:6px}.recommended-badge-spacer{display:block;height:18px}.scenario-card-title{color:#111827;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0 0 12px}.recommended-badge{background:#2251ff;border-radius:4px;color:#fff;display:inline-block;font-size:10px;font-size:var(--font-size-badge,10px);font-weight:var(--font-weight-bold);letter-spacing:.04em;padding:2px 8px;white-space:nowrap}.scenario-spend-headline{color:#1a1f36;font-size:20px;font-size:var(--font-size-xl,20px);font-weight:var(--font-weight-bold);margin-bottom:2px}.scenario-spend-label{color:#8a94a6;font-size:var(--font-size-xs);margin-bottom:8px}.scenario-savings-line{color:#059669;font-size:13px;font-size:var(--font-size-base,13px);font-weight:var(--font-weight-semibold);margin-bottom:16px}.scenario-stats-row{border-top:1px solid #f0f1f3;display:flex;gap:16px;margin-top:auto;padding-top:12px}.scenario-stat{display:flex;flex-direction:column}.scenario-stat-value{color:#111827;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.scenario-stat-label{color:#8a94a6;font-size:var(--font-size-xs)}.ai-recommendation-embedded{background:#f7f8fa;border:1px solid #e2e5ea;border-radius:10px;margin-bottom:24px;padding:20px}.ai-rec-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.ai-rec-header h3{color:#111827;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0}.ai-recommendation-embedded p{color:#374151;font-size:var(--font-size-sm);line-height:1.6;margin:0}.material-breakdown-embedded{margin-bottom:24px}.scenario-pill-selector{align-items:center;display:flex;gap:8px;margin-bottom:16px}.pill-label,.scenario-pill{color:#6b7280;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.scenario-pill{background:#f3f4f6;border:1px solid #e2e5ea;border-radius:20px;cursor:pointer;padding:6px 14px;transition:all .15s}.scenario-pill:hover{background:#e5e7eb;color:#374151}.scenario-pill.active{background:#eef2ff;border-color:#2251ff;color:#2251ff;font-weight:var(--font-weight-semibold)}.embedded-material-table{table-layout:fixed}.embedded-material-table th{font-size:var(--font-size-xs);overflow:visible;padding:8px 12px;text-overflow:clip;white-space:normal}.embedded-material-table td{overflow:hidden;padding:10px 12px;text-overflow:ellipsis;white-space:nowrap}.embedded-material-table td,.embedded-material-table td.numeric{font-size:var(--font-size-sm)}.material-breakdown-embedded .material-table .mat-number{color:#111827;font-weight:var(--font-weight-semibold)}.material-breakdown-embedded .material-table .mat-name{color:#6b7280}.embedded-total-row td{background:#f9fafb;border-bottom:none!important;border-top:2px solid #e2e5ea!important;font-weight:var(--font-weight-bold)}.embedded-total-row .positive{color:#059669!important}.status-badge.switch{background:#fffbeb;color:#d97706}.export-section-embedded{display:flex;justify-content:flex-end;padding-top:8px}@media (max-width:768px){.bid-analysis{padding:16px}.round-control-bar{align-items:flex-start;flex-direction:column}.scenarios-grid,.scenarios-grid-embedded,.supplier-bids-grid{grid-template-columns:1fr}.analysis-actions{flex-direction:column}.action-button{text-align:center;width:100%}.scenario-pill-selector{flex-wrap:wrap}}.rfp-detail{margin:0 auto;max-width:1400px;padding:var(--space-2xl)}.detail-header{margin-bottom:var(--space-2xl)}.back-button{background:none;border:none;color:var(--color-brand);cursor:pointer;font-size:var(--text-body);font-weight:var(--weight-medium);margin-bottom:var(--space-md);padding:var(--space-xs) 0;transition:color var(--transition-fast)}.back-button:hover{color:var(--color-brand-hover)}.header-top{align-items:flex-start;display:flex;justify-content:space-between}.detail-header h1{color:var(--color-text-primary);letter-spacing:-.01em;margin-bottom:var(--space-xs)}.detail-header h1,.title-input{font-size:var(--text-page-title);font-weight:var(--weight-bold)}.title-input{border:2px solid var(--color-brand);border-radius:var(--radius-lg);max-width:600px;padding:var(--space-sm);width:100%}.rfp-number{color:var(--color-text-muted);font-size:var(--text-body);font-weight:var(--weight-medium)}.header-actions{display:flex;gap:var(--space-md)}.edit-button{background:var(--color-brand);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:var(--text-body);font-weight:var(--weight-semibold);padding:8px 16px;transition:all var(--transition-fast)}.edit-button:hover{background:var(--color-brand-hover);box-shadow:0 2px 8px #2251ff40}.save-button{background:var(--color-success);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:var(--text-body);font-weight:var(--weight-semibold);padding:8px 16px;transition:all var(--transition-fast)}.save-button:hover{background:#047857}.cancel-button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;font-size:var(--text-body);font-weight:var(--weight-medium);padding:8px 16px;transition:all var(--transition-fast)}.cancel-button:hover{background:var(--color-bg);border-color:var(--color-text-muted)}.info-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);padding:var(--space-2xl)}.card-header,.info-card{margin-bottom:var(--space-xl)}.card-header{align-items:center;display:flex;justify-content:space-between}.info-card h2{color:var(--color-text-primary);font-size:var(--text-section-header);font-weight:var(--weight-semibold);margin-bottom:var(--space-xl)}.card-header h2{margin-bottom:0}.add-button{background:var(--color-brand);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:var(--text-body);font-weight:var(--weight-semibold);padding:6px 14px;transition:all var(--transition-fast)}.add-button:hover{background:var(--color-brand-hover);box-shadow:0 2px 8px #2251ff40}.info-grid{grid-gap:var(--space-xl);display:grid;gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{display:flex;flex-direction:column;gap:var(--space-xs)}.info-label{color:var(--color-text-muted);font-size:var(--text-caption);font-weight:var(--weight-medium);letter-spacing:.05em;text-transform:uppercase}.info-value{color:var(--color-text-primary);font-weight:var(--weight-semibold)}.date-input,.info-value{font-size:var(--text-body)}.date-input{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm);transition:border-color var(--transition-fast)}.date-input:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-muted);outline:none}.status-badge{border-radius:100px;display:inline-block;font-size:var(--text-small);font-weight:var(--weight-semibold);letter-spacing:.03em;padding:2px 10px;text-transform:uppercase}.status-badge.draft{background-color:var(--color-bg);color:var(--color-text-muted)}.status-badge.active,.status-badge.published,.status-badge.sent{background-color:var(--color-brand-light);color:var(--color-brand)}.status-badge.awarded,.status-badge.completed{background-color:var(--color-success-light);color:var(--color-success)}.status-badge.cancelled{background-color:var(--color-danger-light);color:var(--color-danger)}.bidding-toggle{align-items:center;display:flex;gap:var(--space-sm)}.bidding-status{font-size:var(--text-body);font-weight:var(--weight-semibold)}.bidding-status.open{color:var(--color-success)}.bidding-status.closed{color:var(--color-text-muted)}.toggle-btn{border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-caption);font-weight:var(--weight-medium);padding:4px 12px;transition:all var(--transition-fast)}.toggle-btn.close-btn{background:#0000;border:1px solid #0000;color:var(--color-danger)}.toggle-btn.close-btn:hover{background:var(--color-danger-light);border-color:#dc262626}.toggle-btn.open-btn{background:#0000;border:1px solid #0000;color:var(--color-success)}.toggle-btn.open-btn:hover{background:var(--color-success-light);border-color:#05966926}.table-container{overflow-x:auto}.data-table{border-collapse:collapse;table-layout:fixed;width:100%}.data-table th{background-color:initial;border-bottom:1px solid #e2e5ea;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:.03em;padding:8px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.data-table td{border-bottom:1px solid #f0f1f3;color:var(--color-text-primary);font-size:var(--font-size-sm);overflow:hidden;padding:10px 12px;text-overflow:ellipsis;white-space:nowrap}.data-table tbody tr:hover{background-color:#f9fafb}.remove-button{background:#0000;border:1px solid #0000;border-radius:var(--radius-md);color:var(--color-danger);cursor:pointer;font-size:var(--text-caption);font-weight:var(--weight-medium);padding:4px 10px;transition:all var(--transition-fast)}.remove-button:hover{background:var(--color-danger-light);border-color:#dc262626}.bid-file-button{background:#0000;border:1px solid #0000;border-radius:var(--radius-md);color:#2251ff;cursor:pointer;font-size:var(--text-caption);font-weight:var(--weight-medium);padding:4px 10px;transition:all var(--transition-fast);white-space:nowrap}.bid-file-button:hover{background:#f0f4ff;border-color:#2251ff26}.action-buttons{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-xl)}.action-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;font-size:var(--text-body);font-weight:var(--weight-medium);padding:10px 20px;transition:all var(--transition-fast)}.action-btn:hover{background:var(--color-bg);border-color:var(--color-text-muted);color:var(--color-text-primary)}.action-btn.primary{background:var(--color-brand);border-color:var(--color-brand);color:#fff}.action-btn.primary:hover{background:var(--color-brand-hover);box-shadow:0 2px 8px #2251ff40}.action-btn.success{background:var(--color-success);border-color:var(--color-success);color:#fff}.action-btn.success:hover{background:#047857}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.invite-modal{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-height:80vh;max-width:640px;overflow-y:auto;width:90%}.modal-header{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;padding:var(--space-xl) var(--space-2xl)}.modal-header h2{font-size:var(--text-section-header);font-weight:var(--weight-semibold);margin:0}.close-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;width:32px}.close-btn:hover{background:var(--color-bg);color:var(--color-text-primary)}.modal-description{color:var(--color-text-secondary);font-size:var(--text-body);padding:var(--space-lg) var(--space-2xl)}.modal-search{padding:0 var(--space-2xl) var(--space-lg)}.search-input{border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-body);padding:var(--space-sm) var(--space-lg);transition:border-color var(--transition-fast);width:100%}.search-input:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-muted)}.error,.loading{color:var(--color-text-muted);font-size:var(--text-body);padding:var(--space-4xl);text-align:center}.error{color:var(--color-danger)}.negotiation-deck{margin:0 auto;max-width:1200px;padding:24px}.generating-container{height:400px}.generating-spinner{animation:deck-spin .8s linear infinite;border:3px solid #e5e7eb}@keyframes deck-spin{to{transform:rotate(1turn)}}.generating-container h2{color:#111827;font-size:20px;font-weight:600;margin:0}.generating-container p{color:#6b7280;font-size:14px;margin:0}.deck-header{margin-bottom:24px}.deck-header-top{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.back-link{color:#2251ff;display:inline-block;font-size:14px;margin-bottom:8px;padding:8px 0}.back-link:hover{color:#1a3fd4}.deck-header h1{color:#111827;font-size:28px;font-weight:700;margin:0 0 4px}.deck-subtitle{color:#6b7280;font-size:14px;margin:0}.deck-actions{align-items:flex-start;display:flex;gap:12px;padding-top:8px}.btn-regenerate{font-weight:500;padding:8px 16px;transition:all .15s}.btn-regenerate:disabled{cursor:not-allowed;opacity:.5}.supplier-info-bar{background:linear-gradient(135deg,#1e3a8a,#1e40af);border-radius:12px;flex-wrap:wrap;justify-content:space-between;margin-bottom:24px;padding:20px 24px}.supplier-info-bar,.supplier-info-left{align-items:center;display:flex;gap:16px}.supplier-info-left h2{color:#fff;font-size:20px;font-weight:600;margin:0}.classification-badge{border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.04em;padding:4px 12px;text-transform:uppercase}.classification-badge.incumbent{background:#fff3;color:#fff}.classification-badge.approved{background:#10b98133;color:#6ee7b7}.classification-badge.challenger{background:#fbbf2433;color:#fde68a}.supplier-info-stats{display:flex;gap:32px}.info-stat{text-align:center}.info-stat-value{color:#fff;font-size:18px;font-weight:700}.info-stat-label{color:#ffffffb3;font-size:11px;letter-spacing:.03em;text-transform:uppercase}.deck-slide{background:#fff;border:1px solid #e2e5ea;border-radius:12px;margin-bottom:24px;overflow:hidden}.slide-header{align-items:center;background:#fafbfc;border-bottom:1px solid #f0f1f3;display:flex;justify-content:space-between;padding:16px 24px}.slide-header-left{align-items:center;display:flex;gap:12px}.slide-number{align-items:center;background:#2251ff;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:13px;font-weight:600;height:28px;justify-content:center;width:28px}.slide-header h3{color:#111827;font-size:15px;font-weight:600;margin:0}.slide-body{padding:24px}.editable-text{background:#0000;border:1px solid #0000;border-radius:8px;color:#374151;font-family:inherit;font-size:14px;line-height:1.6;min-height:120px;overflow-y:auto;padding:12px;resize:vertical;transition:border-color .15s,background .15s;width:100%}.editable-text.editable-text-autosize{overflow:hidden;resize:none}.editable-text:hover{background:#f8f9fb;border-color:#e2e5ea}.editable-text:focus{background:#fff;border-color:#2251ff;box-shadow:0 0 0 3px #2251ff1a;outline:none}.editable-hint{color:#8a94a6;font-size:11px;font-style:italic;margin-top:4px}.title-slide-content{padding:40px 24px;text-align:center}.title-slide-content h2{color:#111827;font-size:28px;font-weight:700;margin:0 0 8px}.title-slide-subtitle{color:#2251ff;font-size:18px;font-weight:500;margin:0 0 24px}.title-slide-date{color:#6b7280;font-size:14px;margin:0}.initiative-headline{color:#111827;font-size:18px;font-weight:600;margin:0 0 16px}.process-steps{display:flex;gap:0;margin:24px 0;position:relative}.process-step{flex:1 1;padding:16px 8px;position:relative;text-align:center}.process-step:after{background:#e2e5ea;content:"";height:2px;position:absolute;right:-50%;top:26px;width:100%;z-index:0}.process-step:last-child:after{display:none}.step-number{align-items:center;background:#e2e5ea;border-radius:50%;color:#6b7280;display:flex;font-size:13px;font-weight:600;height:32px;justify-content:center;margin:0 auto 8px;position:relative;width:32px;z-index:1}.process-step.active .step-number{background:#2251ff;box-shadow:0 0 0 3px #2251ff33;color:#fff}.process-step.completed .step-number{background:#059669;color:#fff}.process-step.completed:after{background:#059669}.process-step.active:after{background:#e2e5ea}.step-label{color:#6b7280;font-size:12px;line-height:1.4}.process-step.active .step-label{color:#2251ff;font-weight:600}.process-step.completed .step-label{color:#059669;font-weight:500}.key-messages{background:#f0f4ff;border-left:3px solid #2251ff;border-radius:8px;margin-top:24px;padding:16px 20px}.key-messages h4{color:#1e3a8a;font-size:12px;font-weight:600;letter-spacing:.03em;margin:0 0 12px;text-transform:uppercase}.key-messages ul{margin:0;padding-left:20px}.key-messages li{color:#374151;font-size:14px;line-height:1.6;margin-bottom:6px}.market-placeholder{background:#fafbfc;border:2px dashed #e2e5ea;border-radius:8px;padding:40px 24px;text-align:center}.market-placeholder-icon{color:#8a94a6;height:48px;margin:0 auto 16px;width:48px}.market-placeholder h4{color:#374151;font-size:16px;font-weight:600;margin:0 0 8px}.market-placeholder p{color:#6b7280;font-size:14px;margin:0 auto 16px;max-width:500px}.market-text-input{border:1px solid #e2e5ea;border-radius:8px;color:#374151;font-family:inherit;font-size:14px;line-height:1.6;margin-top:12px;min-height:120px;padding:16px;resize:vertical;width:100%}.market-text-input:focus{border-color:#2251ff;box-shadow:0 0 0 3px #2251ff1a;outline:none}.pricing-summary{background:#f8f9fb;border-radius:8px;color:#374151;font-size:14px;line-height:1.6;margin-bottom:24px;padding:16px 20px}.strengths-improvements{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:24px}.si-card{border:1px solid;border-radius:8px;padding:16px 20px}.si-card.strengths{background:#f0fdf4;border-color:#bbf7d0}.si-card.improvements{background:#fff7ed;border-color:#fed7aa}.si-card h4{font-size:12px;font-weight:600;letter-spacing:.03em;margin:0 0 12px;text-transform:uppercase}.si-card.strengths h4{color:#166534}.si-card.improvements h4{color:#9a3412}.si-card ul{margin:0;padding-left:18px}.si-card li{font-size:13px;line-height:1.5;margin-bottom:6px}.si-card.strengths li{color:#15803d}.si-card.improvements li{color:#c2410c}.material-feedback-table{border:1px solid #e2e5ea;border-collapse:initial;border-radius:8px;border-spacing:0;margin-bottom:16px;overflow:hidden;table-layout:fixed;width:100%}.material-feedback-table th{background:#f8f9fb;border-bottom:1px solid #e2e5ea;color:#6b7280;font-size:11px;font-weight:600;letter-spacing:.03em;overflow:hidden;padding:10px 16px;text-align:left;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.material-feedback-table td{word-wrap:break-word;border-bottom:1px solid #f0f1f3;color:#374151;font-size:13px;padding:12px 16px;vertical-align:top;white-space:normal}.material-feedback-table tr:last-child td{border-bottom:none}.position-badge{border-radius:12px;font-size:11px;font-weight:600;padding:3px 10px;white-space:nowrap}.position-badge.leading{background:#dcfce7;color:#166534}.position-badge.competitive{background:#dbeafe;color:#1e40af}.position-badge.above-market{background:#fef3c7;color:#92400e}.position-badge.significantly-above{background:#fee2e2;color:#991b1b}.price-cell{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.target-price{color:#2251ff;font-weight:600}.material-detail-row{background:#fafbfc}.material-detail-content{padding:12px 16px 16px}.detail-feedback{color:#374151;font-size:13px;line-height:1.5;margin-bottom:8px}.talking-points{margin:8px 0 0;padding-left:18px}.talking-points li{color:#4b5563;font-size:13px;line-height:1.5;margin-bottom:4px}.target-rationale{color:#6b7280;font-size:12px;font-style:italic;margin-top:6px}.material-row{cursor:pointer;transition:background .1s}.material-row:hover{background:#f8f9fb}.expand-icon{color:#8a94a6;display:inline-block;font-size:12px;transition:transform .2s;width:16px}.expand-icon.expanded{transform:rotate(90deg)}.summary-redesigned{display:flex;flex-direction:column;padding:4px 8px}.summary-section-label{letter-spacing:.06em;margin-bottom:16px}.summary-takeaways{padding:0}.summary-takeaways-list{list-style:none;margin:0;padding-left:0}.summary-takeaways-list li{align-items:flex-start;color:#374151;display:flex;font-size:14px;line-height:1.6;margin-bottom:14px}.summary-takeaways-list li:before{background:#8a94a6;border-radius:50%;content:"";flex-shrink:0;height:6px;margin-right:12px;margin-top:8px;width:6px}.summary-takeaways-list li:last-child{margin-bottom:0}.summary-takeaway-input{background:#0000!important;border:1px solid #0000!important;border-radius:4px!important;color:#374151!important;flex:1 1;font-family:inherit;font-size:14px!important;height:auto!important;line-height:1.6!important;margin:0!important;min-height:0!important;min-height:auto!important;padding:0!important;resize:none!important;transition:border-color .15s,background .15s}.summary-takeaway-input:hover{background:#f8f9fb!important;border-color:#e2e5ea!important}.summary-takeaway-input:focus{background:#fff!important;border-color:#2251ff!important;box-shadow:0 0 0 3px #2251ff1a;outline:none;padding:4px 8px!important}.summary-divider{background:#e2e5ea;height:1px;margin:32px 0}.summary-next-steps-blocks{padding:0}.summary-next-block{margin-bottom:28px}.summary-next-block:last-child{margin-bottom:0}.summary-block-subheader{color:#111827;font-size:14px;font-weight:600;letter-spacing:-.01em;margin-bottom:10px}.summary-next-block .editable-text{background:#0000;border:1px solid #0000;border-radius:6px;color:#374151;font-size:14px;height:auto;line-height:1.7;min-height:0;min-height:auto;padding:0;transition:border-color .15s,background .15s;white-space:pre-line}.summary-next-block .editable-text:hover{background:#f8f9fb;border-color:#e2e5ea;padding:8px 12px}.summary-next-block .editable-text:focus{background:#fff;border-color:#2251ff;box-shadow:0 0 0 3px #2251ff1a;outline:none;padding:8px 12px}.round-comparison-headline{color:#111827;font-size:18px;font-weight:600;line-height:1.4;margin:0 0 20px}.round-stats-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:28px}.round-stat-card{background:#f8f9fb;border:1px solid #f0f1f3;border-radius:10px;padding:16px;text-align:center}.round-stat-value{color:#111827;font-size:24px;font-weight:700;line-height:1;margin-bottom:4px}.round-stat-value.positive{color:#059669}.round-stat-value.negative{color:#dc2626}.round-stat-label{color:#8a94a6;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.round-movement-chart{margin-bottom:24px}.round-movement-header{border-bottom:1px solid #e2e5ea;margin-bottom:8px;padding-bottom:8px}.round-movement-header,.round-movement-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:200px 1fr 80px}.round-movement-row{align-items:center;border-bottom:1px solid #f0f1f3;padding:10px 0}.round-movement-row:last-of-type{border-bottom:none}.round-movement-label{min-width:0}.round-movement-bar-container{background:#f8f9fb;border-radius:4px;height:28px;position:relative}.round-movement-center-line{background:#d1d5db;bottom:0;left:50%;position:absolute;top:0;width:1px}.round-movement-bar{border-radius:3px;bottom:4px;position:absolute;top:4px}.round-movement-bar.improvement{background:#dcfce7;border:1px solid #bbf7d0}.round-movement-bar.regression{background:#fee2e2;border:1px solid #fecaca}.round-movement-unchanged{color:#8a94a6;font-size:11px;font-style:italic;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.round-movement-value{font-feature-settings:"tnum";color:#8a94a6;font-size:14px;font-variant-numeric:tabular-nums;font-weight:600;text-align:right}.round-movement-value.positive{color:#059669}.round-movement-value.negative{color:#dc2626}.round-movement-legend{border-top:1px solid #f0f1f3;display:flex;gap:24px;margin-top:16px;padding-top:12px}.internal-only-section{background:#fafafa;border:2px dashed #e5e7eb;border-radius:8px;margin-top:20px;padding:16px 20px;position:relative}.internal-only-banner{align-items:center;border-bottom:1px solid #e5e7eb;color:#991b1b;display:flex;font-size:11px;font-weight:700;gap:8px;letter-spacing:.04em;margin-bottom:12px;padding-bottom:12px;text-transform:uppercase}.internal-only-banner svg{color:#991b1b;flex-shrink:0}.internal-only-content{padding:0}.portfolio-overview{margin-bottom:24px}.portfolio-stats-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:28px}.portfolio-stat-card{background:#f8f9fb;border:1px solid #f0f1f3;border-radius:10px;padding:20px;text-align:center}.portfolio-stat-value{color:#111827;font-size:28px;font-weight:700;line-height:1;margin-bottom:4px}.portfolio-stat-value.positive{color:#059669}.portfolio-stat-value.negative{color:#dc2626}.portfolio-stat-value.neutral{color:#2251ff}.portfolio-stat-label{color:#8a94a6;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.portfolio-stat-sublabel{color:#6b7280;font-size:12px;margin-top:4px}.position-chart{margin-bottom:28px}.position-chart-title{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.03em;margin:0 0 16px;text-transform:uppercase}.position-chart-row{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:180px 1fr 80px;margin-bottom:12px}.position-chart-label{color:#374151;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.position-chart-label-sub{color:#8a94a6;font-size:11px;font-weight:400}.position-bar-container{background:#f0f1f3;border-radius:6px;height:32px;overflow:hidden;position:relative}.position-bar-lowest{background:#dbeafe;border-radius:6px 0 0 6px;height:100%;left:0;min-width:2px;position:absolute;top:0}.position-bar-gap{border-radius:0 6px 6px 0;height:100%;position:absolute;top:0}.position-bar-gap.gap-green{background:#dcfce7}.position-bar-gap.gap-amber{background:#fef3c7}.position-bar-gap.gap-red{background:#fee2e2}.position-bar-marker{background:#111827;border-radius:2px;bottom:2px;position:absolute;top:2px;width:3px;z-index:2}.position-bar-marker-label{color:#374151;font-size:11px;font-weight:600;left:8px;position:absolute;top:50%;transform:translateY(-50%);white-space:nowrap;z-index:3}.position-chart-gap-value{font-feature-settings:"tnum";font-size:13px;font-variant-numeric:tabular-nums;font-weight:600;text-align:right}.position-chart-gap-value.leading{color:#059669}.position-chart-gap-value.close{color:#d97706}.position-chart-gap-value.behind{color:#dc2626}.position-chart-legend{border-top:1px solid #f0f1f3;display:flex;gap:24px;margin-top:16px;padding-top:12px}.legend-item{align-items:center;color:#6b7280;display:flex;font-size:11px;gap:6px}.legend-swatch{border-radius:3px;height:12px;width:12px}.legend-swatch.lowest{background:#dbeafe}.legend-swatch.gap{background:#fef3c7}.legend-swatch.supplier{background:#111827;border-radius:2px;height:12px;width:3px}.value-impact-section{background:#f0f4ff;border:1px solid #dbeafe;border-radius:10px;padding:20px}.value-impact-title{color:#1e3a8a;font-size:12px;font-weight:600;letter-spacing:.03em;margin:0 0 16px;text-transform:uppercase}.value-impact-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.value-impact-item{text-align:center}.value-impact-value{color:#1e3a8a;font-size:20px;font-weight:700}.value-impact-label{color:#3b82f6;font-size:11px;letter-spacing:.04em;margin-top:2px;text-transform:uppercase}.error-container{padding:60px 24px}.error-container h2{color:#991b1b;font-size:20px;font-weight:600;margin:0 0 8px}.error-container p{margin:0 0 24px}.btn-primary{font-weight:500}.btn-primary:hover{background:#1a3fd4}.deck-view-toggle{background:#f8f9fb;border:1px solid #e2e5ea;border-radius:10px;display:flex;gap:0;margin-bottom:24px;overflow:hidden}.view-toggle-btn{align-items:center;background:#0000;border:none;color:#6b7280;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:14px 20px;transition:all .15s}.view-toggle-btn.active{background:#fff;box-shadow:var(--shadow-sm)}.view-toggle-btn.active.internal{color:#991b1b}.view-toggle-btn.active.supplier{color:#0c4a6e}.view-toggle-btn:hover:not(.active){background:#ffffff80;color:#374151}.section-banner{align-items:center;border-radius:10px;display:flex;font-size:12px;font-weight:700;gap:10px;letter-spacing:.04em;margin-bottom:20px;padding:12px 20px;text-transform:uppercase}.section-banner.internal-banner{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.section-banner.supplier-banner{background:#f0f9ff;border:1px solid #bae6fd;color:#0c4a6e}.internal-slide{border-color:#fecaca}.internal-slide .slide-number{background:#991b1b}.internal-slide .slide-header{background:#fef2f2;border-bottom-color:#fecaca}.internal-info-card{background:#fafafa;border:1px solid #f0f1f3;border-radius:8px;padding:16px 20px}.internal-executive-summary{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:20px}.leverage-points-list{display:flex;flex-direction:column;gap:12px}.leverage-point-item{align-items:flex-start;background:#f8f9fb;border:1px solid #f0f1f3;border-radius:8px;display:flex;gap:14px;padding:14px 16px}.leverage-point-number{align-items:center;background:#991b1b;border-radius:50%;color:#fff;display:flex;font-size:13px;font-weight:600;height:28px;justify-content:center;min-width:28px;width:28px}.leverage-point-text{color:#374151;font-size:14px;line-height:1.6;padding-top:3px}.internal-material-card{background:#fff;border:1px solid #e2e5ea;border-radius:10px;margin-bottom:16px;padding:20px}.internal-material-card:last-child{margin-bottom:0}.internal-material-header{align-items:center;border-bottom:1px solid #f0f1f3;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.internal-material-header h4{color:#111827;font-size:15px;font-weight:600;margin:0}.internal-material-number{color:#8a94a6;font-family:monospace;font-size:12px}.internal-tactics-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-top:16px}.internal-tactic-card{border:1px solid;border-radius:8px;padding:12px 14px}.internal-tactic-card.push{background:#fef2f2;border-color:#fecaca}.internal-tactic-card.concede{background:#f0fdf4;border-color:#bbf7d0}.internal-tactic-card.risk{background:#fffbeb;border-color:#fde68a}.internal-tactic-label{font-size:11px;font-weight:700;letter-spacing:.03em;margin-bottom:8px;text-transform:uppercase}.internal-tactic-card.push .internal-tactic-label{color:#991b1b}.internal-tactic-card.concede .internal-tactic-label{color:#166534}.internal-tactic-card.risk .internal-tactic-label{color:#92400e}.internal-tactic-card ul{margin:0;padding-left:16px}.internal-tactic-card li{color:#374151;font-size:12px;line-height:1.5;margin-bottom:4px}@media (max-width:768px){.strengths-improvements,.summary-footer{grid-template-columns:1fr}.round-stats-row{grid-template-columns:repeat(2,1fr)}.round-movement-header,.round-movement-row{grid-template-columns:140px 1fr 60px}.supplier-info-bar{align-items:flex-start;flex-direction:column}.supplier-info-stats{flex-wrap:wrap;gap:16px}.process-steps{flex-direction:column;gap:8px}.process-step:after{display:none}.material-feedback-table{font-size:12px}.internal-tactics-row{grid-template-columns:1fr}.deck-view-toggle{flex-direction:column}}.executive-summary{background:#f8f9fb;margin:0 auto;max-width:800px;min-height:100vh;padding:24px}.generating-container{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:400px}.generating-spinner{animation:summary-spin .8s linear infinite;border:3px solid #e2e5ea;border-radius:50%;border-top-color:#2251ff;height:48px;width:48px}@keyframes summary-spin{to{transform:rotate(1turn)}}.generating-text{color:#111827;font-size:16px;font-weight:600}.generating-subtext{color:#8a94a6;font-size:13px}.error-container{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;min-height:400px;text-align:center}.error-container h3{color:#111827;font-size:18px;font-weight:600;margin:0}.error-container p{color:#6b7280;font-size:14px;margin:0;max-width:400px}.back-link{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:inline-flex;font-size:13px;gap:4px;margin-bottom:16px;padding:0;transition:color .15s}.back-link:hover{color:#2251ff}.summary-header{margin-bottom:24px}.summary-header-top{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.summary-title{color:#111827;font-size:22px;font-weight:700;margin:0 0 4px}.summary-subtitle{color:#6b7280;font-size:14px}.summary-actions{display:flex;flex-shrink:0;gap:10px}.btn-primary{background:#2251ff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:background .15s}.btn-primary:hover{background:#1a41cc}.btn-secondary{background:#fff;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:border-color .15s,background .15s}.btn-secondary:hover{background:#f8f9fb;border-color:#d1d5db}.btn-regenerate{align-items:center;background:#fff;border:1px solid #e2e5ea;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:10px 16px;transition:border-color .15s,background .15s}.btn-regenerate:hover{background:#f8f9fb;border-color:#d1d5db}.btn-copy{align-items:center;background:#2251ff;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:10px 20px;transition:background .2s;white-space:nowrap}.btn-copy:hover{background:#1a41cc}.btn-copy.copied{background:#059669}.summary-stats-bar{background:#fff;border:1px solid #e2e5ea;border-radius:12px;display:flex;justify-content:space-between;margin-bottom:20px;padding:16px 24px}.stat-item{flex:1 1;text-align:center}.stat-value{color:#111827;font-size:20px;font-weight:700}.stat-value.savings{color:#059669}.stat-label{color:#8a94a6;font-size:11px;font-weight:600;letter-spacing:.03em;margin-top:2px;text-transform:uppercase}.edit-hint{align-items:center;color:#8a94a6;display:flex;font-size:12px;gap:6px;margin-bottom:16px;padding:0 4px}.summary-section-card{background:#fff;border:1px solid #e2e5ea;border-radius:12px;cursor:text;margin-bottom:12px;padding:20px 24px;position:relative;transition:border-color .15s}.summary-section-card:hover{border-color:#d1d5db}.section-edit-icon{color:#b0b8c4;opacity:0;pointer-events:none;position:absolute;right:16px;top:16px;transition:opacity .2s}.summary-section-card:hover .section-edit-icon{opacity:1}.summary-section-card:focus-within .section-edit-icon{opacity:0}.summary-section-card:focus-within{border-color:#2251ff;box-shadow:0 0 0 3px #2251ff14}.summary-section-label{color:#8a94a6;font-size:11px;font-weight:600;letter-spacing:.03em;margin-bottom:10px;text-transform:uppercase}.subject-line-input{background:#0000;border:1px solid #0000;border-radius:6px;box-sizing:border-box;color:#111827;font-family:inherit;font-size:15px;font-weight:600;padding:8px 10px;transition:border-color .15s,background .15s;width:100%}.subject-line-input:hover{background:#f8f9fb}.subject-line-input:focus{background:#fff;border-color:#2251ff;outline:none}.summary-editable-text{background:#0000;border:1px solid #0000;border-radius:6px;box-sizing:border-box;color:#374151;font-family:inherit;font-size:14px;line-height:1.7;min-height:60px;overflow:hidden;padding:10px;resize:vertical;transition:border-color .15s,background .15s;width:100%}.summary-editable-text:hover{background:#f8f9fb}.summary-editable-text:focus{background:#fff;border-color:#2251ff;outline:none;overflow:auto}.summary-footer{padding:20px 0 40px;text-align:center}.footer-text{color:#8a94a6;font-size:12px;font-style:italic}@media (max-width:768px){.executive-summary{padding:16px}.summary-header-top{flex-direction:column}.summary-actions{width:100%}.btn-copy,.btn-regenerate{flex:1 1;justify-content:center}.summary-stats-bar{flex-wrap:wrap;gap:12px}.stat-item{min-width:80px}}.rfp-snapshot{background:#f8f9fb;margin:0 auto;max-width:1100px;min-height:100vh;padding:24px}.snapshot-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;text-align:center}.snapshot-spinner{animation:snapshot-spin .8s linear infinite;border:3px solid #e2e5ea;border-radius:50%;border-top-color:#2251ff;height:40px;width:40px}@keyframes snapshot-spin{to{transform:rotate(1turn)}}.snapshot-back{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:inline-flex;font-size:13px;gap:4px;margin-bottom:16px;padding:0;transition:color .15s}.snapshot-back:hover{color:#2251ff}.snapshot-slide{background:#fff;border:1px solid #e2e5ea;border-radius:12px;box-shadow:var(--shadow-md);overflow:hidden}.snapshot-header{background:linear-gradient(135deg,#1a3fcc,#2251ff);padding:28px 32px}.snapshot-header-top{align-items:flex-start;display:flex;justify-content:space-between}.snapshot-header h1{color:#fff;font-size:22px;font-weight:700;line-height:1.3;margin:0 0 6px}.snapshot-meta{color:#ffffffbf;font-size:13px}.snapshot-status-badge{border-radius:20px;color:#fff;flex-shrink:0;font-size:12px;font-weight:600;padding:5px 14px;white-space:nowrap}.snapshot-stats-row{border-bottom:1px solid #e2e5ea;display:grid;grid-template-columns:repeat(4,1fr)}.snapshot-stat{border-right:1px solid #e2e5ea;padding:20px 24px;text-align:center}.snapshot-stat:last-child{border-right:none}.snapshot-stat-value{color:#111827;font-size:24px;font-weight:700}.snapshot-stat-label{margin-top:4px}.snapshot-section-label,.snapshot-stat-label{color:#8a94a6;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.snapshot-section-label{margin-bottom:14px}.snapshot-scenarios{border-bottom:1px solid #e2e5ea;padding:24px 32px}.scenario-bars{display:flex;flex-direction:column;gap:10px}.scenario-row{align-items:center;display:flex;gap:12px}.scenario-name{color:#374151;flex-shrink:0;font-size:12px;font-weight:600;text-align:right;width:120px}.scenario-bar-container{background:#f0f1f3;border-radius:4px;flex:1 1;height:24px;overflow:hidden}.scenario-bar{border-radius:4px;height:100%;transition:width .3s ease}.scenario-bar.current{background:#8a94a6}.scenario-bar.best{background:#059669}.scenario-bar.worst{background:#f59e0b}.scenario-bar.custom{background:#2251ff}.scenario-value{color:#111827;flex-shrink:0;font-size:13px;font-weight:600;width:160px}.scenario-savings{color:#059669;font-weight:500}.snapshot-suppliers{border-bottom:1px solid #e2e5ea;padding:24px 32px}.snapshot-suppliers table{border-collapse:collapse;width:100%}.snapshot-suppliers th{border-bottom:1px solid #e2e5ea;color:#8a94a6;font-size:11px;font-weight:600;letter-spacing:.03em;padding:8px 12px;text-align:left;text-transform:uppercase}.snapshot-suppliers td{border-bottom:1px solid #f0f1f3;color:#111827;font-size:13px;padding:10px 12px}.snapshot-suppliers tbody tr:last-child td{border-bottom:none}.supplier-type-badge{border-radius:10px;display:inline-block;font-size:10px;font-weight:700;letter-spacing:.04em;padding:2px 8px}.supplier-type-badge.incumbent{background:#eef2ff;color:#2251ff}.supplier-type-badge.approved{background:#ecfdf5;color:#059669}.supplier-type-badge.challenger{background:#fffbeb;color:#d97706}.snapshot-dates{border-bottom:1px solid #e2e5ea;display:flex;gap:40px;padding:20px 32px}.snapshot-date-item{display:flex;flex-direction:column;gap:2px}.snapshot-date-label{color:#8a94a6;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.snapshot-date-value{color:#111827;font-size:14px;font-weight:600}.snapshot-footer{background:#f8f9fb;color:#6b7280;font-size:13px;line-height:1.5;padding:16px 32px}@media (max-width:768px){.rfp-snapshot{padding:16px}.snapshot-header{padding:20px}.snapshot-stats-row{grid-template-columns:repeat(2,1fr)}.snapshot-stat{border-bottom:1px solid #e2e5ea}.snapshot-dates,.snapshot-scenarios,.snapshot-suppliers{padding:20px}.scenario-name{font-size:11px;width:80px}.scenario-value{font-size:12px;width:100px}.snapshot-dates{flex-direction:column;gap:12px}}.interview-page{margin:0 auto;max-width:800px;padding:var(--space-2xl) var(--space-page-padding)}.interview-page--wide{max-width:1040px}.interview-header{margin-bottom:var(--space-3xl)}.interview-title{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);margin-bottom:var(--space-xl)}.interview-body{min-height:400px}.interview-steps{align-items:center;display:flex;gap:0}.interview-step{align-items:center;display:flex;gap:var(--space-sm)}.interview-step-circle{align-items:center;background:var(--color-bg);border:2px solid var(--color-border);border-radius:50%;color:var(--color-text-muted);display:flex;flex-shrink:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);height:28px;justify-content:center;transition:all var(--transition-normal);width:28px}.interview-step--active .interview-step-circle{background:var(--color-brand);border-color:var(--color-brand);color:#fff}.interview-step--complete .interview-step-circle{background:var(--color-success);border-color:var(--color-success);color:#fff}.interview-step-label{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap}.interview-step--active .interview-step-label{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.interview-step--complete .interview-step-label{color:var(--color-success)}.interview-step-connector{background:var(--color-border);flex:1 1;height:2px;margin:0 var(--space-md);min-width:24px}.interview-step-connector--active{background:var(--color-success)}.interview-step-content{animation:interview-fadeIn var(--transition-smooth)}@keyframes interview-fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.interview-step-header{margin-bottom:var(--space-2xl)}.interview-step-title{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-sm)}.interview-step-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}.interview-loading{align-items:center;display:flex;justify-content:center;min-height:300px}.interview-error{background:var(--color-danger-light);border:1px solid var(--color-danger);border-radius:var(--radius-md);display:flex;font-size:var(--font-size-base);gap:var(--space-md);margin-bottom:var(--space-lg);padding:var(--space-lg)}.interview-error,.interview-error-retry{align-items:center;color:var(--color-danger)}.interview-error-retry{background:#fff;border:1px solid var(--color-danger);border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);transition:background var(--transition-fast);white-space:nowrap}.interview-error-retry:hover{background:var(--color-danger-light)}.interview-select-controls{align-items:center;display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg)}.interview-select-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-brand);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--space-xs) var(--space-md);transition:all var(--transition-fast)}.interview-select-btn:hover{background:var(--color-brand-light);border-color:var(--color-brand)}.interview-select-count{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-left:auto}.interview-category-grid{grid-gap:var(--space-card-gap);display:grid;gap:var(--space-card-gap);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-bottom:var(--space-2xl)}.interview-category-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;padding:var(--space-lg);position:relative;transition:all var(--transition-normal)}.interview-category-card:hover{border-color:var(--color-brand);box-shadow:var(--shadow-md)}.interview-category-card--selected{background:var(--color-brand-light);border-color:var(--color-brand);box-shadow:0 0 0 1px var(--color-brand)}.interview-category-card-check{align-items:center;background:var(--color-brand);border-radius:50%;color:#fff;display:flex;height:20px;justify-content:center;opacity:0;position:absolute;right:var(--space-sm);top:var(--space-sm);transform:scale(.8);transition:all var(--transition-fast);width:20px}.interview-category-card--selected .interview-category-card-check{opacity:1;transform:scale(1)}.interview-category-card-name{color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-sm)}.interview-category-card-meta{display:flex;flex-direction:column;gap:var(--space-xs)}.interview-category-card-stat{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);gap:var(--space-xs)}.interview-category-card-stat svg{flex-shrink:0}.interview-actions{border-top:1px solid var(--color-border-light);display:flex;justify-content:flex-end;margin-top:var(--space-lg);padding-top:var(--space-2xl)}.interview-actions--split{justify-content:space-between}.interview-actions-left,.interview-actions-right{align-items:center;display:flex;gap:var(--space-lg)}.interview-entity-summary{align-items:center;display:flex;gap:var(--space-sm);margin-bottom:var(--space-2xl)}.interview-entity-summary-label{color:var(--color-text-muted);font-size:var(--font-size-sm)}.interview-entity-section{margin-bottom:var(--space-2xl)}.interview-entity-section-title{color:var(--color-text-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--space-md);text-transform:uppercase}.interview-entity-list{border:1px solid var(--color-border-light);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-xs);max-height:280px;overflow-y:auto;padding:var(--space-sm)}.interview-entity-item{align-items:center;border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:var(--space-md);padding:var(--space-sm) var(--space-md);transition:background var(--transition-fast)}.interview-entity-item:hover{background:var(--color-bg)}.interview-checkbox{accent-color:var(--color-brand);cursor:pointer;flex-shrink:0;height:16px;width:16px}.interview-entity-item-name{color:var(--color-text-primary);flex:1 1;font-size:var(--font-size-base)}.interview-entity-empty{color:var(--color-text-muted);font-size:var(--font-size-base);padding:var(--space-lg);text-align:center}.interview-question-progress{margin-bottom:var(--space-2xl)}.interview-question-progress-text{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--space-sm)}.interview-question-progress-bar{background:var(--color-border-light);border-radius:2px;height:4px;overflow:hidden;width:100%}.interview-question-progress-fill{background:var(--color-brand);border-radius:2px;height:100%;transition:width var(--transition-smooth)}.interview-question-card{margin-bottom:var(--space-lg)}.interview-question-context{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--space-md);text-transform:uppercase}.interview-question-text{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);line-height:var(--line-height-relaxed);margin-bottom:var(--space-xl)}.interview-answer-area{display:flex;flex-direction:column;gap:var(--space-md)}.interview-textarea{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);min-height:120px;padding:var(--space-md);resize:vertical;transition:border-color var(--transition-fast);width:100%}.interview-textarea:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-muted);outline:none}.interview-textarea::placeholder{color:var(--color-text-placeholder)}.interview-textarea:disabled{background:var(--color-bg);cursor:not-allowed}.interview-answer-controls{align-items:center;display:flex;gap:var(--space-md)}.interview-voice-btn{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--space-sm);padding:var(--space-sm) var(--space-md);transition:all var(--transition-fast)}.interview-voice-btn:hover{border-color:var(--color-brand);color:var(--color-brand)}.interview-voice-btn--recording{animation:interview-pulse 1.5s ease-in-out infinite;background:var(--color-danger-light);border-color:var(--color-danger);color:var(--color-danger)}@keyframes interview-pulse{0%,to{box-shadow:0 0 0 0 #dc26264d}50%{box-shadow:0 0 0 6px #dc262600}}.interview-voice-btn--transcribing{background:var(--color-surface);border-color:var(--color-brand);color:var(--color-brand);cursor:wait;opacity:.8}.interview-spinner{animation:interview-spin 1s linear infinite}@keyframes interview-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.interview-answer-swap{min-height:140px;position:relative}.interview-answer-layer{opacity:1;transform:translateY(0);transition:opacity .3s ease,transform .3s ease}.interview-answer-layer--hidden{inset:0;opacity:0;pointer-events:none;position:absolute;transform:translateY(8px)}.interview-waveform-layer{inset:0;opacity:0;pointer-events:none;position:absolute;transform:translateY(-8px);transition:opacity .3s ease,transform .3s ease}.interview-waveform-layer--visible{opacity:1;pointer-events:auto;position:relative;transform:translateY(0)}.interview-waveform{align-items:flex-end;background:var(--color-border);border-radius:var(--radius-md);display:flex;gap:3px;height:120px;justify-content:center;overflow:hidden;padding:var(--space-md)}.interview-waveform-bar{background:var(--color-brand);border-radius:3px 3px 0 0;flex:1 1;min-height:4px;transition:height .06s ease-out}.interview-voice-unsupported{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--font-size-sm);gap:var(--space-sm)}.interview-transcribe-message{font-size:var(--font-size-sm);padding:var(--space-xs) 0}.interview-transcribe-message--success{color:var(--color-success)}.interview-transcribe-message--error{color:var(--color-text-muted)}.interview-answer-error{background:var(--color-danger-light);border-radius:var(--radius-sm);color:var(--color-danger);font-size:var(--font-size-sm);margin-top:var(--space-sm);padding:var(--space-sm) var(--space-md)}.interview-skip-link{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-sm);padding:0;text-decoration:underline;text-underline-offset:2px;transition:color var(--transition-fast)}.interview-skip-link:hover{color:var(--color-text-secondary)}.interview-skip-link:disabled{cursor:not-allowed;opacity:.5}.interview-completion{align-items:center;animation:interview-fadeIn var(--transition-smooth);display:flex;flex-direction:column;gap:var(--space-lg);justify-content:center;min-height:400px;text-align:center}.interview-completion-icon{color:var(--color-success);margin-bottom:var(--space-sm)}.interview-completion-title{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.interview-completion-text{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);max-width:420px}.interview-error-boundary{align-items:center;color:var(--color-danger);display:flex;flex-direction:column;gap:var(--space-lg);justify-content:center;min-height:400px;text-align:center}.interview-error-boundary-title{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.interview-error-boundary-text{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);max-width:420px}.interview-empty-state{align-items:center;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;flex-direction:column;gap:var(--space-lg);justify-content:center;padding:var(--space-4xl) var(--space-2xl);text-align:center}.interview-empty-state-text{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);max-width:400px}.interview-round-layout{animation:interview-fadeIn var(--transition-smooth);display:flex;gap:var(--space-2xl)}.interview-entity-panel{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);flex:0 0 280px;max-height:600px;overflow-y:auto;padding:var(--space-lg)}.interview-entity-panel-title{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--space-lg);text-transform:uppercase}.interview-entity-panel-section{margin-bottom:var(--space-lg)}.interview-entity-panel-section:last-child{margin-bottom:0}.interview-entity-panel-label{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:var(--space-xs);letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--space-sm);text-transform:uppercase}.interview-entity-panel-list{display:flex;flex-direction:column;gap:var(--space-xs)}.interview-entity-panel-item{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);padding:var(--space-xs) 0}.interview-entity-panel-item-sub{color:var(--color-text-muted);font-size:var(--font-size-xs)}.interview-questions-panel{flex:1 1;min-width:0}.interview-question-block{margin-bottom:var(--space-2xl)}.interview-question-block:last-child{margin-bottom:0}.interview-char-count{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:var(--space-xs);text-align:right}.interview-synthesis{align-items:center;animation:interview-fadeIn var(--transition-smooth);display:flex;flex-direction:column;gap:var(--space-xl);justify-content:center;min-height:400px;text-align:center}.interview-synthesis-text{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.interview-synthesis-subtext{color:var(--color-text-secondary);font-size:var(--font-size-base)}.interview-synthesis-dots{display:flex;gap:var(--space-sm)}.interview-synthesis-dot{animation:interview-bounce 1.4s ease-in-out infinite;background:var(--color-brand);border-radius:50%;height:10px;width:10px}.interview-synthesis-dot:nth-child(2){animation-delay:.2s}.interview-synthesis-dot:nth-child(3){animation-delay:.4s}@keyframes interview-bounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.interview-synthesis-error{color:var(--color-danger);font-size:var(--font-size-base);margin-top:var(--space-md)}.interview-followup{animation:interview-fadeIn var(--transition-smooth)}.interview-followup-question{margin-bottom:var(--space-2xl)}.interview-review{animation:interview-fadeIn var(--transition-smooth)}.interview-review-group{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);margin-bottom:var(--space-2xl);overflow:hidden}.interview-review-group-header{align-items:center;background:var(--color-bg);border-bottom:1px solid var(--color-border-light);color:var(--color-text-primary);display:flex;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);gap:var(--space-sm);padding:var(--space-md) var(--space-lg)}.interview-review-group-type{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.interview-review-field{border-bottom:1px solid var(--color-border-light);padding:var(--space-lg)}.interview-review-field:last-child{border-bottom:none}.interview-review-field-label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--space-sm);text-transform:uppercase}.interview-review-textarea{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);min-height:80px;padding:var(--space-md);resize:vertical;transition:border-color var(--transition-fast);width:100%}.interview-review-textarea:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-muted);outline:none}.interview-round-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-sm)}.interview-round-indicator{font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.interview-round-indicator,.interview-start-over{color:var(--color-text-muted);font-size:var(--font-size-xs)}.interview-start-over{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-weight:var(--font-weight-medium);padding:var(--space-xs) var(--space-sm);transition:all var(--transition-fast)}.interview-start-over:hover{border-color:var(--color-text-secondary);color:var(--color-text-secondary)}:root{--color-brand:#2251ff;--color-brand-hover:#1a3fcc;--color-brand-light:#eef2ff;--color-brand-muted:#2251ff14;--color-bg:#f8f9fb;--color-surface:#fff;--color-border:#e2e5ea;--color-border-light:#f0f1f3;--color-text-primary:#111827;--color-text-secondary:#6b7280;--color-text-muted:#8a94a6;--color-text-placeholder:#b0b8c4;--color-success:#059669;--color-success-light:#ecfdf5;--color-warning:#d97706;--color-warning-light:#fffbeb;--color-danger:#dc2626;--color-danger-light:#fef2f2;--color-info:#2563eb;--color-info-light:#eff6ff;--color-sidebar:#0f172a;--color-sidebar-text:#ffffffb3;--color-sidebar-text-active:#fff;--color-sidebar-accent:#ffffff14;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--text-page-title:1.5rem;--text-section-header:1rem;--text-body:0.875rem;--text-caption:0.75rem;--text-small:0.6875rem;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--font-size-badge:10px;--font-size-xs:11px;--font-size-sm:12px;--font-size-base:13px;--font-size-md:14px;--font-size-lg:16px;--font-size-xl:20px;--font-size-hero:24px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.6;--letter-spacing-tight:-0.02em;--letter-spacing-normal:0;--letter-spacing-wide:0.03em;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:24px;--space-3xl:32px;--space-4xl:40px;--radius-sm:8px;--radius-md:12px;--radius-lg:8px;--radius-xl:12px;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 1px 3px #0000000a,0 1px 2px #00000005;--shadow-lg:0 4px 12px #0000000f,0 1px 3px #0000000a;--border-default:1px solid #e5e7eb;--space-section:24px;--space-card-gap:16px;--space-page-padding:24px;--transition-fast:150ms ease;--transition-normal:200ms ease;--transition-smooth:300ms cubic-bezier(0.4,0,0.2,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fb;background-color:var(--color-bg);color:#111827;color:var(--color-text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-family);font-size:13px;font-size:var(--font-size-base);font-weight:400;font-weight:var(--font-weight-regular);line-height:1.5;line-height:var(--line-height-normal)}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#e2e5ea;background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#8a94a6;background:var(--color-text-muted)}:focus{outline:none}:focus-visible{outline:2px solid #2251ff;outline:2px solid var(--color-brand);outline-offset:2px}::selection{background-color:#2251ff;background-color:var(--color-brand);color:#fff}a{color:#2251ff;color:var(--color-brand);text-decoration:none;transition:color .15s ease;transition:color var(--transition-fast)}a:hover{color:#1a3fcc;color:var(--color-brand-hover)}.page-title{color:#111827;color:var(--color-text-primary);font-size:1.5rem;font-size:var(--text-page-title);font-weight:700;font-weight:var(--weight-bold);letter-spacing:-.01em;line-height:1.3}.page-subtitle{color:#8a94a6;color:var(--color-text-muted);font-size:.875rem;font-size:var(--text-body);font-weight:400;font-weight:var(--weight-normal);margin-top:2px}.section-header{color:#111827;color:var(--color-text-primary);font-size:1rem;font-size:var(--text-section-header);font-weight:600;font-weight:var(--weight-semibold);line-height:1.4}.overline{font-weight:500;font-weight:var(--weight-medium);letter-spacing:.03em;text-transform:uppercase}.caption,.overline{font-size:.75rem;font-size:var(--text-caption)}.caption,.overline,.text-muted{color:#8a94a6;color:var(--color-text-muted)}.text-secondary{color:#6b7280;color:var(--color-text-secondary)}.text-success{color:#059669;color:var(--color-success)}.text-warning{color:#d97706;color:var(--color-warning)}.text-danger{color:#dc2626;color:var(--color-danger)}.text-brand{color:#2251ff;color:var(--color-brand)}button{background:none;border:none;cursor:pointer;font-family:inherit;transition:all .15s ease;transition:all var(--transition-fast)}button:disabled{cursor:not-allowed;opacity:.5}.btn-destructive,.btn-ghost,.btn-primary,.btn-secondary{align-items:center;border-radius:12px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:.875rem;font-size:var(--text-body);font-weight:600;font-weight:var(--weight-semibold);gap:8px;gap:var(--space-sm);justify-content:center;line-height:1.5;padding:8px 16px;transition:all .15s ease;transition:all var(--transition-fast);white-space:nowrap}.btn-primary{background-color:#2251ff;background-color:var(--color-brand);border:1px solid #2251ff;border:1px solid var(--color-brand);color:#fff}.btn-primary:hover:not(:disabled){background-color:#1a3fcc;background-color:var(--color-brand-hover);border-color:#1a3fcc;border-color:var(--color-brand-hover);box-shadow:0 2px 8px #2251ff40}.btn-secondary{background-color:#fff;background-color:var(--color-surface);border:1px solid #e2e5ea;border:1px solid var(--color-border);color:#6b7280;color:var(--color-text-secondary);font-weight:500;font-weight:var(--weight-medium)}.btn-secondary:hover:not(:disabled){background-color:#f8f9fb;background-color:var(--color-bg);border-color:#8a94a6;border-color:var(--color-text-muted);color:#111827;color:var(--color-text-primary)}.btn-destructive{background-color:initial;border:1px solid #0000;color:#dc2626;color:var(--color-danger);font-weight:500;font-weight:var(--weight-medium)}.btn-destructive:hover:not(:disabled){background-color:#fef2f2;background-color:var(--color-danger-light);border-color:#dc262626}.btn-ghost{background-color:initial;border:1px solid #0000;color:#8a94a6;color:var(--color-text-muted);font-weight:500;font-weight:var(--weight-medium)}.btn-ghost:hover:not(:disabled){background-color:#f8f9fb;background-color:var(--color-bg);color:#111827;color:var(--color-text-primary)}.btn-sm{font-size:.75rem;font-size:var(--text-caption);padding:4px 10px}.badge{align-items:center;border-radius:100px;display:inline-flex;font-size:.6875rem;font-size:var(--text-small);font-weight:600;font-weight:var(--weight-semibold);line-height:1.6;padding:2px 8px;white-space:nowrap}.badge-success{background-color:#ecfdf5;background-color:var(--color-success-light);color:#059669;color:var(--color-success)}.badge-warning{background-color:#fffbeb;background-color:var(--color-warning-light);color:#d97706;color:var(--color-warning)}.badge-danger{background-color:#fef2f2;background-color:var(--color-danger-light);color:#dc2626;color:var(--color-danger)}.badge-info{background-color:#eef2ff;background-color:var(--color-brand-light);color:#2251ff;color:var(--color-brand)}.badge-neutral{background-color:#f8f9fb;background-color:var(--color-bg);color:#8a94a6;color:var(--color-text-muted)}.card{background:#fff;background:var(--color-surface);border:1px solid #f0f1f3;border:1px solid var(--color-border-light);border-radius:12px;border-radius:var(--radius-xl);box-shadow:0 1px 2px #0000000a;box-shadow:var(--shadow-xs)}.card-padded{padding:24px;padding:var(--space-2xl)}.card-hover{box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;box-shadow:var(--shadow-md);transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease}.card-hover:hover{box-shadow:0 4px 12px #0000000f,0 1px 3px #0000000a;box-shadow:var(--shadow-lg);transform:translateY(-1px)}.insight-card{align-items:flex-start;background:#fff;background:var(--color-surface);border:1px solid #f0f1f3;border:1px solid var(--color-border-light);border-radius:8px;border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:12px;gap:var(--space-md);padding:12px 16px;padding:var(--space-md) var(--space-lg);transition:all .15s ease;transition:all var(--transition-fast)}.insight-card:hover{border-color:#2251ff;border-color:var(--color-brand);box-shadow:0 1px 2px #0000000a;box-shadow:var(--shadow-sm)}.insight-card-icon{align-items:center;border-radius:12px;border-radius:var(--radius-md);display:flex;flex-shrink:0;font-size:14px;height:32px;justify-content:center;width:32px}.insight-card-icon.warning{background:#fffbeb;background:var(--color-warning-light);color:#d97706;color:var(--color-warning)}.insight-card-icon.danger{background:#fef2f2;background:var(--color-danger-light);color:#dc2626;color:var(--color-danger)}.insight-card-icon.success{background:#ecfdf5;background:var(--color-success-light);color:#059669;color:var(--color-success)}.insight-card-icon.info{background:#eef2ff;background:var(--color-brand-light);color:#2251ff;color:var(--color-brand)}.insight-card-text{color:#111827;color:var(--color-text-primary);font-size:.875rem;font-size:var(--text-body);font-weight:500;font-weight:var(--weight-medium);line-height:1.4}.insight-card-meta{color:#8a94a6;color:var(--color-text-muted);font-size:.75rem;font-size:var(--text-caption);margin-top:2px}table{border-collapse:collapse;width:100%}.standard-table{table-layout:fixed}.standard-table tbody tr:hover{background-color:#f9fafb}input,select,textarea{font-family:inherit;font-size:inherit}input::placeholder,textarea::placeholder{color:#b0b8c4;color:var(--color-text-placeholder)}.context-section{gap:20px;gap:var(--space-xl)}.context-field,.context-section{display:flex;flex-direction:column}.context-field{gap:8px;gap:var(--space-sm)}.context-field-label{color:#8a94a6;color:var(--color-text-muted);font-size:11px;font-size:var(--font-size-xs);font-weight:600;font-weight:var(--font-weight-semibold);letter-spacing:.03em;letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.context-field-textarea{background-color:var(--color-bg-page);border:1px solid #e2e5ea;border:1px solid var(--color-border);border-radius:8px;color:#111827;color:var(--color-text-primary);font-family:inherit;font-size:12px;font-size:var(--font-size-sm);line-height:1.5;line-height:var(--line-height-normal);min-height:80px;padding:12px;padding:var(--space-md);resize:vertical;transition:border-color .15s,box-shadow .15s;width:100%}.context-field-textarea:focus{background-color:#fff;border-color:#2251ff;border-color:var(--color-brand);box-shadow:0 0 0 3px #2251ff14;outline:none}.context-field-textarea::placeholder{color:#b0b8c4;color:var(--color-text-placeholder)}.context-field-actions{align-items:center;display:flex;gap:8px;gap:var(--space-sm)}.context-field-status{color:#8a94a6;color:var(--color-text-muted);font-size:11px;font-size:var(--font-size-xs);transition:opacity .3s}.context-field-status--success{color:#059669;color:var(--color-success)}.context-field-status--error{color:#dc2626;color:var(--color-danger)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:fadeIn .2s ease-out}.animate-slideUp{animation:slideUp .25s ease-out}.content-fade-in{animation:fadeIn .2s ease-out}.admin-nav-item:not(.admin-nav-active):hover,.supplier-nav-item:not(.supplier-nav-active):hover{background-color:#ffffff14}.link-hover{transition:color .15s ease}.link-hover:hover{color:#1a3fcc;color:var(--color-brand-hover)}.text-hero{font-size:24px;font-size:var(--font-size-hero);font-weight:700;font-weight:var(--font-weight-bold)}.text-hero,.text-page-title{color:#111827;color:var(--color-text-primary);letter-spacing:-.02em;letter-spacing:var(--letter-spacing-tight);line-height:1.2;line-height:var(--line-height-tight)}.text-page-title{font-size:20px;font-size:var(--font-size-xl);font-weight:600;font-weight:var(--font-weight-semibold)}.text-section-title{font-size:16px;font-size:var(--font-size-lg);font-weight:500;font-weight:var(--font-weight-medium);letter-spacing:.01em;line-height:1.2;line-height:var(--line-height-tight)}.text-body,.text-section-title{color:#111827;color:var(--color-text-primary)}.text-body{font-size:13px;font-size:var(--font-size-base);line-height:1.6;line-height:var(--line-height-relaxed)}.text-body,.text-small{font-weight:400;font-weight:var(--font-weight-regular)}.text-small{color:#6b7280;color:var(--color-text-secondary);font-size:12px;font-size:var(--font-size-sm);line-height:1.5;line-height:var(--line-height-normal)}.text-label{color:#8a94a6;color:var(--color-text-muted);font-size:11px;font-size:var(--font-size-xs);font-weight:500;font-weight:var(--font-weight-medium);letter-spacing:.03em;letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.text-mono{font-family:SF Mono,Fira Code,Fira Mono,monospace;font-size:12px;font-size:var(--font-size-sm)}@media print{body{background:#fff}}@media (max-width:1400px){:root{--font-size-hero:22px;--font-size-xl:18px;--font-size-lg:15px;--font-size-md:13px;--font-size-base:12.5px;--font-size-sm:11.5px;--font-size-xs:10.5px;--font-size-badge:9.5px;--space-page-padding:16px;--space-section:16px;--space-card-gap:12px}}
/*# sourceMappingURL=main.6998c638.css.map*/