*{box-sizing:border-box}:root{color-scheme:dark;--app-bg: #0f1923;--primary: #1e3c72;--primary-light: #2a5298;--primary-lighter: #3a7ca5;--accent: #00d4ff;--accent-hover: #33ddff;--accent-shadow: rgba(0, 212, 255, .3);--accent-glow: rgba(0, 212, 255, .15);--on-accent: #0f1923;--surface: #1a2332;--surface-light: #243447;--surface-lighter: #2d4052;--border: #2d4052;--heading-color: #ffffff;--text-primary: #e0e6ed;--text-secondary: #8899aa;--success: #00e676;--warning: #ffab40;--danger: #ff5252;--info: #40c4ff;--nav-bg: linear-gradient(135deg, #0d1b2a 0%, #1b2838 100%);--row-hover: rgba(0, 212, 255, .04);--modal-backdrop: rgba(0, 0, 0, .6);--modal-shadow: 0 16px 48px rgba(0, 0, 0, .4);--toast-shadow: 0 8px 24px rgba(0, 0, 0, .3);--vendor-action-bg: rgba(15, 25, 35, .96);--vendor-action-shadow: 0 -6px 18px rgba(0, 0, 0, .22);--vendor-header-muted: rgba(255, 255, 255, .8);--metric-hover-shadow: 0 8px 24px rgba(0, 212, 255, .1);--radius: 12px;--radius-sm: 8px;--shadow: 0 8px 32px rgba(0, 0, 0, .3);--font-size-base: 16px;--space-page-inline: 24px}:root[data-theme=light]{color-scheme:light;--app-bg: #f4f8fb;--primary: #1f4f7a;--primary-light: #2f77b5;--primary-lighter: #5fa8d3;--accent: #007fae;--accent-hover: #006f99;--accent-shadow: rgba(0, 127, 174, .22);--accent-glow: rgba(0, 127, 174, .16);--on-accent: #ffffff;--surface: #ffffff;--surface-light: #eef5fb;--surface-lighter: #dceaf4;--border: #c9d8e6;--heading-color: #10263b;--text-primary: #172b3f;--text-secondary: #5b6f82;--success: #0a9f5a;--warning: #b56b00;--danger: #d43d3d;--info: #087eb2;--nav-bg: linear-gradient(135deg, #ffffff 0%, #eaf3fa 100%);--row-hover: rgba(0, 127, 174, .07);--modal-backdrop: rgba(16, 38, 59, .34);--modal-shadow: 0 18px 50px rgba(31, 79, 122, .18);--toast-shadow: 0 10px 30px rgba(31, 79, 122, .16);--vendor-action-bg: rgba(255, 255, 255, .96);--vendor-action-shadow: 0 -6px 18px rgba(31, 79, 122, .12);--vendor-header-muted: rgba(255, 255, 255, .86);--metric-hover-shadow: 0 8px 24px rgba(0, 127, 174, .16);--shadow: 0 10px 28px rgba(31, 79, 122, .12)}:root[data-accent=green]{--accent: #00c97b;--accent-hover: #2fe39b;--accent-shadow: rgba(0, 201, 123, .3);--accent-glow: rgba(0, 201, 123, .15)}:root[data-theme=light][data-accent=green]{--accent: #0a8f5a;--accent-hover: #087a4c}:root[data-accent=purple]{--accent: #a78bfa;--accent-hover: #c4b5fd;--accent-shadow: rgba(167, 139, 250, .3);--accent-glow: rgba(167, 139, 250, .15)}:root[data-theme=light][data-accent=purple]{--accent: #6f4cc3;--accent-hover: #5c3fa3}:root[data-accent=orange]{--accent: #ffab40;--accent-hover: #ffc070;--accent-shadow: rgba(255, 171, 64, .3);--accent-glow: rgba(255, 171, 64, .15)}:root[data-theme=light][data-accent=orange]{--accent: #c76415;--accent-hover: #a9520f}:root[data-accent=purple],:root[data-accent=green],:root[data-accent=orange]{--on-accent: #0f1923}:root[data-theme=light][data-accent=purple],:root[data-theme=light][data-accent=green],:root[data-theme=light][data-accent=orange]{--on-accent: #ffffff}:root[data-font-size=small]{--font-size-base: 14px}:root[data-font-size=medium]{--font-size-base: 16px}:root[data-font-size=large]{--font-size-base: 18px}:root{--color-background: var(--app-bg);--color-surface: var(--surface);--color-card: var(--surface);--color-primary: var(--accent);--color-primary-hover: var(--accent-hover);--color-secondary: var(--surface-light);--color-text: var(--text-primary);--color-muted-text: var(--text-secondary);--color-border: var(--border);--color-input-background: var(--surface);--color-input-border: var(--border);--color-error: var(--danger);--color-focus: var(--accent);--radius-control: var(--radius-sm);--radius-panel: var(--radius);--font-size-small: .8125rem}body{margin:0;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--app-bg);color:var(--text-primary);font-size:var(--font-size-base);line-height:1.6;transition:background .2s ease,color .2s ease}button,input,select,textarea{font:inherit}h1,h2{color:var(--heading-color);font-weight:700}h2{font-size:1.5em;margin:0 0 16px;display:flex;align-items:center;gap:10px}h3{font-size:1.15em;font-weight:600;color:var(--text-primary);margin:0 0 12px}p{color:var(--text-secondary)}::selection{background:var(--accent);color:var(--on-accent)}*{scrollbar-color:var(--surface-lighter) var(--app-bg)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.app-shell{min-height:100vh}.top-nav{background:var(--nav-bg);border-bottom:1px solid var(--border);padding:0 var(--space-page-inline);display:flex;align-items:center;gap:24px;min-height:60px;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.top-nav .logo{font-size:1.3em;font-weight:700;color:var(--accent);white-space:nowrap}.top-nav .nav-tabs{display:flex;gap:4px;flex:1;flex-wrap:wrap}.top-nav .nav-tab{padding:8px 20px;color:var(--text-secondary);font-size:.85em;font-weight:600;border-radius:8px;text-transform:uppercase;letter-spacing:.5px;text-decoration:none;white-space:nowrap;transition:all .2s}.top-nav .nav-tab:hover{background:var(--surface-light);color:var(--text-primary)}.top-nav .nav-tab.active{background:var(--accent);color:var(--on-accent)}.nav-tools{display:flex;gap:6px;align-items:center;justify-content:flex-end}.language-toggle,.theme-toggle{display:inline-flex;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:2px}.lang-btn,.theme-btn{border:none;background:transparent;color:var(--text-secondary);padding:6px 10px;border-radius:999px;cursor:pointer;font-size:.78em}.lang-btn.active,.theme-btn.active{background:var(--accent);color:var(--on-accent)}.nav-signout{padding:6px 14px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:.8em;border-radius:6px;cursor:pointer;transition:all .2s}.nav-signout:hover{border-color:var(--accent);color:var(--accent)}.container{max-width:1400px;margin:0 auto;padding:24px var(--space-page-inline);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);margin-bottom:20px}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.metric-card{background:linear-gradient(135deg,var(--surface) 0%,var(--surface-light) 100%);border:1px solid var(--border);padding:20px;border-radius:var(--radius);text-align:center;position:relative;overflow:hidden;transition:all .3s}.metric-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--accent),var(--primary-lighter))}.metric-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:var(--metric-hover-shadow)}.metric-card .label{font-size:.75em;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;font-weight:600;margin-bottom:8px}.metric-card .value{font-size:2.4em;font-weight:800;color:var(--accent);line-height:1}.metric-card .sub{font-size:.8em;color:var(--text-secondary);margin-top:4px}.btn{padding:10px 20px;border:1px solid transparent;border-radius:8px;cursor:pointer;font-size:.85em;font-weight:600;transition:all .2s;display:inline-flex;align-items:center;gap:6px;letter-spacing:.3px;text-decoration:none}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--accent-shadow)}.btn-secondary{background:var(--surface-light);color:var(--text-primary);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--surface-lighter);border-color:var(--accent)}.btn-danger{background:var(--danger);color:#fff}.btn-success{background:var(--success);color:var(--on-accent)}.btn-sm{padding:6px 12px;font-size:.8em}.btn-group,.form-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.action-link{color:var(--accent);text-decoration:none;font-weight:600}.action-link:hover{color:var(--accent-hover)}.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border)}table{width:100%;border-collapse:collapse;font-size:.88em}thead{background:var(--surface-light)}th{padding:12px;text-align:start;color:var(--text-secondary);font-weight:700;font-size:.8em;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}td{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text-primary);text-align:start}tbody tr{transition:background .15s}tbody tr:hover{background:var(--row-hover)}tbody tr:last-child td{border-bottom:none}td.empty-row{text-align:center;padding:30px;color:var(--text-secondary)}input,textarea,select{background:var(--surface);border:1px solid var(--border);color:var(--text-primary);padding:10px 14px;border-radius:var(--radius-sm);font-size:.9em;transition:all .2s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}textarea{resize:vertical;min-height:80px}.contract-form{display:grid;gap:16px}.contract-form-context{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;padding:12px;background:var(--surface-light);border:1px solid var(--border);border-radius:var(--radius)}.context-item{display:grid;gap:4px}.form-section{display:grid;gap:12px;padding-top:4px}.form-section+.form-section{border-top:1px solid var(--border);padding-top:16px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.field{display:grid;gap:6px}.field-label{display:inline-flex;align-items:baseline;gap:4px;font-weight:600;font-size:.9em}.required-indicator{color:var(--danger)}.field.is-readonly input,.field.is-readonly select,.field input[readonly],.field select:disabled,.checkbox-field.is-readonly{background:var(--surface-light);color:var(--text-secondary);cursor:default}.field-with-unit{display:flex;align-items:center}.field-with-unit input{flex:1;border-start-end-radius:0;border-end-end-radius:0}.field-unit{align-self:stretch;display:inline-flex;align-items:center;padding:0 10px;color:var(--text-secondary);background:var(--surface-light);border:1px solid var(--border);border-inline-start:0;border-start-end-radius:var(--radius-sm);border-end-end-radius:var(--radius-sm)}.checkbox-field{display:flex;align-items:center;gap:10px}.form-help,.muted{font-size:.8em;color:var(--text-secondary)}.alert{padding:14px 16px;border-radius:8px;margin-bottom:16px;border-inline-start:4px solid var(--info);background:#40c4ff14;color:var(--text-primary);font-size:.9em}.alert-danger{background:#ff525214;border-inline-start:4px solid var(--danger);color:var(--danger);padding:14px 16px;border-radius:8px;margin-bottom:16px}.alert-success{background:#00e67614;border-inline-start-color:var(--success);color:var(--success)}.alert-warning{background:#ffab4014;border-inline-start-color:var(--warning);color:var(--warning)}.field-error{color:var(--danger);font-size:.85em}.form-error-list{margin:8px 0 0;padding-inline-start:20px}.badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:.75em;font-weight:700;text-transform:uppercase;letter-spacing:.4px;background:#8899aa26;color:var(--text-secondary)}.badge-draft{background:#8899aa26;color:#89a}.badge-sent,.badge-info{background:#40c4ff26;color:var(--info)}.badge-submitted,.badge-success{background:#00e67626;color:var(--success)}.badge-warning{background:#ffab0026;color:var(--warning)}.badge-danger{background:#ff525226;color:var(--danger)}.score-high{color:var(--success);font-weight:700}.score-mid{color:var(--warning);font-weight:700}.score-low{color:var(--danger);font-weight:700}.score-none{color:var(--text-secondary);font-weight:700}.heatmap-cell{padding:6px 10px;text-align:center;font-weight:700;font-size:.85em;border-radius:4px}.heat-green{background:#00e67626;color:var(--success)}.heat-yellow{background:#ffab4026;color:var(--warning)}.heat-red{background:#ff525226;color:var(--danger)}.heat-gray{background:#8899aa1a;color:var(--text-secondary)}.progress-bar{height:8px;background:var(--surface-lighter);border-radius:4px;overflow:hidden;margin:12px 0}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--success));border-radius:4px;transition:width .4s ease}.vendor-header{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);padding:28px;border-radius:var(--radius);margin-bottom:20px}.vendor-header h2{color:#fff;margin-bottom:4px}.vendor-header p{color:var(--vendor-header-muted);margin:0}.question-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;margin-bottom:12px;transition:border-color .2s}.question-card:hover{border-color:var(--accent)}.question-card.mandatory{border-inline-start:4px solid var(--danger)}.question-card .q-text{font-weight:600;margin-bottom:8px;color:var(--text-primary);white-space:pre-line}.question-card .q-meta{font-size:.8em;color:var(--text-secondary);margin-bottom:10px}.question-card .q-meta .mandatory-tag{color:var(--danger);font-weight:700}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.detail-item{display:grid;gap:4px}.detail-label{color:var(--text-secondary);font-size:var(--font-size-small);text-transform:uppercase;letter-spacing:.5px}.detail-value{font-weight:700}.settings-panel{display:grid;gap:16px;max-width:720px}.preference-field{max-width:360px}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px}.section-title-row h2{margin:0}.section-title-row p{margin:4px 0 0}.card-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.alert-info{background:#40c4ff14;border-inline-start-color:var(--info);color:var(--info)}.metric-card .value.tone-success{color:var(--success)}.metric-card .value.tone-warning{color:var(--warning)}.metric-card .value.tone-danger{color:var(--danger)}.section-tabs,.category-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}.cat-tab{padding:8px 16px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:8px;cursor:pointer;font-size:.82em;font-weight:600;transition:all .2s}.cat-tab:hover{border-color:var(--accent);color:var(--text-primary)}.cat-tab.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.filters-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:16px}.form-group{display:grid;gap:6px;margin-bottom:16px}.form-group>label,.filter-group>label{font-weight:600;font-size:.9em;color:var(--text-primary)}.filter-group{display:grid;gap:6px}.inline-toggle{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.85em;white-space:nowrap}.inline-toggle input{accent-color:var(--accent)}.btn-warning{background:var(--warning);color:var(--on-accent)}.modal-overlay{display:none;position:fixed;z-index:1000;inset:0;background:var(--modal-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);align-items:center;justify-content:center}.modal-overlay.active{display:flex}.modal-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px;max-width:560px;width:92%;max-height:85vh;overflow-y:auto;box-shadow:var(--modal-shadow);animation:modalIn .25s ease}@keyframes modalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:1.3em}.modal-close{background:none;border:none;font-size:1.4em;cursor:pointer;color:var(--text-secondary);padding:0}.modal-close:hover{color:var(--danger)}.modal-footer{margin-top:8px}.spinner{border:3px solid var(--border);border-top:3px solid var(--accent);border-radius:50%;width:32px;height:32px;animation:spin .8s linear infinite;margin:0 auto 12px}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{text-align:center;color:var(--text-secondary);padding:40px}.badge-status-draft{background:#8899aa26;color:var(--text-secondary)}.badge-status-progress{background:#40c4ff26;color:var(--info)}.badge-status-active{background:#00e67626;color:var(--success)}.badge-status-renewal{background:#ffab4026;color:var(--warning)}.badge-status-closed{background:#ff52521f;color:var(--danger)}tr.clickable-row{cursor:pointer}th.numeric,td.numeric{direction:ltr;text-align:end;white-space:nowrap}.coherence-findings{list-style:none;margin:0;padding:0}.coherence-finding.severity-error{border-inline-start:4px solid var(--danger)}.coherence-finding.severity-warning{border-inline-start:4px solid var(--warning)}.coherence-finding.severity-info{border-inline-start:4px solid var(--info)}.coherence-finding-head{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.coherence-finding-head code{color:var(--text-secondary);font-size:.8em}.coherence-review{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.coherence-review input{flex:1 1 240px}.coherence-decision{margin:0}.response-meta{font-size:.8em;color:var(--text-secondary);margin-top:4px}.response-row{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px;padding:14px 0;border-top:1px solid var(--border)}.response-row:first-of-type{border-top:none}.response-row-main{display:flex;flex-direction:column;gap:8px;min-width:0}.response-answer{padding:10px 12px;background:var(--surface-light);border-radius:8px;color:var(--text-primary);white-space:pre-wrap}.response-row-actions{display:flex;flex-direction:column;gap:10px}.response-row-actions label{display:flex;flex-direction:column;gap:6px;font-size:.82em;color:var(--text-secondary)}.followup-panel{margin-top:12px;padding:12px;background:var(--surface-light);border-radius:8px;border-inline-start:3px solid var(--info)}.followup-panel-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.85em;color:var(--info);margin-bottom:8px}.followup-item{padding:10px 0;border-top:1px solid var(--divider-soft, var(--border))}.followup-item:first-of-type{border-top:none;padding-top:0}.followup-question,.followup-answer{display:flex;gap:6px;align-items:baseline;color:var(--text-primary);font-size:.9em}.followup-question{justify-content:space-between}.followup-answer{color:var(--text-secondary);margin-top:6px;white-space:pre-wrap}.followup-answer em{margin-inline-start:auto;color:var(--success);font-style:normal;font-size:.82em;font-weight:700}.followup-item.pending .followup-answer em,.followup-item.draft .followup-answer em{color:var(--warning)}.followup-answer-input{margin-top:8px;display:grid;gap:8px}.admin-followup-send-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 20px;padding:12px 14px;border:1px solid var(--warning);border-radius:8px;background:#ffb74d14;color:var(--text-primary)}.admin-followup-draft-editor{display:grid;gap:8px}.subcategory-block{border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:16px;background:var(--surface)}.subcategory-block-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}.subcategory-block-header h3{margin:0}.category-section{margin-bottom:24px}.question-card textarea{width:100%}.question-card .answer-explanation{margin-top:8px}.question-card.missing{border-color:var(--danger);box-shadow:0 0 0 2px #ff525240}.answer-options{display:flex;gap:8px;flex-wrap:wrap}.answer-option{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid var(--border);border-radius:8px;background:var(--surface-light);cursor:pointer;font-weight:600;font-size:.9em}.answer-option.selected{border-color:var(--accent);background:var(--accent-glow);color:var(--accent)}.answer-option input{accent-color:var(--accent)}.vendor-progress{margin-top:12px}.vendor-progress-row{display:flex;justify-content:space-between;font-size:.9em;color:var(--vendor-header-muted)}.vendor-followup-progress{margin-top:8px;font-size:.86em;color:var(--vendor-header-muted)}.vendor-actions{position:fixed;inset-inline:0;bottom:0;padding:10px 20px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--vendor-action-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--vendor-action-shadow);z-index:90}.vendor-action-buttons{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;max-width:1200px;margin:0 auto}.vendor-save-status{font-size:.8em;color:var(--text-secondary);margin-inline-end:auto;white-space:nowrap}.vendor-actions-spacer{height:72px}td.progress-cell{min-width:120px}td.progress-cell .progress-bar{margin:4px 0 2px}.comparison-score-cell{text-align:center}.comparison-vendor-heading{text-align:center;white-space:normal}.compare-legend{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}@media(max-width:768px){.top-nav{flex-wrap:wrap;padding:10px 16px;gap:8px}.top-nav .nav-tabs{order:3;width:100%;flex:none;flex-wrap:nowrap;overflow-x:auto}.top-nav .nav-tab{padding:6px 12px}.nav-tools{margin-inline-start:auto}.container{padding:16px}.metrics-grid{grid-template-columns:repeat(2,1fr)}.section-title-row{align-items:flex-start;flex-direction:column}.response-row{grid-template-columns:1fr}.vendor-save-status{margin-inline-end:0;width:100%;text-align:center}.vendor-actions-spacer{height:110px}}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--app-bg)}.login-card{width:min(400px,100%);display:grid;gap:16px;margin:0}.login-heading{display:flex;align-items:center;justify-content:space-between}.login-heading h1{margin:0;font-size:1.3em;font-weight:700;color:var(--accent)}.login-card h2{margin:8px 0 0;font-size:1.15em}.login-subtitle{margin:-8px 0 0;color:var(--text-secondary);font-size:.9em}.login-submit{width:100%;justify-content:center;margin-top:4px}
