.ocrv-overlay{position:fixed;inset:0;background:#0009;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px}.ocrv-overlay--anchored{align-items:flex-start;padding-top:0;padding-bottom:0}.ocrv-modal{display:flex;flex-direction:column;width:min(980px,94vw);height:min(88vh,100%);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.ocrv-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);color:var(--text-primary);flex-shrink:0}.ocrv-title{flex:1;font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ocrv-head-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:.76rem;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;white-space:nowrap}.ocrv-head-btn:hover{color:var(--text-primary);border-color:var(--brand-border)}.ocrv-close{display:flex;padding:4px;border:none;background:none;color:var(--text-muted);cursor:pointer}.ocrv-close:hover{color:var(--text-primary)}.ocrv-meta{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:8px 14px;border-bottom:1px solid var(--border);background:var(--bg-surface-2);font-size:var(--fs-caption);color:var(--text-muted);flex-shrink:0}.ocrv-meta b{font-weight:600;color:var(--text-muted)}.ocrv-search{flex:1;min-width:180px;padding:4px 9px;font-size:.76rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface);color:var(--text-primary)}.ocrv-search:focus{outline:none;border-color:var(--brand-bright)}.ocrv-hits{font-variant-numeric:tabular-nums;color:var(--status-success-text);white-space:nowrap}.ocrv-hits--none{color:var(--status-warning-text)}.ocrv-body{flex:1;overflow:auto;padding:12px 14px 20px}.ocrv-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;height:100%;padding:24px;text-align:center;font-size:.82rem;color:var(--text-muted)}.ocrv-error{color:var(--status-error-text)}.ocrv-spin{animation:ocrv-spin 1s linear infinite}@keyframes ocrv-spin{to{transform:rotate(360deg)}}.ocrv-page+.ocrv-page{margin-top:16px}.ocrv-page-label{position:sticky;top:0;z-index:1;padding:3px 8px;margin-bottom:6px;font-size:var(--fs-caption);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-surface-2);border:1px solid var(--border);border-radius:5px;width:fit-content}.ocrv-text{margin:0;padding:10px 12px;font-family:var(--font-mono);font-size:var(--fs-caption);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-primary);background:var(--bg-surface-2);border:1px solid var(--border);border-radius:6px}.ocrv-hit{padding:0 1px;border-radius:2px;background:var(--accent-amber);color:var(--bg-body)}.aiq-stack{display:grid;gap:14px}.aiq-subtabs{display:flex;gap:6px;flex-wrap:wrap}.aiq-subtab{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius);font-size:.82rem;font-weight:600;background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border)}.aiq-subtab:hover:not(:disabled){color:var(--text-primary);box-shadow:none;transform:none}.aiq-subtab.active,.aiq-subtab.active:hover:not(:disabled){color:var(--brand-bright);background:var(--brand-tint);border-color:var(--brand-bright)}.aiq-state{display:flex;align-items:center;justify-content:center;gap:8px;padding:32px 16px;color:var(--text-secondary);font-size:.85rem}.aiq-state.error,.aiq-error{color:var(--status-error-text)}.aiq-error{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;margin:0}.aiq-muted{color:var(--text-muted);font-size:.78rem}.aiq-spacer{flex:1}.aiq-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.aiq-toolbar h3{margin:0;font-size:.95rem}.aiq-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.aiq-section{display:grid;gap:8px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface)}.aiq-section h3{margin:0;font-size:.95rem;font-weight:700;color:var(--text-primary)}.aiq-section>p{margin:0}.aiq-detail{border-color:var(--brand-border)}.aiq-subdetail{display:grid;gap:8px;padding:8px 12px;border-radius:var(--radius);background:var(--surface-2)}.aiq-empty{padding:24px 16px;border:1px dashed var(--border-light);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:.85rem;text-align:center}.aiq-table-wrap{overflow-x:auto}.aiq-table-wrap .data-table{width:100%}.aiq-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.aiq-row{cursor:pointer}.aiq-row:hover td{background:var(--bg-hover)}.aiq-row.selected td{background:var(--brand-tint)}.aiq [data-tone=ok]{color:var(--status-success-text)}.aiq [data-tone=bad]{color:var(--status-error-text)}.aiq [data-tone=busy]{color:var(--status-info-text)}.aiq [data-tone=muted]{color:var(--text-muted)}.aiq-status{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px;font-weight:600;font-size:.82rem}.aiq-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:999px;font-size:var(--fs-caption);font-weight:600;background:var(--status-success-bg);color:var(--status-success-text)}.aiq-chip.flat{background:var(--surface-2);color:var(--text-secondary)}.aiq-totals{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;font-size:.78rem;color:var(--text-secondary)}.aiq-totals b{color:inherit;font-weight:700}.aiq-totals>span:not([data-tone]) b{color:var(--text-primary)}.aiq-ab{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.aiq-ab>div{display:grid;gap:4px;padding:8px;border-radius:var(--radius);background:var(--surface-2)}.aiq-form{gap:12px}.aiq-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 12px;align-items:end}.aiq-form-grid label,.aiq-block{display:grid;gap:4px;font-size:.78rem;color:var(--text-secondary)}.aiq-form-grid input,.aiq-form-grid select,.aiq-block textarea,.aiq-draft select,.aiq-draft textarea{padding:6px 10px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);color:var(--text-primary);font-size:.82rem;font-family:inherit}.aiq-check{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-secondary)}.aiq-drafts{display:grid;gap:8px}.aiq-draft{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:start}@media(max-width:640px){.aiq-draft{grid-template-columns:1fr}}.dv-overlay{position:fixed;inset:0;background:#0009;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px}.dv-overlay--anchored{align-items:flex-start;padding-top:0;padding-bottom:0}.dv-modal{display:flex;flex-direction:column;width:min(1100px,94vw);height:min(88vh,100%);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.dv-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);color:var(--text-primary);background:var(--surface-2)}.dv-title{flex:1;min-width:0;font-weight:600;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dv-head-btn{appearance:none;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);padding:6px 12px;border-radius:var(--radius);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s ease}.dv-head-btn:hover{color:var(--text-primary);border-color:var(--brand-border)}.dv-close{appearance:none;border:0;background:transparent;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:var(--radius);display:inline-flex}.dv-close:hover{color:var(--text-primary);background:var(--bg-hover)}.dv-tabs{display:flex;gap:2px;padding:6px 10px 0;overflow-x:auto;border-bottom:1px solid var(--border);background:var(--surface-2)}.dv-tabs button{appearance:none;border:1px solid transparent;border-bottom:0;background:transparent;color:var(--text-secondary);padding:7px 14px;border-radius:var(--radius) var(--radius) 0 0;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}.dv-tabs button:hover{color:var(--text-primary)}.dv-tabs button.active{background:var(--bg-surface);color:var(--brand-bright);border-color:var(--border)}.dv-body{flex:1;min-height:0;overflow:auto;background:var(--bg-body);position:relative}.dv-center{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-muted);font-size:.9rem;padding:24px;text-align:center}.dv-error{color:var(--status-error-text)}.dv-dl-btn{appearance:none;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);padding:8px 16px;border-radius:var(--radius);font-size:.85rem;font-weight:600;cursor:pointer}.dv-dl-btn:hover{border-color:var(--brand-border)}.dv-spin{animation:dv-spin 1s linear infinite}@keyframes dv-spin{to{transform:rotate(360deg)}}.dv-pdf{width:100%;height:100%;border:0;background:#fff}.dv-sheet-wrap{padding:12px;overflow:auto;background:#fff;min-height:100%}.dv-sheet-wrap table{border-collapse:collapse;font-size:.82rem;color:#111;background:#fff}.dv-sheet-wrap td,.dv-sheet-wrap th{border:1px solid #d1d5db;padding:4px 8px;white-space:nowrap;color:#111}.dv-sheet-wrap tr:first-child td{background:#f3f4f6;font-weight:600}.dv-docx-wrap{display:flex;justify-content:center;padding:16px;min-height:100%;background:#fff}.dv-docx-wrap .docx-wrapper{background:transparent!important;padding:0!important}.dv-docx-wrap .docx{box-shadow:0 4px 16px #00000040}.dv-hidden{display:none}@media(max-width:640px){.dv-overlay{padding:0}.dv-modal{width:100vw;height:100vh;border-radius:0}}.rfa-menu{position:fixed;z-index:1300;min-width:232px;max-width:320px;padding:4px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.rfa-head{padding:6px 9px 7px;margin-bottom:3px;border-bottom:1px solid var(--border);font-size:var(--fs-caption);font-weight:600;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rfa-item{display:grid;grid-template-columns:16px 1fr;align-items:center;gap:2px 8px;width:100%;padding:6px 9px;border:none;border-radius:6px;background:none;color:var(--text-primary);font-size:.78rem;text-align:left;cursor:pointer}.rfa-item:hover:not(:disabled){background:var(--bg-surface-2)}.rfa-item:disabled{cursor:default;color:var(--text-muted);opacity:.75}.rfa-icon{grid-column:1;flex-shrink:0}.rfa-label{grid-column:2}.rfa-why{grid-column:2;font-size:var(--fs-caption);line-height:1.35;color:var(--text-muted);white-space:normal}.rfa-item--danger:not(:disabled){color:var(--status-error-text)}.rfa-item--danger:hover:not(:disabled){background:var(--status-error-bg)}:root{--bg-body: #0d0f1a;--bg-sidebar: #111320;--bg-topbar: #161928;--bg-surface: #1a1d2e;--bg-hover: #252840;--surface-2: #222540;--border: #2a2e45;--border-light: #3a3f5c;--text-primary: #eaecf5;--text-secondary: #a3a9c0;--text-muted: #8b8fa9;--brand: #0d7e27;--brand-rgb: 13, 126, 39;--brand-hover: #0b6b21;--brand-bright: #46af5e;--brand-bright-rgb: 70, 175, 94;--brand-tint: rgba(13, 126, 39, .18);--brand-tint-strong: rgba(13, 126, 39, .28);--brand-border: rgba(70, 175, 94, .5);--on-brand: #fff;--brand-grey: #868685;--focus-ring: var(--brand-bright);--accent-brand: var(--brand-bright);--accent-brand-bg: var(--brand-tint);--accent-brand-faint: var(--brand-tint);--accent-shipping: var(--brand-bright);--accent-shipping-bg: var(--brand-tint);--accent-climate: var(--brand-bright);--accent-climate-bg: var(--brand-tint);--accent-green: var(--brand-bright);--accent: var(--brand);--status-success: var(--brand);--status-success-text: var(--brand-bright);--status-success-bg: var(--brand-tint);--status-success-border: var(--brand-border);--status-error: #e5484d;--status-error-text: #ef7478;--status-error-strong: #c9363b;--status-error-bg: rgba(229, 72, 77, .12);--status-error-border: rgba(229, 72, 77, .4);--status-warning: #d99a00;--status-warning-text: #d99a00;--status-warning-bg: rgba(217, 154, 0, .12);--status-warning-border: rgba(217, 154, 0, .4);--status-info: #3b82f6;--status-info-text: #64a0fa;--status-info-bg: rgba(59, 130, 246, .12);--status-info-border: rgba(59, 130, 246, .4);--accent-red: var(--status-error-text);--accent-red-bg: var(--status-error-bg);--accent-warn: var(--status-warning-text);--accent-warn-bg: var(--status-warning-bg);--accent-amber: var(--status-warning);--accent-blue: var(--status-info-text);--color-success: var(--status-success-text);--danger: var(--status-error-strong);--text-main: var(--text-primary);--text: var(--text-primary);--bg-page: var(--bg-body);--bg-card: var(--bg-surface);--bg-input: var(--bg-surface);--bg-primary: var(--bg-surface);--surface-1: var(--bg-surface);--bg-surface-2: var(--surface-2);--bg-secondary: var(--surface-2);--bg-subtle: var(--surface-2);--surface-alt: rgba(255, 255, 255, .02);--bg-active: var(--brand-tint);--font-sans: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "Cascadia Mono", Consolas, ui-monospace, SFMono-Regular, Menlo, monospace;--fs-page-title: 1.5rem;--fs-section-title: 1.0625rem;--fs-body: .875rem;--fs-small: .8125rem;--fs-caption: .75rem;--sidebar-width: 270px;--radius-sm: 6px;--radius: 8px;--radius-md: var(--radius);--radius-lg: 12px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow: 0 4px 20px rgba(0, 0, 0, .4);--shadow-md: var(--shadow);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .5);--shadow-glow-brand: 0 0 24px rgba(13, 126, 39, .22);--shadow-glow-climate: var(--shadow-glow-brand);--shadow-glow-shipping: var(--shadow-glow-brand);--transition-fast: .12s ease;--transition-base: .2s ease;--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background-color:var(--bg-body);background-image:linear-gradient(135deg,#8686850d,#0d7e270f);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:1.5}input[type=checkbox],input[type=radio],input[type=range],progress{accent-color:var(--brand)}.page-title,.page-header h1{margin:0;font-size:var(--fs-page-title);font-weight:700;line-height:1.25;color:var(--text-primary)}.section-title{margin:0;font-size:var(--fs-section-title);font-weight:700;line-height:1.35;color:var(--text-primary)}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #46af5e00}50%{box-shadow:0 0 12px 2px #46af5e40}}.app-shell{display:flex;min-height:100%}.app-sidebar{width:var(--sidebar-width);background:linear-gradient(180deg,#131525,#0f1020);border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;flex-shrink:0;transition:width .25s cubic-bezier(.4,0,.2,1),margin .25s;box-shadow:1px 0 #ffffff08,3px 0 16px #0000004d}.app-sidebar.sidebar-closed{width:52px;min-width:52px;overflow:hidden}.app-sidebar.sidebar-closed .sidebar-section-label,.app-sidebar.sidebar-closed .sidebar-nav span,.app-sidebar.sidebar-closed .nested-sidebar,.app-sidebar.sidebar-closed .sidebar-footer,.app-sidebar.sidebar-closed .sidebar-tagline{display:none}.app-sidebar.sidebar-closed .sidebar-link{justify-content:center;padding:10px}.app-sidebar.sidebar-closed .sidebar-nav{padding:8px 6px;align-items:center}.app-sidebar.sidebar-closed .sidebar-logo{padding:12px 8px}.app-sidebar.sidebar-closed .sidebar-logo img{width:32px;height:32px;max-height:none}.sidebar-logo{padding:20px 20px 18px;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center}.sidebar-logo-inner{display:flex;flex-direction:column;align-items:center;gap:8px}.sidebar-logo img{width:100%;max-width:100%;height:auto;max-height:72px;object-fit:contain;display:block}.sidebar-tagline{font-size:var(--fs-caption);font-weight:600;color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;text-align:center;line-height:1.4}.sidebar-nav{flex:1;padding:12px 10px;display:flex;flex-direction:column;gap:6px;overflow-y:auto}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--border);font-size:var(--fs-caption);color:var(--text-muted);text-align:center;line-height:1.6;display:flex;flex-direction:column;gap:1px}.sidebar-section-label{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);padding:.75rem .75rem .25rem}.sidebar-link{display:flex;align-items:center;gap:.5rem;width:100%;padding:9px 12px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;text-align:left;border-radius:var(--radius);font-size:.875rem;transition:background var(--transition-base),color var(--transition-base),box-shadow var(--transition-base);position:relative}.sidebar-link:hover{background:#ffffff0d;color:var(--text-primary)}.sidebar-link.active{background:var(--brand-tint);color:var(--brand-bright);box-shadow:inset 3px 0 0 var(--brand-bright);font-weight:600}.nested-sidebar{padding:0 .5rem .5rem 2rem;max-height:40vh;overflow-y:auto}.sidebar-project-list{list-style:none;margin:0;padding:0}.sidebar-project-link{display:flex;align-items:center;gap:6px;flex:1;min-width:0;padding:6px 8px;font-size:.8rem;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius);text-align:left;transition:background var(--transition-fast),color var(--transition-fast)}.sidebar-project-link:hover{background:#ffffff0d;color:var(--text-primary)}.sidebar-project-link.active{background:var(--brand-tint);color:var(--brand-bright);font-weight:600}.sidebar-unread-badge{flex-shrink:0;margin-left:auto;min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-caption);font-weight:700;line-height:1;border-radius:999px;background:var(--brand);color:var(--on-brand)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-nested-msg{font-size:.8rem;padding:4px 8px}.app-main{flex:1;display:flex;flex-direction:column;min-width:0}.app-topbar{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;background:#161928eb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.07);box-shadow:0 1px #ffffff0a,0 2px 12px #00000040}.topbar-left,.topbar-right{display:flex;align-items:center;gap:8px}.topbar-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:.85rem}.bc-sep{color:var(--text-muted);flex-shrink:0}.bc-link{background:none;border:none;color:var(--text-secondary);cursor:pointer}.bc-link:hover{color:var(--brand-bright)}.current{color:var(--text-primary)}.topbar-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;font-size:.8rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-primary);border-radius:var(--radius);cursor:pointer;transition:background var(--transition-base),border-color var(--transition-base);box-shadow:none;transform:none!important;font-weight:500}.topbar-btn:hover:not(:disabled){background:#ffffff14;border-color:#ffffff2e;box-shadow:none;transform:none}.topbar-btn.danger{border-color:var(--status-error-border);color:var(--status-error-text)}.topbar-btn.danger:hover:not(:disabled){background:var(--status-error-bg);border-color:var(--status-error)}.topbar-email{font-size:.8rem;color:var(--text-secondary);display:flex;align-items:center;gap:4px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-banner{padding:8px 16px;background:var(--status-error-bg);color:var(--status-error-text);font-size:.85rem}.app-content{flex:1;padding:1.25rem 1.5rem;overflow:auto;animation:fadeSlideIn .2s ease both}.page-wrap{max-width:1100px}.page-wrap--full{max-width:none}.page-wrap--full-width,.page-wrap--full-width .climate-tab-section{max-width:none;width:100%}.page-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.project-header{align-items:flex-start}.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-form input{min-width:200px}.year-label{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-secondary)}.project-header-block{margin-bottom:1.25rem}.project-header-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:10px}.project-title{margin:0;font-size:var(--fs-page-title);font-weight:700;color:var(--text-primary);line-height:1.25}.project-selector-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.selector-box{display:flex;align-items:center;gap:10px;padding:5px 12px;border-radius:8px;border:1px solid transparent}.selector-box-label{font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;color:var(--text-secondary)}.selector-box select{padding:4px 8px;background:var(--bg-surface);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font:inherit;font-size:.9rem;cursor:pointer;min-width:90px}.selector-box.project-box,.selector-box.year-box,.selector-box.article-box{background:#ffffff0a;border-color:var(--border-light);transition:box-shadow var(--transition-base),border-color var(--transition-base)}.selector-box.project-box:hover,.selector-box.year-box:hover,.selector-box.article-box:hover{border-color:var(--brand-border)}.selector-box.project-box:focus-within,.selector-box.year-box:focus-within,.selector-box.article-box:focus-within{border-color:var(--brand-bright);box-shadow:0 0 0 2px rgba(var(--brand-bright-rgb),.2)}.selector-divider{display:inline-block;width:1px;height:28px;background:var(--border);margin:0 4px}.sidebar-project-row{display:flex;align-items:center;gap:2px}.sidebar-project-row.active .sidebar-project-link{background:var(--brand-tint);color:var(--brand-bright)}.sidebar-project-expand{flex-shrink:0;background:none;border:none;padding:2px;cursor:pointer;color:var(--text-muted);display:flex;align-items:center}.sidebar-project-expand:hover{background:none;color:var(--text-primary)}.sidebar-year-summary{font-size:var(--fs-caption);color:var(--text-muted);font-weight:400;flex-shrink:0;margin-left:2px}.sidebar-year-chips{display:flex;flex-wrap:wrap;gap:4px;padding:4px 4px 6px 28px}.sidebar-year-chip{font-size:.75rem;padding:2px 8px;border-radius:4px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.sidebar-year-chip.active{background:var(--brand);border-color:var(--brand-bright);color:var(--on-brand)}.sidebar-year-chip:hover:not(.active){background:var(--bg-hover);border-color:var(--border-light)}.sidebar-year-chip.article-chip{cursor:default;font-weight:600}.sidebar-year-chip.article-chip:not(span){cursor:pointer}.sidebar-year-chip.article-chip.active{background:var(--brand);border-color:var(--brand-bright);color:var(--on-brand)}.article-badge-row{display:inline-flex;gap:4px;align-items:center;vertical-align:middle}.article-badge{display:inline-block;font-size:var(--fs-caption);font-weight:700;padding:1px 7px;border-radius:20px;background:#ffffff0f;border:1px solid rgba(134,134,133,.45);color:var(--text-secondary);letter-spacing:.02em}.sidebar-project-actions{display:flex;align-items:center;gap:2px;margin-left:auto;flex-shrink:0}.sidebar-action-btn{background:none;border:none;padding:3px;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;border-radius:3px;line-height:1}.sidebar-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-action-btn.danger:hover{background:var(--status-error-bg);color:var(--status-error-text)}.sidebar-rename-row{display:flex;align-items:center;gap:3px;flex:1;min-width:0}.sidebar-rename-input{flex:1;min-width:0;font-size:.82rem;padding:2px 5px;border:1px solid var(--brand-bright);border-radius:4px;background:var(--bg-surface);color:var(--text-primary);outline:none}.mgmt-panel-wrapper{position:relative}.mgmt-trigger-btn{display:inline-flex;align-items:center;gap:5px;font-size:.82rem;font-weight:500;background:#ffffff0d;border:1px solid var(--border-light);color:var(--text-secondary);box-shadow:none;transform:none;transition:background var(--transition-base),border-color var(--transition-base),color var(--transition-base),box-shadow var(--transition-base)}.mgmt-trigger-btn:hover:not(:disabled){background:#ffffff14;border-color:var(--brand-border);color:var(--text-primary);box-shadow:none;transform:none}.mgmt-trigger-btn.open{background:var(--brand-tint);border-color:var(--brand-bright);color:var(--brand-bright);box-shadow:none;transform:none}.mgmt-chevron{transition:transform .22s cubic-bezier(.4,0,.2,1);flex-shrink:0;color:var(--text-muted)}.mgmt-chevron.rotated{transform:rotate(180deg)}.mgmt-panel{position:absolute;top:calc(100% + 8px);right:0;min-width:272px;background:var(--bg-hover);border:1px solid var(--border-light);border-radius:10px;box-shadow:0 20px 60px #0000008c,0 4px 16px #0000004d,0 0 0 1px #ffffff0a inset;z-index:200;overflow:hidden;animation:mgmt-panel-enter .18s cubic-bezier(.16,1,.3,1)}@keyframes mgmt-panel-enter{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.mgmt-panel-hd{display:flex;align-items:center;gap:7px;padding:11px 14px;background:#00000038;border-bottom:1px solid var(--border-light);font-size:var(--fs-caption);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.mgmt-panel-hd span{flex:1}.mgmt-close-btn{background:none;border:none;padding:3px;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;border-radius:4px;line-height:1;box-shadow:none;transform:none;transition:background var(--transition-fast),color var(--transition-fast)}.mgmt-close-btn:hover:not(:disabled){background:#ffffff14;color:var(--text-primary);box-shadow:none;transform:none}.mgmt-section{padding:8px 0 4px}.mgmt-section-title{display:flex;align-items:center;gap:5px;padding:0 14px 5px;font-size:var(--fs-caption);font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--text-secondary)}.mgmt-section-sep{height:1px;background:var(--border-light)}.mgmt-panel-footer{height:6px}.mgmt-action-row{padding:1px 8px}.mgmt-action-btn{display:flex;align-items:center;gap:8px;width:100%;padding:8px;background:none;border:none;border-radius:6px;font-size:.84rem;font-weight:500;color:var(--text-primary);cursor:pointer;text-align:left;box-shadow:none;transform:none;transition:background var(--transition-fast),color var(--transition-fast)}.mgmt-action-btn:hover:not(:disabled){background:#ffffff12;box-shadow:none;transform:none}.mgmt-action-btn--danger{color:var(--status-error-text)}.mgmt-action-btn--danger:hover:not(:disabled){background:var(--status-error-bg);color:var(--status-error-text)}.mgmt-val-badge{margin-left:auto;font-size:var(--fs-caption);font-weight:600;padding:1px 7px;border-radius:20px;background:#ffffff14;border:1px solid var(--border-light);color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.mgmt-val-badge--danger{background:var(--status-error-bg);border-color:var(--status-error-border);color:var(--status-error-text)}.mgmt-inline-form{display:flex;align-items:center;gap:6px;padding:7px 8px;background:#0000002e;border-radius:6px;border:1px solid var(--brand-border);flex-wrap:wrap}.mgmt-form-icon{color:var(--brand-bright);flex-shrink:0}.mgmt-number-input{width:72px;padding:3px 6px;font-size:.82rem;font:inherit;background:#00000040;border:1px solid var(--border-light);border-radius:4px;color:var(--text-primary)}.mgmt-article-chips{display:flex;gap:5px;flex-shrink:0}.mgmt-article-chip{padding:3px 12px;border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.02em;background:#ffffff0f;border:1px solid var(--border-light);color:var(--text-secondary);cursor:pointer;box-shadow:none;transform:none;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.mgmt-article-chip:hover:not(:disabled){background:#ffffff1a;border-color:var(--brand-border);color:var(--text-primary);box-shadow:none;transform:none}.mgmt-article-chip.selected,.mgmt-article-chip.selected:hover:not(:disabled){background:var(--brand);border-color:var(--brand-bright);color:var(--on-brand);box-shadow:none;transform:none}input,button{font:inherit}input{padding:8px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);transition:border-color var(--transition-base),box-shadow var(--transition-base);outline:none}input:focus{border-color:var(--brand-bright);box-shadow:0 0 0 3px rgba(var(--brand-bright-rgb),.2)}button{padding:8px 14px;border-radius:var(--radius);border:none;background:var(--brand);color:var(--on-brand);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:opacity var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-base),transform var(--transition-fast),filter var(--transition-fast);font-weight:500}button:hover:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(-1px)}button:where(:hover:not(:disabled)){background-color:var(--brand-hover)}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media(prefers-reduced-motion:reduce){button{transition:none}button:hover:not(:disabled){transform:none}}.btn-sm{padding:4px 10px;font-size:.8rem}.btn-sm.ghost{background:transparent;border:1px solid var(--border);color:var(--text-secondary);box-shadow:none}.btn-sm.ghost:hover:not(:disabled){border-color:var(--border-light);color:var(--text-primary);box-shadow:none;background:#ffffff0a;transform:none}.btn-icon{padding:6px;background:transparent;border:none;color:var(--text-secondary);box-shadow:none;transform:none!important}.btn-icon.danger{color:var(--status-error-text)}.btn-icon:hover{color:var(--text-primary);background:#ffffff0f;box-shadow:none}.btn-primary{background:var(--brand);color:var(--on-brand);padding:12px 24px;font-weight:600;letter-spacing:.01em}.btn-primary:hover:not(:disabled){background:var(--brand-hover);color:var(--on-brand);box-shadow:var(--shadow-sm)}.muted{color:var(--text-muted)}.small{font-size:.8rem}.text-warn{color:var(--status-error-text)}.banner-error{padding:12px;background:var(--status-error-bg);border:1px solid var(--status-error-border);border-radius:var(--radius);color:var(--status-error-text);margin-bottom:1rem}.banner-warning{padding:12px;background:var(--status-warning-bg);border:1px solid var(--status-warning-border);border-radius:var(--radius);color:var(--status-warning-text);margin-bottom:1rem;line-height:1.5}.btn-link{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}.card-list{display:flex;flex-direction:column;gap:8px}.card-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.card-row:hover{border-color:var(--brand-border);box-shadow:var(--shadow-glow-brand);transform:translateY(-1px)}.card-row-main{display:flex;flex-direction:column;gap:4px}.card-row-actions{display:flex;align-items:center;gap:2px;flex:none}.card-row-rename{display:flex;align-items:center;gap:6px;flex:1;min-width:0;cursor:default}.card-row-rename input{flex:1;min-width:0}.card-row-rename-error{color:var(--status-error-text);white-space:nowrap}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:1rem}.tabs button{position:relative;display:inline-flex;align-items:center;gap:5px;background:transparent;color:var(--text-secondary);border:none;border-bottom:2px solid transparent;border-radius:0;padding:10px 16px;margin-bottom:-1px;font-weight:500;transition:color var(--transition-base),border-color var(--transition-base);box-shadow:none;transform:none!important}.tabs button:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:center;transition:transform var(--transition-slow)}.tabs button.active:after{transform:scaleX(1)}@media(prefers-reduced-motion:reduce){.tabs button:after{transition:none}}.tabs button:hover:not(:disabled){color:var(--text-primary);background:transparent;box-shadow:none;transform:none}.tabs button.active{color:var(--brand-bright);border-bottom-color:transparent;font-weight:600}.tab-panel{margin-top:1rem;animation:fadeSlideIn .28s cubic-bezier(.16,1,.3,1) both}@media(prefers-reduced-motion:reduce){.tab-panel{animation:none}}.toolbar{display:flex;gap:8px;margin-bottom:1rem;flex-wrap:wrap}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th,.data-table td{padding:10px 12px;text-align:left;border-bottom:1px solid rgba(255,255,255,.05)}.data-table th{color:var(--text-secondary);font-weight:600;font-size:.8rem;letter-spacing:.03em;background:linear-gradient(90deg,#ffffff0a,#ffffff05)}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover td{background:#ffffff08}.nowrap{white-space:nowrap}.row-actions{display:flex;gap:4px}.live-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:var(--fs-caption);font-weight:600;letter-spacing:.03em;border:1px solid transparent}.live-badge.live{background:var(--status-success-bg);color:var(--status-success-text);border-color:var(--status-success-border)}.live-badge.live:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--status-success-text);animation:pulse-glow 2s ease infinite}.live-badge.offline{background:var(--bg-surface);color:var(--text-muted);border-color:var(--border)}.login-splash{min-height:50vh;display:grid;place-content:center;justify-items:center;gap:12px;padding:24px;text-align:center}.app-error-fallback{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:16px;padding:24px;text-align:center}.app-error-fallback-title{margin:0;font-size:1.5rem;color:var(--text-primary)}.app-error-fallback-text{margin:0;max-width:420px;color:var(--text-secondary);line-height:1.5}.login-loader{width:28px;height:28px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--brand-bright);animation:spin 1s linear infinite}.login-title,.login-brand{margin:0}.login-sub{color:var(--text-muted);margin:0}.login-alert{padding:10px;border-radius:var(--radius);background:var(--status-error-bg);color:var(--status-error-text);max-width:420px}.confirm-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999}.confirm-box{background:var(--surface-1);border:1px solid var(--border-light);border-radius:var(--radius);padding:1.5rem;max-width:400px;width:90%;box-shadow:0 8px 32px #0006}.confirm-message{margin:0 0 1.25rem;color:var(--text-primary);font-size:.95rem;line-height:1.5}.confirm-actions{display:flex;justify-content:flex-end;gap:.5rem}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:.75rem}.modal-box{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 64px #00000073;overflow:hidden}.pager{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:12px}.pager-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px 6px}.pager-label{font-size:.8rem;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;padding:0 4px}.pager--compact{justify-content:space-between;gap:2px;margin-top:4px}.pager--compact .pager-btn{padding:2px 4px}.pager--compact .pager-label{font-size:var(--fs-caption);color:var(--text-muted)}@keyframes em-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes em-shimmer{to{background-position:200% 0}}@keyframes em-grow-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.em-rise{animation:em-rise .45s cubic-bezier(.16,1,.3,1) both}.em-skeleton{border-radius:var(--radius);background:linear-gradient(90deg,var(--surface-2) 25%,var(--bg-hover) 37%,var(--surface-2) 63%);background-size:200% 100%;animation:em-shimmer 1.4s linear infinite}.em-skeleton-tile{height:84px}.em-skeleton-chart{height:260px}.em-skeleton-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}@media(prefers-reduced-motion:reduce){.em-rise,.em-skeleton{animation:none}}.login-page{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-body);overflow:hidden;isolation:isolate}.login-page:before{content:"";position:absolute;width:60vmax;height:60vmax;top:50%;left:50%;margin:-30vmax 0 0 -30vmax;border-radius:50%;background:radial-gradient(circle,rgba(13,126,39,.55),transparent 62%);filter:blur(90px);opacity:.35;z-index:-1;pointer-events:none;animation:lg-breathe 18s ease-in-out infinite alternate}@keyframes lg-breathe{0%{transform:scale(.92);opacity:.3}to{transform:scale(1.06);opacity:.4}}.login-stack{display:flex;flex-direction:column;align-items:center;padding:24px;max-width:480px;width:100%}.login-hero{text-align:center;margin-bottom:36px;animation:lg-rise .7s cubic-bezier(.16,1,.3,1) both}.login-hero img{width:min(440px,98vw);height:auto;margin:-10px 0;filter:drop-shadow(0 10px 32px rgba(0,0,0,.45))}.login-tagline{color:var(--text-secondary);font-weight:700;font-size:1rem;text-transform:uppercase;letter-spacing:.09em;animation:lg-tagline 1.1s .2s cubic-bezier(.16,1,.3,1) both}@keyframes lg-rise{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes lg-tagline{0%{opacity:0;letter-spacing:.32em}to{opacity:1;letter-spacing:.09em}}.login-card{position:relative;width:100%;background:#1a1d2eb8;-webkit-backdrop-filter:blur(20px) saturate(1.3);backdrop-filter:blur(20px) saturate(1.3);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:36px 32px 28px;display:flex;flex-direction:column;align-items:center;box-shadow:0 20px 60px #00000080,inset 0 0 0 1px #ffffff08;animation:lg-rise .7s .1s cubic-bezier(.16,1,.3,1) both}.login-card:before{content:"";position:absolute;top:0;left:22px;right:22px;height:1px;background:linear-gradient(90deg,transparent,var(--brand-bright),transparent)}.login-view{width:100%;display:flex;flex-direction:column;align-items:center;animation:lg-view .32s ease both}@keyframes lg-view{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.login-heading{color:var(--text-primary);margin:0 0 8px;font-weight:700;font-size:1.25rem;text-align:center}.login-sub-text{color:var(--text-secondary);font-size:.85rem;margin:0 0 20px;text-align:center}.login-btn{position:relative;width:100%;padding:12px 0;font-size:1rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--radius);background:var(--brand);color:var(--on-brand);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--transition-base),box-shadow var(--transition-base),background-color var(--transition-base),opacity var(--transition-base)}.login-btn:hover:not(:disabled){transform:translateY(-1px);background:var(--brand-hover);box-shadow:var(--shadow)}.login-btn:active:not(:disabled){transform:translateY(0) scale(.99)}.login-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.login-btn:disabled{opacity:.65;cursor:not-allowed}.login-btn-ghost{width:100%;padding:12px 0;font-size:1rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:var(--text-primary);border:1px solid var(--border-light);border-radius:var(--radius);cursor:pointer;transition:border-color var(--transition-base),background var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.login-btn-ghost:hover:not(:disabled){border-color:var(--brand-bright);background:var(--brand-tint);box-shadow:none;transform:translateY(-1px)}.login-btn-ghost:disabled{opacity:.65;cursor:not-allowed}.login-link{background:none;border:none;color:var(--text-secondary);font-size:.85rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:color var(--transition-fast)}.login-link:hover:not(:disabled){color:var(--text-primary)}.login-link:disabled{cursor:not-allowed;opacity:.7}.login-error{color:var(--status-error-text);background:var(--status-error-bg);border:1px solid var(--status-error-border);border-radius:var(--radius);padding:8px 12px;margin-bottom:16px;text-align:center;font-size:.85rem;width:100%;animation:lg-shake .4s ease}@keyframes lg-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.login-footer{margin-top:32px;color:var(--text-muted);font-size:.75rem;text-align:center;animation:lg-rise .7s .3s cubic-bezier(.16,1,.3,1) both}@media(prefers-reduced-motion:reduce){.login-page:before,.login-hero,.login-tagline,.login-card,.login-view,.login-error,.login-footer{animation:none}.login-btn,.login-btn-ghost{transition:none}}.group-card{background:linear-gradient(145deg,var(--bg-surface) 0%,rgba(30,33,50,.95) 100%);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;display:flex;flex-direction:column;gap:12px;transition:border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base);position:relative;overflow:hidden}.group-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.02) 0%,transparent 60%);pointer-events:none;border-radius:inherit}.group-card:hover{border-color:var(--border-light);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.group-card.shipping:hover,.group-card.climate:hover{border-color:var(--brand-border);box-shadow:var(--shadow-lg),var(--shadow-glow-brand)}.group-card .icon-circle{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:box-shadow var(--transition-base)}.group-card .icon-circle.shipping,.group-card .icon-circle.climate{background:var(--brand-tint);color:var(--brand-bright);box-shadow:0 0 0 1px var(--brand-border)}.group-card:hover .icon-circle.shipping,.group-card:hover .icon-circle.climate{box-shadow:0 0 0 1px var(--brand-bright)}.btn-groups-enter{border:none;color:var(--on-brand);border-radius:var(--radius);cursor:pointer}.btn-primary-climate{background:var(--brand);color:var(--on-brand);padding:10px 18px;font-weight:600}.btn-primary-climate:hover:not(:disabled){background:var(--brand-hover);box-shadow:var(--shadow-sm)}.climate-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:1.25rem}.climate-tab-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--text-secondary);border:none;border-bottom:2px solid transparent;border-radius:0;padding:10px 18px;margin-bottom:-1px;font-size:.85rem;cursor:pointer;font-weight:500;transition:color var(--transition-base),background var(--transition-base);box-shadow:none;transform:none!important}.climate-tab-btn:hover:not(:disabled){color:var(--text-primary);background:#ffffff08;box-shadow:none;transform:none}.climate-tab-btn.active{font-weight:600;color:var(--brand-bright)}.climate-tab-btn{position:relative;--tab-underline: transparent}.climate-tab-btn:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--tab-underline);transform:scaleX(0);transform-origin:center;transition:transform var(--transition-slow)}.climate-tab-btn.active:after{transform:scaleX(1)}.climate-tab-btn.active{--tab-underline: var(--brand-bright)}.climate-tab-btn.active{border-bottom-color:transparent}@media(prefers-reduced-motion:reduce){.climate-tab-btn:after{transition:none}}.climate-tab-section{display:flex;flex-direction:column;gap:1.25rem}.climate-tab-section--full{max-width:none}.climate-tab-header{display:flex;align-items:flex-start;gap:12px}.climate-tab-title{font-size:var(--fs-section-title);font-weight:700;line-height:1.35;margin:0 0 4px;color:var(--text-primary)}.climate-tab-sub{font-size:.83rem;color:var(--text-secondary);margin:0;line-height:1.5}.factors-page{display:flex;flex-direction:column;gap:2rem}.factors-year-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:1rem;border-bottom:1px solid var(--border)}.factors-year-label{font-size:.8rem;font-weight:700;color:var(--text-secondary);white-space:nowrap}.factors-year-chips{display:flex;gap:6px;flex-wrap:wrap}.factors-section{display:flex;flex-direction:column;gap:.75rem}.factors-section-title{font-size:.9rem;font-weight:700;color:var(--text-primary);margin:0;padding-bottom:4px;border-bottom:1px solid var(--border)}.factors-subsection-title{font-size:.82rem;font-weight:600;color:var(--text-secondary);margin:.5rem 0 0}.factors-note{font-size:.8rem;color:var(--text-secondary);margin:0;line-height:1.5}.ai-cost-header-main{min-width:0}.ai-cost-sub-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ai-cost-sub-row .climate-tab-sub{margin:0}.ai-cost-year-filter{display:inline-flex;align-items:center;gap:6px;margin-bottom:0;padding:3px 8px;border:1px solid var(--border-light);border-radius:7px;background:#ffffff0a}.ai-cost-year-label{font-size:var(--fs-caption);font-weight:700;color:var(--text-secondary);letter-spacing:.02em}.ai-cost-year-select{min-width:76px;padding:3px 8px;border:1px solid var(--border-light);border-radius:5px;background:var(--bg-surface);color:var(--text-primary);font-size:.76rem;font-weight:600;cursor:pointer;appearance:auto}.ai-cost-year-select:focus{outline:none;border-color:var(--brand-bright);box-shadow:0 0 0 2px rgba(var(--brand-bright-rgb),.25)}.ai-cost-year-select option{background:var(--bg-surface);color:var(--text-primary)}.summary-filters{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 16px;background:#ffffff08;border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:20px}.summary-filters .filter-icon{color:var(--text-muted);flex-shrink:0}.summary-filter-item{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-muted)}.summary-filter-item select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:12.5px;padding:4px 8px;cursor:pointer}.summary-filter-item select:focus{outline:none;border-color:var(--brand-bright)}.summary-view-toggle{display:flex;gap:2px;margin-left:auto;background:#ffffff0a;border:1px solid var(--border);border-radius:var(--radius-md);padding:3px}.vt-btn{background:none;border:none;color:var(--text-muted);padding:5px 8px;border-radius:calc(var(--radius-md) - 2px);cursor:pointer;display:flex;align-items:center;transition:background .15s,color .15s}.vt-btn:hover{background:#ffffff0f;color:var(--text-primary)}.vt-btn.active{background:var(--brand);color:var(--on-brand);box-shadow:inset 0 0 0 1px var(--brand-bright)}.summary-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.summary-project-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:10px;transition:border-color .15s,box-shadow .15s}.summary-project-card:hover{border-color:var(--border-light);box-shadow:var(--shadow-md)}.summary-project-card.spc-dim{opacity:.55}.spc-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.spc-title-row{display:flex;align-items:center;gap:6px}.spc-icon{color:var(--text-muted);flex-shrink:0}.spc-name{font-size:14px;line-height:1.3;color:var(--text-primary)}.spc-badges{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.spc-row{display:flex;gap:8px;font-size:12.5px;border-top:1px solid rgba(255,255,255,.05);padding-top:8px}.spc-lbl{color:var(--text-muted);min-width:76px;flex-shrink:0}.spc-val{color:var(--text-primary)}.spc-section{display:flex;flex-direction:column;gap:6px}.spc-toggle{background:none;border:none;color:var(--text-muted);font-size:12.5px;padding:4px 0;cursor:pointer;display:flex;align-items:center;gap:5px;transition:color .15s}.spc-toggle:hover{color:var(--text-primary)}.spc-activities{display:flex;flex-direction:column;gap:5px;padding-left:18px}.activity-chip{display:flex;align-items:flex-start;gap:6px;background:#ffffff08;border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 8px;cursor:pointer;font-size:12px;text-align:left;color:var(--text-secondary);transition:border-color .15s,background .15s}.activity-chip:hover{border-color:var(--border-light);background:#ffffff0f}.activity-chip.active{border-color:var(--brand-bright);background:var(--brand-tint);color:var(--text-primary)}.activity-chip.filter-clear{color:var(--brand-bright);font-size:12px}.act-badge{font-size:var(--fs-caption);padding:1px 5px;border-radius:3px;flex-shrink:0;font-weight:600;margin-top:1px}.act-badge.main{background:#ffffff1a;color:var(--text-primary)}.act-badge.sec{background:#ffffff0d;color:var(--text-secondary)}.act-code{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);flex-shrink:0}.act-desc{color:var(--text-secondary);line-height:1.3}.spc-team{display:flex;flex-direction:column;gap:5px;padding-left:18px}.team-row{display:flex;gap:8px;font-size:12px;overflow:hidden}.team-lbl{color:var(--text-muted);min-width:80px;max-width:90px;flex-shrink:0;font-size:12px}.team-row>span:last-child{overflow-wrap:break-word;word-break:break-word;min-width:0;flex:1}.spc-emissions{border-top:1px solid rgba(255,255,255,.06);padding-top:10px}.spc-emit-table{width:100%;font-size:12px;border-collapse:collapse}.spc-emit-table th{font-weight:600;color:var(--text-muted);font-size:12px;padding:3px 6px;text-align:right;border-bottom:1px solid var(--border)}.spc-emit-table th:first-child{text-align:left}.spc-emit-table td{padding:4px 6px;text-align:right;color:var(--text-secondary);border-bottom:1px solid rgba(255,255,255,.04);font-variant-numeric:tabular-nums}.spc-emit-table td:first-child{text-align:left;color:var(--text-primary)}.emit-total{font-weight:600;color:var(--text-primary)!important}.summary-charts-section{display:flex;flex-direction:column;gap:28px}.summary-chart-wrap{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 20px 16px;position:relative}.summary-chart-header{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.summary-chart-title{font-size:14px;font-weight:600;color:var(--text-primary)}.summary-chart-sub{font-size:12px;color:var(--text-muted)}.summary-svg{width:100%;height:auto;display:block;overflow:visible}.summary-tooltip{position:absolute;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:8px 12px;font-size:12.5px;color:var(--text-primary);pointer-events:none;white-space:nowrap;box-shadow:0 6px 20px #00000080;z-index:50;transform:translate(-50%,-100%);line-height:1.6}.summary-table-section{display:flex;flex-direction:column;gap:8px}.summary-table-wrap{overflow-x:auto}.summary-data-table .num-col{text-align:right;font-variant-numeric:tabular-nums}.summary-main-row{transition:background .1s}.summary-main-row:hover{background:#ffffff08}.summary-detail-row td{padding:0;background:#ffffff04}.kat-breakdown-grid{display:flex;flex-wrap:wrap;gap:6px;padding:10px 16px}.kat-cell{display:flex;align-items:center;gap:5px;background:#ffffff0a;border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 9px;font-size:12px}.kat-group-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.kat-group-dot.g1{background:#3b7ddd}.kat-group-dot.g2{background:#1497a8}.kat-short{font-family:var(--font-mono);color:var(--text-muted);font-size:12px}.kat-val{font-variant-numeric:tabular-nums;color:var(--text-primary);font-weight:500}.year-chip{display:inline-block;padding:2px 7px;border-radius:4px;font-size:var(--fs-caption);font-weight:600;background:#ffffff12;color:var(--text-muted);border:1px solid var(--border)}.year-chip.active{background:var(--brand);color:var(--on-brand);border-color:var(--brand-bright)}.project-search{display:flex;align-items:center;gap:8px;padding:6px 12px;margin-bottom:14px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.project-search:focus-within{border-color:var(--brand-bright);box-shadow:0 0 0 2px rgba(var(--brand-bright-rgb),.2)}.project-search-icon{color:var(--text-muted);flex-shrink:0}.project-search input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:13.5px;padding:2px 0}.project-search input::placeholder{color:var(--text-muted)}.project-search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.project-search-clear{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:var(--radius-sm);flex-shrink:0;transition:color .15s,background .15s}.project-search-clear:hover{color:var(--text-primary);background:#ffffff0f}.project-search-count{flex-shrink:0;font-variant-numeric:tabular-nums;white-space:nowrap}.gaic-tab{gap:1rem}.gaic-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:10px}.gaic-kpi{padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);animation:gaic-in .45s cubic-bezier(.16,1,.3,1) both;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.gaic-kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--border-light)}.gaic-kpi:nth-child(2){animation-delay:.05s}.gaic-kpi:nth-child(3){animation-delay:.1s}.gaic-kpi:nth-child(4){animation-delay:.15s}.gaic-kpi:nth-child(n+5){animation-delay:.2s}@keyframes gaic-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.gaic-kpi-primary{border-color:var(--border-light);background:var(--surface-2)}.gaic-kpi-label{font-size:var(--fs-caption);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}.gaic-kpi-value{font-size:1.25rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums;line-height:1.1}.gaic-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface)}.gaic-search{position:relative;flex:1 1 260px;min-width:200px}.gaic-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.gaic-search input{width:100%;padding:7px 10px 7px 32px;border:1px solid var(--border);border-radius:6px;background:var(--bg-body);color:var(--text-primary);font-size:.84rem}.gaic-search input:focus{outline:none;border-color:var(--brand-bright)}.gaic-filter{display:flex;flex-direction:column;gap:3px}.gaic-filter>span{font-size:var(--fs-caption);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.gaic-filter select{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-body);color:var(--text-primary);font-size:.82rem;max-width:220px}.gaic-filter select:focus{outline:none;border-color:var(--brand-bright)}.gaic-clear{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border:1px solid var(--border-light);border-radius:6px;background:transparent;color:var(--text-secondary);font-size:.78rem;cursor:pointer}.gaic-clear:hover{color:var(--text-primary);background:var(--bg-hover)}.gaic-count{margin-left:auto;align-self:center;font-variant-numeric:tabular-nums;white-space:nowrap}.gaic-breakdown{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);padding:12px 14px}.gaic-breakdown-head{margin-bottom:12px}.gaic-dim-toggle{display:inline-flex;flex-wrap:wrap;gap:4px;background:var(--bg-body);border:1px solid var(--border);border-radius:8px;padding:3px}.gaic-dim-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:.78rem;font-weight:600;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.gaic-dim-btn:hover{color:var(--text-primary)}.gaic-dim-btn.active{background:var(--brand);color:var(--on-brand);box-shadow:inset 0 0 0 1px var(--brand-bright)}.gaic-bars{display:flex;flex-direction:column;gap:5px}.gaic-bar-row{display:grid;grid-template-columns:minmax(120px,1.4fr) minmax(80px,3fr) auto auto auto;align-items:center;gap:10px;font-size:.8rem}.gaic-bar-label{font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gaic-bar-track{height:9px;background:var(--bg-body);border-radius:5px;overflow:hidden}.gaic-bar-fill{height:100%;border-radius:5px;background:var(--brand-bright);min-width:2px;transform-origin:left center;animation:gaic-bar-grow .6s cubic-bezier(.16,1,.3,1) both}@keyframes gaic-bar-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.gaic-kpi,.gaic-bar-fill{animation:none;transition:none}.gaic-kpi:hover{transform:none}}.gaic-bar-calls{color:var(--text-muted);font-size:var(--fs-caption);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.gaic-bar-pct{color:var(--text-secondary);font-size:var(--fs-caption);text-align:right;min-width:42px;font-variant-numeric:tabular-nums}.gaic-bar-cost{font-weight:700;color:var(--text-primary);text-align:right;min-width:78px;font-variant-numeric:tabular-nums}.gaic-breakdown-foot{margin-top:10px;padding-top:8px;border-top:1px solid var(--border)}.gaic-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}.gaic-table{width:100%;border-collapse:collapse;font-size:.8rem;margin:0}.gaic-table th,.gaic-table td{padding:7px 11px;white-space:nowrap}.gaic-table thead th{position:sticky;top:0;background:var(--bg-hover);color:var(--text-secondary);font-weight:700;font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);z-index:1}.gaic-table tbody td{border-bottom:1px solid var(--border)}.gaic-table tbody tr:hover{background:var(--bg-hover)}.gaic-table .num-col{text-align:right;font-variant-numeric:tabular-nums}.gaic-nowrap{white-space:nowrap}.gaic-muted{color:var(--text-secondary)}.gaic-cost{color:var(--text-primary);font-weight:600}.gaic-total{font-weight:700}.gaic-th-sort{-webkit-user-select:none;user-select:none}.gaic-th-sort:hover{color:var(--text-primary)}.gaic-th-sort.active{color:var(--brand-bright)}.gaic-th-inner{display:inline-flex;align-items:center;gap:4px}.gaic-sort-idle{opacity:.35}.gaic-foot td{background:var(--bg-hover);font-weight:700;color:var(--text-primary);border-top:2px solid var(--border-light)}.gaic-note{font-size:var(--fs-caption);color:var(--text-muted)}.gaic-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.gaic-pager{display:inline-flex;align-items:center;gap:6px}.gaic-page-ind{font-size:.78rem;color:var(--text-secondary);font-variant-numeric:tabular-nums;padding:0 4px;white-space:nowrap}@media(max-width:720px){.gaic-bar-row{grid-template-columns:minmax(90px,1.2fr) 2fr auto}.gaic-bar-calls,.gaic-bar-pct{display:none}}.ai-cost-pricing-note{margin:6px 0 0;font-size:.78rem;color:var(--text-muted);border-left:3px solid var(--status-warning);padding-left:8px}.byc-card{border:1px solid var(--border);border-radius:8px;padding:12px 14px;margin-bottom:16px;background:var(--bg-hover)}.byc-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.byc-head-text{flex:1;min-width:0}.byc-title{font-weight:700;font-size:.88rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.byc-sub{font-size:.78rem;color:var(--text-secondary);margin-top:2px}.byc-noai{font-size:var(--fs-caption);font-weight:700;padding:1px 7px;border-radius:10px;background:#ffffff0f;border:1px solid var(--border-light);color:var(--text-secondary)}.byc-banner{display:flex;align-items:flex-start;gap:7px;padding:8px 12px;border-radius:7px;font-size:.8rem;font-weight:600;margin-bottom:10px}.byc-banner.ok{background:var(--status-success-bg);color:var(--status-success-text)}.byc-banner.bad{background:var(--status-error-bg);color:var(--status-error-text)}.byc-banner.warn{background:var(--status-warning-bg);color:var(--status-warning-text)}.byc-table-wrap{overflow-x:auto}.byc-table{width:100%;border-collapse:collapse;font-size:.82rem}.byc-table th{text-align:left;font-size:var(--fs-caption);font-weight:700;color:var(--text-secondary);padding:6px 10px;background:var(--bg-page)}.byc-table td{padding:7px 10px;border-top:1px solid var(--border-light);vertical-align:top}.byc-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.byc-metric{font-weight:600}.byc-unit{font-size:var(--fs-caption);color:var(--text-muted);margin-top:2px}.byc-unit.bad{color:var(--status-error-text)}.byc-pct{color:var(--text-secondary);font-size:.75rem}.byc-pill{display:inline-block;font-size:var(--fs-caption);font-weight:700;padding:2px 8px;border-radius:10px}.byc-pill.ok{background:var(--status-success-bg);color:var(--status-success-text)}.byc-pill.bad{background:var(--status-error-bg);color:var(--status-error-text)}.byc-pill.warn{background:var(--status-warning-bg);color:var(--status-warning-text)}.byc-pill.muted{background:#ffffff0f;color:var(--text-secondary)}.byc-note{font-size:.76rem;color:var(--text-secondary);margin-top:6px}.upload-zone{border:2px dashed var(--border-light);border-radius:var(--radius-lg);padding:36px 24px;cursor:pointer;transition:border-color var(--transition-base),background var(--transition-base),box-shadow var(--transition-base);display:flex;align-items:center;justify-content:center}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--brand-bright);background:rgba(var(--brand-rgb),.1)}.upload-zone.has-file{cursor:default;border-style:solid;border-color:var(--brand-bright);background:rgba(var(--brand-rgb),.08);padding:20px 24px}.upload-empty{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.upload-hint-main{font-size:.9rem;color:var(--text-secondary)}.upload-hint-sub{font-size:.78rem;color:var(--text-muted)}.upload-file-info{display:flex;align-items:center;gap:14px;width:100%}.upload-filename{font-size:.9rem;font-weight:600;color:var(--text-primary)}.upload-filemeta{font-size:.78rem;color:var(--text-muted);margin-top:2px}.extracted-area{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.extracted-area-label{padding:10px 16px;font-size:var(--fs-caption);letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--bg-topbar)}.extracted-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:var(--text-secondary);font-size:.9rem;gap:4px}.category-list{display:flex;flex-direction:column;gap:12px}.category-card{background:linear-gradient(145deg,var(--bg-surface) 0%,rgba(28,31,48,.95) 100%);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.category-card:hover{border-color:var(--brand-border);box-shadow:var(--shadow-sm)}.category-card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.category-name{font-weight:600;font-size:.9rem;color:var(--text-primary)}.pdf-dropzone{padding:16px;min-height:72px;display:flex;align-items:flex-start;transition:background var(--transition-base),box-shadow var(--transition-base);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.pdf-dropzone.drag-over{background:rgba(var(--brand-rgb),.1);box-shadow:inset 0 0 0 1px var(--brand-bright)}.pdf-file-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;width:100%}.pdf-file-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-hover);border-radius:var(--radius);font-size:.83rem;color:var(--text-secondary);flex-wrap:wrap}.rawfile-template-badge{display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-caption);font-weight:600;padding:1px 7px;border-radius:20px;white-space:nowrap;flex-shrink:0;cursor:default}.rawfile-template-badge--high{background:var(--status-success-bg);color:var(--status-success-text);border:1px solid var(--status-success-border)}.rawfile-template-badge--medium{background:var(--status-warning-bg);color:var(--status-warning-text);border:1px solid var(--status-warning-border)}.rawfile-template-badge--manual{background:#ffffff0f;color:var(--text-secondary);border:1px solid var(--border-light)}.extraction-override-select{font-size:var(--fs-caption);font-weight:600;padding:2px 6px;border-radius:6px;border:1px solid var(--border-light);background:var(--bg-surface);color:var(--text-secondary);flex-shrink:0;max-width:140px}.rawfile-extracted-indicator{font-size:var(--fs-caption);color:var(--text-muted);flex-shrink:0}.filetype-pill{display:inline-flex;align-items:center;font-size:var(--fs-caption);font-weight:600;letter-spacing:.01em;padding:2px 8px;border-radius:20px;border:1px solid transparent;cursor:pointer;flex-shrink:0;transition:opacity .15s}.filetype-pill:disabled{cursor:default}.filetype-pill--evidence{background:#ffffff14;color:var(--text-primary);border-color:var(--border-light)}.filetype-pill--supporting{background:transparent;color:var(--text-secondary);border:1px dashed var(--border-light)}.role-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:var(--fs-caption);font-weight:600;letter-spacing:.03em}.role-badge.owner,.role-badge.admin{background:#ffffff1a;color:var(--text-primary);border:1px solid var(--border-light)}.role-badge.editor{background:#ffffff0d;color:var(--text-secondary);border:1px solid var(--border-light)}.role-badge.reader{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.member-owner-row td{border-bottom:1px solid var(--border-light)}.excel-parse-error{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--status-error-bg);border:1px solid var(--status-error-border);border-radius:var(--radius);color:var(--status-error-text);font-size:.85rem}.upload-batch-file-list{margin:8px 0 0;padding-left:20px;font-size:.875rem;list-style:none}.upload-batch-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.upload-batch-actions{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.upload-batch-file-list li{margin-top:4px}.upload-batch-ok{color:var(--text-muted)}.upload-batch-fail{color:inherit}.raw-upload-options{display:flex;justify-content:flex-end;margin-bottom:8px}.raw-upload-options label{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-muted)}.raw-upload-options select{min-height:28px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text-primary);padding:3px 8px}.rawfolder-pane{width:100%;display:flex;flex-direction:column;gap:8px}.rawfolder-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:2px;font-size:.8rem;color:var(--text-muted)}.rawfolder-breadcrumb .btn-link{background:none;border:none;padding:0 2px;cursor:pointer;color:var(--text-secondary)}.rawfolder-breadcrumb .btn-link:hover{color:var(--text-primary);text-decoration:underline}.rawfolder-crumb{display:inline-flex;align-items:center;gap:2px}.rawfolder-item{background:var(--surface-2)}.rawfolder-form{display:inline-flex;align-items:center;gap:6px;flex:1;min-width:0}.rawfolder-input{flex:1;min-width:120px;padding:3px 8px;font-size:.83rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-hover);color:var(--text-primary)}.rawfile-cat-marker{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;font-size:var(--fs-caption);padding:1px 6px;border-radius:10px;white-space:nowrap}.rawfile-cat-marker--mixed{color:var(--status-info-text);background:var(--status-info-bg)}.rawfile-cat-marker--foreign{color:var(--status-warning-text);background:var(--status-warning-bg)}.rawfile-cat-move{display:inline-flex;align-items:center;gap:3px;margin-left:4px;border:none;background:none;padding:0;cursor:pointer;color:inherit;font-size:inherit;text-decoration:underline;text-underline-offset:2px}.move-file-title{font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.move-file-field{display:flex;flex-direction:column;gap:4px;font-size:.85rem;margin-bottom:1rem;color:var(--text-secondary)}.excel-sections-wrap{display:flex;flex-direction:column;gap:0;width:100%;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-surface)}.excel-section-nav{display:flex;align-items:center;gap:2px;padding:8px 10px;background:var(--bg-topbar);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-wrap:nowrap}.excel-section-nav::-webkit-scrollbar{height:4px}.excel-section-nav::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.excel-section-btn{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;padding:5px 13px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;transition:background var(--transition-base),color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base);flex-shrink:0}.excel-section-btn:hover{background:#ffffff0d;color:var(--text-primary)}.excel-section-btn.active{background:var(--brand-tint);border-color:var(--brand-border);color:var(--brand-bright);font-weight:600}.excel-section-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--brand-bright);flex-shrink:0}.excel-section-content{padding:20px}.section-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:var(--text-secondary);font-size:.9rem;gap:4px}.id-panel{display:flex;flex-direction:column;gap:14px}.id-year-banner{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:#ffffff0a;border:1px solid var(--border-light);border-radius:var(--radius)}.id-year-label{font-size:.75rem;font-weight:700;letter-spacing:.06em;color:var(--text-secondary)}.id-year-value{font-size:1.4rem;font-weight:800;color:var(--text-primary);letter-spacing:.02em}.id-param-meta-banner{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;padding:12px 18px;margin-bottom:12px;background:#ffffff0a;border:1px solid var(--border-light);border-radius:var(--radius)}.id-param-meta-block{display:flex;flex-direction:column;gap:4px;min-width:0}.id-param-meta-block:first-child{text-align:left}.id-param-meta-block:last-child{text-align:right}.id-param-meta-label{font-size:var(--fs-caption);font-weight:700;letter-spacing:.06em;color:var(--text-secondary)}.id-param-meta-value{font-size:1.05rem;font-weight:700;color:var(--text-primary);line-height:1.35;word-break:break-word}.id-sub-card{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color var(--transition-base)}.id-sub-card:hover{border-color:var(--border-light)}.id-sub-card-title{padding:9px 14px;font-size:var(--fs-caption);font-weight:700;letter-spacing:.06em;color:var(--text-muted);background:linear-gradient(90deg,#ffffff0a,#ffffff05);border-bottom:1px solid var(--border)}.id-sub-card-body{padding:4px 0}.id-field-row{display:flex;align-items:baseline;gap:10px;padding:7px 14px;border-bottom:1px solid rgba(255,255,255,.04);min-height:36px}.id-field-row:last-child{border-bottom:none}.id-field-label{flex:0 0 250px;font-size:.78rem;color:var(--text-muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.id-field-row.wrap-label{align-items:flex-start}.id-field-label.wrap{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.35;word-break:break-word}.id-field-value{flex:1;font-size:.88rem;color:var(--text-primary);line-height:1.5;word-break:break-word}.id-field-value.empty{color:var(--text-muted);font-style:italic}.id-notes-body{margin:0;padding:8px 14px 12px;font-size:.88rem;line-height:1.55;white-space:pre-wrap;word-break:break-word;color:var(--text-primary)}.id-notes-body.empty{color:var(--text-muted);font-style:italic}.id-field-pair{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid rgba(255,255,255,.04)}.id-field-pair .id-field-row{border-bottom:none}.id-field-pair .id-field-row:first-child{border-right:1px solid rgba(255,255,255,.04)}.id-verif-group{border-bottom:1px solid rgba(255,255,255,.05);padding:8px 0 4px}.id-verif-group:last-child{border-bottom:none}.id-verif-group-label{display:flex;align-items:center;gap:6px;padding:0 14px 4px;font-size:var(--fs-caption);font-weight:700;letter-spacing:.05em;color:var(--text-muted)}.id-subcard-subsection{margin:.75rem 14px .15rem;padding:0 0 4px;font-size:var(--fs-caption);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border-light)}.gwp-unit-note{margin:0;padding:8px 14px 4px;font-size:.75rem;font-weight:600;color:var(--text-muted);letter-spacing:.02em}.gwp-grid{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0 8px}.gwp-cell{display:flex;flex-direction:column;align-items:center;background:#ffffff0a;border:1px solid var(--border);border-radius:var(--radius);padding:10px 16px;min-width:88px;gap:2px;transition:border-color var(--transition-base)}.gwp-cell:hover{border-color:var(--border-light)}.gwp-gas{font-size:.75rem;font-weight:700;color:var(--text-muted);letter-spacing:.04em}.gwp-value{font-size:1.15rem;font-weight:700;color:var(--text-primary)}.fv-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.fv-header-info{font-size:.85rem;color:var(--text-muted);flex:1;min-width:0}.fv-run-btn{display:flex;align-items:center;gap:.4rem;padding:.45rem .9rem;background:var(--brand);color:var(--on-brand);border:1px solid var(--brand);border-radius:6px;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s,opacity .2s}.fv-run-btn:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.fv-run-btn:disabled{opacity:.45;cursor:not-allowed}.fv-run-btn.loading{opacity:.7}.fv-run-btn .spin{animation:spin .9s linear infinite}.fv-error{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;background:var(--status-error-bg);border:1px solid var(--status-error-border);border-radius:6px;color:var(--status-error-text);font-size:.82rem;margin-bottom:.75rem}.fv-overall{padding:.45rem .75rem;border-radius:6px;font-size:.83rem;font-weight:600;margin-bottom:.6rem}.fv-overall-ok{background:var(--status-success-bg);color:var(--status-success-text);border:1px solid var(--status-success-border)}.fv-overall-mismatch{background:var(--status-error-bg);color:var(--status-error-text);border:1px solid var(--status-error-border)}.fv-overall-partial{background:var(--status-warning-bg);color:var(--status-warning-text);border:1px solid var(--status-warning-border)}.fv-overall-nodata{background:#94a3b814;color:var(--text-muted);border:1px solid rgba(148,163,184,.2)}.fv-summary{font-size:.83rem;color:var(--text-secondary);margin:0 0 .75rem}.fv-group{margin-bottom:1rem}.fv-group-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:.35rem;padding-bottom:.25rem;border-bottom:1px solid var(--border)}.fv-table-wrap{overflow-x:auto}.fv-table{width:100%;border-collapse:collapse;font-size:.8rem}.fv-table th{text-align:left;padding:.3rem .5rem;background:#94a3b80f;color:var(--text-muted);font-size:var(--fs-caption);letter-spacing:.04em;border-bottom:1px solid rgba(148,163,184,.12);white-space:nowrap}.fv-table td{padding:.3rem .5rem;vertical-align:middle}.fv-table tbody tr:hover{background:#94a3b80a}.fv-row-mismatch td{background:color-mix(in srgb,var(--status-error) 4%,transparent)}.fv-row-not_found_in_platform td{background:color-mix(in srgb,var(--status-warning) 4%,transparent)}.fv-field{color:var(--text-secondary);font-weight:500;white-space:nowrap}.fv-value{font-family:var(--font-mono);font-size:.79rem;color:var(--text-primary)}.fv-unit{color:var(--text-muted);font-size:.75rem;white-space:nowrap}.fv-diff{font-family:var(--font-mono);font-size:.78rem;color:var(--text-muted);text-align:right;white-space:nowrap}.fv-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .45rem;border-radius:4px;font-size:var(--fs-caption);font-weight:600;white-space:nowrap}.fv-badge-match{background:var(--status-success-bg);color:var(--status-success-text)}.fv-badge-close{background:var(--status-info-bg);color:var(--status-info-text)}.fv-badge-mismatch{background:var(--status-error-bg);color:var(--status-error-text)}.fv-badge-notfound{background:var(--status-warning-bg);color:var(--status-warning-text)}.fv-badge-absent{background:#94a3b81a;color:var(--text-muted)}.fv-ai-badge{display:inline-flex;align-items:center;gap:.2rem;margin-left:.3rem;padding:.1rem .3rem;background:#ffffff0f;border:1px solid rgba(134,134,133,.45);border-radius:4px;font-size:var(--fs-caption);font-weight:600;color:var(--text-secondary);cursor:default;vertical-align:middle}.fv-ai-source{font-weight:400;font-style:italic;font-size:var(--fs-caption)}.fv-ai-note{display:flex;align-items:flex-start;gap:.3rem;font-size:.75rem;color:var(--status-info-text);margin-top:.4rem;font-style:italic}.fv-empty{font-size:.82rem;color:var(--text-muted);font-style:italic}.fv-electricity-note{font-size:.82rem;color:var(--text-secondary);margin:0 0 .75rem;line-height:1.5}.fv-electricity-table-wrap{overflow-x:auto;margin-bottom:.5rem}.fv-electricity-table{width:100%;border-collapse:collapse;font-size:.81rem}.fv-electricity-table th{text-align:left;padding:.3rem .5rem;background:#94a3b80f;color:var(--text-muted);font-size:var(--fs-caption);letter-spacing:.04em;border-bottom:1px solid rgba(148,163,184,.12);white-space:nowrap}.fv-electricity-table td{padding:.3rem .4rem;vertical-align:middle}.fv-ef-cell{font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary);text-align:right}.fv-elect-select{width:100%;min-width:180px;padding:.3rem .5rem;background:var(--surface-1);border:1px solid var(--border);border-radius:5px;color:var(--text-primary);font-size:.8rem;color-scheme:dark}.fv-elect-select option{background:var(--surface-2);color:var(--text-primary)}.fv-elect-input{width:90px;padding:.28rem .45rem;background:var(--surface-1);border:1px solid var(--border);border-radius:5px;color:var(--text-primary);font-size:.8rem;text-align:right}.fv-remove-row-btn{padding:.25rem .35rem;background:transparent;border:1px solid var(--status-error-border);border-radius:4px;color:var(--status-error-text);cursor:pointer;display:flex;align-items:center}.fv-remove-row-btn:disabled{opacity:.3;cursor:not-allowed}.fv-remove-row-btn:hover:not(:disabled){background:var(--status-error-bg)}.fv-electricity-actions{margin-bottom:.75rem;display:flex;align-items:center;gap:12px}.fv-save-status{font-size:.78rem;color:var(--text-muted)}.fv-save-status--saved{color:var(--status-success-text)}.fv-save-status--error{color:var(--status-error-text)}.fv-add-row-btn{display:flex;align-items:center;gap:.3rem;padding:.3rem .65rem;background:transparent;border:1px dashed rgba(148,163,184,.3);border-radius:5px;color:var(--text-muted);font-size:.79rem;cursor:pointer;transition:border-color .15s,color .15s}.fv-add-row-btn:hover{border-color:var(--brand-border);color:var(--brand-bright)}.fv-weighted-result{padding:.75rem 1rem;background:#ffffff0a;border:1px solid var(--border-light);border-radius:8px;margin-top:.5rem}.fv-weighted-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.2rem}.fv-weighted-value{font-size:1.4rem;font-weight:700;color:var(--text-primary)}.fv-weighted-unit{font-size:.85rem;font-weight:400;color:var(--text-muted)}.fv-weighted-formula{font-size:var(--fs-caption);font-family:var(--font-mono);color:var(--text-muted);margin:.3rem 0 .4rem;word-break:break-all}.fv-weighted-note{font-size:.78rem;color:var(--text-secondary);margin:0;font-style:italic}.sheet-table-wrap{display:flex;flex-direction:column;gap:8px}.sheet-table-scroll{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border)}.sheet-table{width:100%;border-collapse:collapse;font-size:.8rem}.sheet-table thead th{padding:8px 12px;text-align:left;font-size:var(--fs-caption);font-weight:700;letter-spacing:.04em;color:var(--text-secondary);background:linear-gradient(90deg,#ffffff0d,#ffffff05);border-bottom:1px solid var(--border);white-space:nowrap}.sheet-table tbody tr{border-bottom:1px solid rgba(255,255,255,.04);transition:background var(--transition-fast)}.sheet-table tbody tr:last-child{border-bottom:none}.sheet-table tbody tr:hover{background:#ffffff0a}.sheet-table tbody td{padding:7px 12px;color:var(--text-primary);white-space:nowrap}.sheet-table--wrap thead th{white-space:normal}.sheet-table--wrap tbody td{white-space:normal;word-break:break-word}.synopsis-extra-pair{display:flex;border-bottom:1px solid rgba(255,255,255,.04)}.synopsis-extra-pair:last-child{border-bottom:none}.synopsis-extra-side{flex:1 1 0;min-width:0}.synopsis-extra-side+.synopsis-extra-side{border-left:1px solid rgba(255,255,255,.04)}.synopsis-extra-side .id-field-row{border-bottom:1px solid rgba(255,255,255,.03)}.synopsis-extra-side .id-field-row:last-child{border-bottom:none}.sheet-table tbody td.cell-empty{color:var(--text-muted)}.sheet-row-total td{font-weight:700;color:var(--text-primary);background:#ffffff0f;border-top:1px solid var(--border-light)!important}.sheet-table-empty{padding:24px 16px;text-align:center;color:var(--text-muted);font-size:.85rem}.sheet-table-toolbar{display:flex;align-items:center;gap:8px}.sheet-table-filter-wrap{position:relative;display:flex;align-items:center;flex:1;min-width:0}.sheet-table-filter-icon{position:absolute;left:9px;color:var(--text-muted);pointer-events:none;flex-shrink:0}.sheet-table-filter-input{width:100%;padding:6px 28px 6px 30px;font-size:.8rem;background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);outline:none;transition:border-color .15s}.sheet-table-filter-input:focus{border-color:var(--brand-bright)}.sheet-table-filter-input::placeholder{color:var(--text-muted)}.sheet-table-filter-clear{position:absolute;right:7px;display:flex;align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:4px;line-height:1}.sheet-table-filter-clear:hover{color:var(--text-primary)}.sheet-table-col-wrap{position:relative;flex-shrink:0}.sheet-table-col-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;font-size:.8rem;background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s}.sheet-table-col-btn:hover,.sheet-table-col-btn.has-hidden{color:var(--brand-bright);border-color:var(--brand-border)}.sheet-table-col-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-size:var(--fs-caption);font-weight:700;background:var(--brand);color:var(--on-brand);border-radius:8px;line-height:1}.sheet-table-col-menu{position:absolute;right:0;top:calc(100% + 5px);z-index:200;min-width:210px;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.sheet-table-col-menu-header{display:flex;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border)}.sheet-table-col-menu-header button{flex:1;padding:4px 0;font-size:.75rem;background:var(--bg-hover);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:color .15s,border-color .15s}.sheet-table-col-menu-header button:hover{color:var(--text-primary);border-color:var(--border-light)}.sheet-table-col-menu-list{max-height:280px;overflow-y:auto;padding:4px 0}.sheet-table-col-item{display:flex;align-items:center;gap:9px;padding:6px 12px;cursor:pointer;font-size:.8rem;color:var(--text-secondary);transition:background .1s,color .1s;-webkit-user-select:none;user-select:none}.sheet-table-col-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sheet-table-col-item input[type=checkbox]{accent-color:var(--brand);width:13px;height:13px;flex-shrink:0;cursor:pointer}.sheet-table-col-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-table-notes{margin-top:8px;padding:8px 12px;font-size:.8rem;color:var(--text-secondary);background:var(--bg-subtle, var(--bg-hover));border-radius:var(--radius);border-left:3px solid var(--border-light, var(--border))}.excel-collapse-row{display:flex;justify-content:flex-end;margin-bottom:4px}.excel-collapse-btn{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;font-size:.78rem;color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:color .15s,border-color .15s}.excel-collapse-btn:hover{color:var(--brand-bright);border-color:var(--brand-border)}.excel-subsection-nav{display:flex;flex-wrap:wrap;gap:6px;padding:10px 0 14px;border-bottom:1px solid var(--border);margin-bottom:16px}.excel-subsection-btn{padding:4px 12px;font-size:.78rem;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .15s,background .15s,border-color .15s;white-space:nowrap}.excel-subsection-btn:hover{color:var(--brand-bright);border-color:var(--brand-border)}.excel-subsection-btn.active{background:var(--brand-tint);color:var(--brand-bright);border-color:var(--brand-bright);font-weight:600}.shipping-tab-placeholder{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:3rem 1.5rem;border:1px dashed var(--border-light);border-radius:12px;background:var(--surface-2);color:var(--text-secondary)}.shipping-tab-placeholder .sp-icon{color:var(--text-secondary)}.shipping-tab-placeholder h2{margin:0;font-size:var(--fs-section-title);color:var(--text-primary)}.shipping-tab-placeholder p{margin:0;max-width:52ch;font-size:.85rem}.ship-crumb{display:flex;align-items:center;gap:6px;font-size:var(--fs-caption);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.ship-crumb-sep{color:var(--border-light)}.ship-ctx{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:flex-end;padding:14px 16px;margin-bottom:16px;background:var(--bg-surface);border:1px solid var(--border);border-left:3px solid var(--brand-bright);border-radius:var(--radius)}.ship-ctx-field{display:flex;flex-direction:column;gap:5px;min-width:0}.ship-ctx-label{display:flex;align-items:center;gap:5px;font-size:var(--fs-caption);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.ship-ctx-label svg{color:var(--text-secondary)}.ship-ctx-field>select{min-width:190px;max-width:320px}.ship-ctx-year{display:flex;align-items:center;gap:6px}.ship-ctx-year>select{min-width:92px}.ship-ctx-year-input{width:78px}@media(max-width:720px){.ship-ctx-field,.ship-ctx-field>select{width:100%;max-width:none}}.tabs.ship-tabs{flex-wrap:wrap}.ship-tabs-sep{align-self:center;width:1px;height:18px;margin:0 8px;background:var(--border-light);flex:none}@media(max-width:720px){.ship-tabs-sep{display:none}}.ship-member-toolbar select{min-width:120px}.ship-role-badge{display:inline-block;padding:1px 8px;font-size:var(--fs-caption);font-weight:600;border-radius:10px;color:var(--text-secondary);background:#ffffff0f;border:1px solid rgba(134,134,133,.45)}.card-row-open{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:0;background:none;border:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.card-row-open .card-row-main{flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap}.card-row-icon{color:var(--text-secondary);flex:none}.card-row.selected{border-color:var(--brand-border);background:var(--brand-tint);box-shadow:inset 3px 0 0 var(--brand-bright)}.card-row.selected .card-row-icon{color:var(--brand-bright)}.xml-config-readonly .xml-readonly-grid{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:center;margin:10px 0 4px}.shipdoc-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:18px;align-items:start}@media(max-width:860px){.shipdoc-layout{grid-template-columns:minmax(0,1fr)}}.shipdoc-cats{display:flex;flex-direction:column;gap:4px;position:sticky;top:0}@media(max-width:860px){.shipdoc-cats{position:static;flex-direction:row;flex-wrap:wrap}}.shipdoc-cat{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);font-size:.82rem;text-align:left;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.shipdoc-cat:hover{border-color:var(--border-light);color:var(--text-primary)}.shipdoc-cat.active{border-color:var(--brand-border);background:var(--brand-tint);color:var(--brand-bright);box-shadow:inset 3px 0 0 var(--brand-bright);font-weight:600}.shipdoc-cat-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shipdoc-cat-count{flex:none;min-width:20px;padding:0 5px;font-size:var(--fs-caption);font-variant-numeric:tabular-nums;text-align:center;border-radius:9px;color:var(--text-primary);background:#ffffff14}.shipdoc-cat-count.empty{color:var(--text-muted);background:var(--surface-2)}.shipdoc-zip{margin-top:8px;justify-content:center}.shipdoc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px}.shipdoc-head h3{margin:0 0 3px;font-size:.95rem}.shipdoc-head p{margin:0;max-width:62ch}.shipdoc-year-note{flex:none;padding-top:2px}.shipdoc-error{margin-bottom:12px;white-space:pre-line}.shipdoc-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:20px 16px;margin-bottom:16px;text-align:center;color:var(--text-secondary);background:var(--surface-2);border:1px dashed var(--border-light);border-radius:var(--radius);transition:border-color var(--transition-fast),background var(--transition-fast)}.shipdoc-drop.drag-over{border-color:var(--brand-bright);background:var(--brand-tint);color:var(--text-primary)}.shipdoc-drop svg{color:var(--brand-bright)}.shipdoc-empty{padding:8px 0}.shipdoc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.shipdoc-row{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius)}.shipdoc-row:hover{border-color:var(--border-light)}.shipdoc-row-icon{flex:none;color:var(--text-muted)}.shipdoc-row-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.shipdoc-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;color:var(--text-primary)}.shipdoc-row-meta{font-size:var(--fs-caption);color:var(--text-muted)}.shipdoc-row-notes{font-size:.75rem;color:var(--text-secondary);font-style:italic}.shipdoc-row-actions{display:flex;align-items:center;gap:2px;flex:none}.shipex-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.shipex-error{margin-bottom:10px;white-space:pre-line}.shipex-notice{padding:7px 11px;margin-bottom:10px;font-size:.8rem;color:var(--status-info-text);background:var(--status-info-bg);border:1px solid var(--status-info-border);border-radius:var(--radius)}.shipex-files{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:4px}.shipex-file{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);font-size:.8rem}.shipex-file-name{flex:1;min-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.shipex-file-actions{display:flex;align-items:center;gap:2px;flex:none}.shipex-file-actions .btn-icon.active{color:var(--brand-bright);background:var(--brand-tint)}.shipdoc-cat.not-extractable .shipdoc-cat-label{font-style:italic}.shipdoc-cat.not-extractable:not(.active) .shipdoc-cat-label{color:var(--text-muted)}.shipver-intro{margin:0 0 12px}.shipver-card{padding:12px 14px;margin-bottom:10px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius)}.shipver-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.shipver-card-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1;min-width:0;padding:0;background:none;border:none;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.shipver-desc{margin:6px 0 0;max-width:92ch}.shipver-desc em{color:var(--text-muted);font-style:normal}.shipver-error{margin-top:10px}.shipver-summary{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.shipver-pill{padding:1px 8px;font-size:var(--fs-caption);font-weight:600;border-radius:10px;white-space:nowrap}.shipver-pill.ok{color:var(--status-success-text);background:var(--status-success-bg)}.shipver-pill.bad{color:var(--status-error-text);background:var(--status-error-bg)}.shipver-pill.missing{color:var(--status-warning-text);background:var(--status-warning-bg)}.shipver-pill.unknown{color:var(--text-muted);background:var(--surface-2)}.shipver-detail{margin-top:12px}.shipver-warnings{margin:0 0 10px;padding-left:18px;font-size:.78rem;color:var(--status-warning-text)}.shipver-table{font-size:.79rem}.shipver-detail-cell{max-width:46ch}.shipver-sources{display:block;margin-top:2px;font-size:var(--fs-caption);color:var(--text-muted)}.shipver-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.shipver-status{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-weight:600}.shipver-status.ok{color:var(--status-success-text)}.shipver-status.bad{color:var(--status-error-text)}.shipver-status.missing{color:var(--status-warning-text)}.shipver-status.unknown{color:var(--text-muted)}.shipver-row.bad td:first-child{box-shadow:inset 2px 0 0 var(--status-error)}.shipver-row.missing td:first-child{box-shadow:inset 2px 0 0 var(--status-warning)}.shipocr-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0009}.shipocr-box{display:flex;flex-direction:column;width:min(920px,100%);max-height:100%;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.shipocr-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid var(--border)}.shipocr-head h3{margin:0 0 3px;font-size:.95rem}.shipocr-head p{margin:0}.shipocr-head-actions{display:flex;align-items:center;gap:6px;flex:none}.shipocr-search{margin:12px 16px 0}.shipocr-body{padding:12px 16px 16px;overflow:auto}.shipocr-page+.shipocr-page{margin-top:14px;padding-top:14px;border-top:1px dashed var(--border)}.shipocr-page-label{margin-bottom:5px;font-size:var(--fs-caption);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.shipocr-page pre{margin:0;font-size:.76rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--text-secondary)}.ports-tab{gap:1rem}.ports-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.ports-kpi{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--border);border-left:3px solid var(--border-light);border-radius:10px;background:var(--surface-2);animation:ports-kpi-in .45s cubic-bezier(.16,1,.3,1) both;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.ports-kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--border-light)}.ports-kpi:nth-child(2){animation-delay:.05s}.ports-kpi:nth-child(3){animation-delay:.1s}.ports-kpi:nth-child(4){animation-delay:.15s}.ports-kpi:nth-child(5){animation-delay:.2s}.ports-kpi:nth-child(n+6){animation-delay:.25s}@keyframes ports-kpi-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.ports-kpi{animation:none;transition:none}.ports-kpi:hover{transform:none}}.ports-kpi-value{font-size:1.25rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.ports-kpi-label{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.ports-recompute-note{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border:1px solid var(--status-info-border);background:var(--status-info-bg);border-radius:8px;font-size:.82rem;color:var(--text-primary)}.ports-subtabs{flex-wrap:wrap}.ports-panel{display:flex;flex-direction:column;gap:12px}.ports-list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.ports-list-header h3{margin:0 0 4px;font-size:.98rem}.ports-list-header p{margin:2px 0}.ports-list-counts{display:flex;gap:8px;flex-wrap:wrap}.ports-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ports-toolbar select{min-width:150px}.ports-add{margin-left:auto}.ports-search{display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text-secondary);flex:1 1 260px;max-width:420px}.ports-search input{border:none;background:transparent;padding:8px 0;flex:1;min-width:0;color:var(--text-primary)}.ports-search input:focus{outline:none;box-shadow:none}.ports-check{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:var(--text-secondary);white-space:nowrap}.ports-filter-note{margin:-4px 0 0}.ports-form{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--border-light);border-radius:10px;background:var(--surface-2)}.ports-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.ports-form-grid label{display:flex;flex-direction:column;gap:4px;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary)}.ports-form-grid input{text-transform:none;letter-spacing:normal;font-size:.88rem}.ports-form-wide{grid-column:span 2}.ports-form-actions{display:flex;gap:8px}.ports-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px}.ports-table{width:100%;margin:0;font-size:.84rem}.ports-table--narrow{max-width:640px}.ports-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.ports-table th.sortable:hover{color:var(--text-primary)}.ports-table td.mono,.ports-table th.mono{font-family:var(--font-mono);letter-spacing:.02em}.ports-table td.num,.ports-table th.num{text-align:right;font-variant-numeric:tabular-nums}.ports-actions-col{width:78px;white-space:nowrap;text-align:right}.port-flags{display:inline-flex;flex-wrap:wrap;gap:4px}.port-flag{display:inline-flex;align-items:center;padding:1px 7px;border-radius:999px;font-size:var(--fs-caption);font-weight:600;letter-spacing:.02em;color:var(--text-secondary);background:#ffffff0f;border:1px solid rgba(134,134,133,.45);white-space:nowrap}.port-flag.warn{color:var(--status-warning-text);background:var(--status-warning-bg);border-color:var(--status-warning-border);margin-left:5px;cursor:help}.port-count-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:var(--fs-caption);font-weight:600;white-space:nowrap}.port-count-chip.ok{color:var(--status-success-text);background:var(--status-success-bg)}.port-count-chip.warn{color:var(--status-warning-text);background:var(--status-warning-bg)}.ports-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ports-pager-controls{display:flex;align-items:center;gap:8px}.ports-data-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:14px}.ports-card{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.ports-card h3{margin:0;font-size:.95rem}.ports-card-actions{display:flex;gap:8px;flex-wrap:wrap}.ports-mode{display:flex;flex-direction:column;gap:6px;font-size:.82rem;color:var(--text-secondary)}.ports-mode label{display:flex;align-items:center;gap:8px;cursor:pointer}.ports-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:26px 16px;border:1px dashed var(--border-light);border-radius:10px;color:var(--text-secondary);font-size:.84rem;text-align:center;cursor:pointer;transition:border-color var(--transition-base),background var(--transition-base)}.ports-dropzone:hover,.ports-dropzone.dragging{border-color:var(--brand-bright);background:var(--brand-tint);color:var(--text-primary)}.ports-dropzone.busy{opacity:.6;pointer-events:none}.ports-summary{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:.82rem}.ports-summary ul{margin:6px 0 0;padding-left:18px;color:var(--text-secondary)}.ports-warnings{margin-top:8px;color:var(--status-warning-text);font-size:.78rem}.ports-warnings p{margin:2px 0}.ports-links{display:flex;flex-direction:column;gap:6px}.ports-link-row{display:grid;grid-template-columns:minmax(140px,1.1fr) minmax(120px,1.2fr) 18px minmax(140px,1fr);align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--border);border-radius:8px;font-size:.78rem}.ports-link-from{font-weight:600;color:var(--text-primary)}.ports-link-rule{color:var(--text-secondary);font-style:italic}.ports-link-arrow{color:var(--text-muted);text-align:center}.ports-link-to{font-family:var(--font-mono);color:var(--text-primary)}@media(max-width:720px){.ports-link-row{grid-template-columns:1fr;gap:2px}.ports-link-arrow{display:none}.ports-form-wide{grid-column:span 1}.ports-add{margin-left:0}}.sf-tab{display:flex;flex-direction:column;gap:1rem}.sf-intro h2{margin:0 0 4px;font-size:1.05rem}.sf-intro p{margin:0;max-width:78ch}.sf-intro em{font-style:normal;color:var(--text-primary)}.sf-subtabs{flex-wrap:wrap}.sf-subtab-count{margin-left:6px;padding:1px 6px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-size:var(--fs-caption);font-variant-numeric:tabular-nums;color:var(--text-secondary)}.sf-subtabs button.active .sf-subtab-count{background:var(--brand-tint);border-color:var(--brand-border);color:var(--brand-bright)}.sf-panel{display:flex;flex-direction:column;gap:12px}.sf-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.sf-kpi{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--border);border-left:3px solid var(--border-light);border-radius:10px;background:var(--surface-2);animation:sf-kpi-in .45s cubic-bezier(.16,1,.3,1) both;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.sf-kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--border-light)}.sf-kpi:nth-child(2){animation-delay:.05s}.sf-kpi:nth-child(3){animation-delay:.1s}.sf-kpi:nth-child(4){animation-delay:.15s}.sf-kpi:nth-child(5){animation-delay:.2s}.sf-kpi:nth-child(n+6){animation-delay:.25s}@keyframes sf-kpi-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.sf-kpi{animation:none;transition:none}.sf-kpi:hover{transform:none}}.sf-kpi.modified{border-left-color:var(--status-warning)}.sf-kpi-value{font-size:1.25rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.sf-kpi-label{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.sf-gwp-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 12px;border:1px solid var(--border-light);border-radius:10px;background:var(--surface-2);color:var(--text-secondary)}.sf-gwp-strip-label{font-size:.8rem;color:var(--text-secondary)}.sf-gwp-strip select{min-width:240px;max-width:100%}.sf-gwp-chips{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}.sf-gwp-chip{padding:3px 9px;border-radius:999px;border:1px solid var(--border-light);background:var(--bg-surface);font-size:var(--fs-caption);color:var(--text-secondary);white-space:nowrap}.sf-gwp-chip b{color:var(--text-primary);font-variant-numeric:tabular-nums}.sf-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sf-search{display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text-secondary);flex:1 1 240px;max-width:380px}.sf-search input{border:none;background:transparent;padding:8px 0;flex:1;min-width:0;color:var(--text-primary)}.sf-search input:focus{outline:none;box-shadow:none}.sf-chipgroup{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface-2)}.sf-chipgroup button{border:none;border-radius:0;background:transparent;padding:7px 12px;font-size:.78rem;color:var(--text-secondary);border-right:1px solid var(--border)}.sf-chipgroup button:last-child{border-right:none}.sf-chipgroup button.active{background:var(--brand);color:var(--on-brand);font-weight:600}.sf-origin-filter{min-width:140px}.sf-add{margin-left:auto}.sf-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg)}.sf-table{min-width:1480px;margin:0}.sf-table thead th{vertical-align:bottom;white-space:nowrap}.sf-table thead th em{display:block;font-style:normal;font-weight:400;font-size:var(--fs-caption);color:var(--text-muted);letter-spacing:.02em}.sf-group-row th{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);padding-bottom:4px}.sf-group-row th.sf-derived-group{color:var(--text-primary);background:#ffffff0f}.sf-table td,.sf-table th{font-size:.8rem}.sf-table td.num,.sf-table th.num{text-align:right;font-variant-numeric:tabular-nums}.sf-col-fuel{min-width:260px;text-align:left}.sf-row:hover>td{background:var(--bg-hover)}.sf-row.editing>td{background:var(--brand-tint)}.sf-fuel-cell{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sf-fuel-names{display:flex;flex-direction:column;line-height:1.25}.sf-fuel-names small{color:var(--text-muted);font-size:var(--fs-caption)}.sf-class-chip{flex:none;min-width:46px;text-align:center;padding:2px 7px;border-radius:6px;font-size:var(--fs-caption);font-weight:700;letter-spacing:.03em;border:1px solid var(--border-light);color:var(--text-secondary);background:var(--surface-2)}.sf-derived-col{background:#ffffff0f;color:var(--text-primary)!important}.sf-derived-cell{position:relative;background:#ffffff08;font-weight:600}.sf-derived-cell.overridden{background:var(--status-warning-bg);box-shadow:inset 2px 0 0 var(--status-warning)}.sf-cell-mark{display:block;font-size:var(--fs-caption);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--status-warning-text)}.sf-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;border-radius:999px;font-size:var(--fs-caption);font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent;white-space:nowrap}.sf-badge.custom{color:var(--text-secondary);border-color:#86868573;background:#ffffff0f}.sf-badge.modified{color:var(--status-warning-text);border-color:var(--status-warning-border);background:var(--status-warning-bg)}.sf-badge.active{color:var(--brand-bright);border-color:var(--brand-border);background:var(--brand-tint)}.sf-actions-col{width:108px;white-space:nowrap;text-align:right}.sf-footnote{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin:0}.sf-editor-row>td{padding:0!important;background:var(--bg-surface)}.sf-editor{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:var(--shadow-sm)}.sf-editor-row .sf-editor{border:none;border-left:3px solid var(--brand-bright);border-radius:0;box-shadow:none}.sf-editor-head{display:flex;align-items:center;gap:8px;font-size:.92rem}.sf-editor-group{display:flex;flex-direction:column;gap:8px}.sf-editor-group-title{display:flex;align-items:center;gap:5px;font-size:var(--fs-caption);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding-bottom:4px;border-bottom:1px solid var(--border)}.sf-editor-group--derived .sf-editor-group-title{color:var(--text-secondary)}.sf-editor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px 12px}.sf-field--wide{grid-column:span 2}.sf-field--full{grid-column:1 / -1}.sf-field{display:flex;flex-direction:column;gap:4px;font-size:.76rem;color:var(--text-secondary);min-width:0}.sf-field>span{display:flex;align-items:baseline;gap:5px}.sf-unit{font-style:normal;font-size:var(--fs-caption);color:var(--text-muted)}.sf-hint{font-size:var(--fs-caption);color:var(--text-muted)}.sf-field input,.sf-field select,.sf-field textarea{width:100%}.sf-field input[inputmode=decimal]{font-variant-numeric:tabular-nums}.sf-editor-grid--derived{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.sf-derived-field{display:flex;flex-direction:column;gap:5px;padding:10px 12px;border:1px solid var(--border-light);border-radius:10px;background:#ffffff08;min-width:0}.sf-derived-field.overridden{border-color:var(--status-warning-border);background:var(--status-warning-bg)}.sf-derived-label{display:flex;align-items:center;gap:6px;font-size:var(--fs-caption);color:var(--text-secondary)}.sf-derived-value{font-size:1rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.sf-formula{display:block;font-size:var(--fs-caption);line-height:1.45;color:var(--text-muted);background:transparent;word-break:break-word}.sf-linkbtn{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;border:none;background:none;padding:0;font-size:var(--fs-caption);color:var(--brand-bright);cursor:pointer}.sf-linkbtn:hover{text-decoration:underline}.sf-editor-actions{display:flex;gap:8px;flex-wrap:wrap}.sf-list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.sf-list-header h3{margin:0 0 4px;font-size:.98rem}.sf-list-header p{margin:0;max-width:72ch}.sf-gwp-form{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--surface-2)}.sf-gwp-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.sf-gwp-card{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.sf-gwp-card.active{border-color:var(--brand-border);box-shadow:var(--shadow-glow-brand)}.sf-gwp-card.editing{grid-column:1 / -1}.sf-gwp-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.sf-gwp-card-title{display:flex;flex-direction:column;gap:3px;min-width:0}.sf-gwp-key{font-size:var(--fs-caption);color:var(--text-muted);letter-spacing:.03em}.sf-gwp-card-badges{display:flex;gap:5px;flex-wrap:wrap}.sf-gwp-values{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.sf-gwp-value{display:flex;flex-direction:column;gap:1px;padding:8px 10px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border)}.sf-gwp-gas{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.sf-gwp-value strong{font-size:1.1rem;font-variant-numeric:tabular-nums;color:var(--text-primary)}.sf-gwp-ref{margin:0;font-size:var(--fs-caption);color:var(--text-secondary);line-height:1.45}.sf-gwp-card-actions{display:flex;gap:4px;margin-top:auto;padding-top:4px;border-top:1px solid var(--border);justify-content:flex-end}@media(max-width:720px){.sf-add,.sf-gwp-chips{margin-left:0}.sf-field--wide{grid-column:span 1}}.group-card.cbam:hover{border-color:var(--brand-border);box-shadow:var(--shadow-lg),var(--shadow-glow-brand)}.group-card .icon-circle.cbam{background:var(--brand-tint);color:var(--brand-bright);box-shadow:0 0 0 1px var(--brand-border)}.group-card:hover .icon-circle.cbam{box-shadow:0 0 0 1px var(--brand-bright)}.cbam-tabs{margin-bottom:16px}.cbam-profile{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:12px 16px;margin-bottom:18px;background:var(--bg-surface);border:1px solid var(--border);border-left:3px solid var(--brand-bright);border-radius:var(--radius)}.cbam-profile-roles{display:flex;flex-wrap:wrap;gap:6px}.cbam-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:var(--fs-caption);font-weight:600;background:var(--brand-tint);color:var(--brand-bright);border:1px solid var(--brand-border)}.cbam-chip--client{background:var(--status-info-bg);color:var(--status-info-text);border-color:var(--status-info-border)}.cbam-chip--muted{background:var(--surface-2);color:var(--text-muted);border-color:var(--border)}.cbam-pill{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:999px;font-size:var(--fs-caption);white-space:nowrap}.cbam-pill--ok{background:var(--status-success-bg);color:var(--status-success-text);border:1px solid var(--status-success-border)}.cbam-pill--warn{background:var(--status-warning-bg);color:var(--status-warning-text);border:1px solid var(--status-warning-border)}.cbam-crumb{display:flex;align-items:center;gap:6px;font-size:var(--fs-caption);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.cbam-crumb a{color:var(--text-secondary);text-decoration:none}.cbam-crumb a:hover{color:var(--brand-bright)}.cbam-crumb-sep{color:var(--border-light)}.cbam-project-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.cbam-status{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:12px 24px;padding:12px 16px;margin-bottom:16px;background:var(--bg-surface);border:1px solid var(--border);border-left:3px solid var(--brand-bright);border-radius:var(--radius)}.cbam-status-state{display:flex;flex-direction:column;gap:6px}.cbam-status-chip{display:inline-flex;align-items:center;width:fit-content;padding:3px 10px;border-radius:999px;font-size:var(--fs-small);font-weight:600;background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border-light)}.cbam-status-chip--draft,.cbam-status-chip--returned_incomplete,.cbam-status-chip--clarification_requested{background:var(--status-info-bg);color:var(--status-info-text);border-color:var(--status-info-border)}.cbam-status-chip--submitted,.cbam-status-chip--in_evaluation,.cbam-status-chip--in_review,.cbam-status-chip--review_returned{background:var(--status-warning-bg);color:var(--status-warning-text);border-color:var(--status-warning-border)}.cbam-status-chip--review_approved,.cbam-status-chip--issued{background:var(--status-success-bg);color:var(--status-success-text);border-color:var(--status-success-border)}.cbam-status-chip--cancelled{background:var(--status-error-bg);color:var(--status-error-text);border-color:var(--status-error-border)}.cbam-status-actions{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 16px;font-size:var(--fs-small)}.cbam-status-actions li{display:flex;align-items:baseline;gap:6px}.cbam-status-actions li.refused{color:var(--text-muted)}.cbam-status-dot{width:7px;height:7px;border-radius:50%;background:var(--brand-bright);flex:none;position:relative;top:-1px}.cbam-status-actions li.refused .cbam-status-dot{background:var(--border-light)}.cbam-status-reason{font-size:var(--fs-caption);color:var(--text-muted)}@media(max-width:800px){.cbam-status{grid-template-columns:1fr}}.cbam-project-tabs{flex-wrap:wrap}.cbam-tab-later{opacity:.6}.cbam-tab-phase{margin-left:6px;padding:0 6px;border-radius:999px;font-size:.65rem;letter-spacing:.04em;text-transform:uppercase;background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border)}.cbam-panel{padding:14px 16px;margin-bottom:16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius)}.cbam-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.cbam-panel-title{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:var(--fs-section-title);font-weight:600}.cbam-panel-title svg{color:var(--brand-bright)}.cbam-subtitle{display:flex;align-items:center;gap:6px;margin:14px 0 6px;font-size:var(--fs-body);font-weight:600}.cbam-placeholder h3{margin-top:0}.cbam-table{width:100%}.cbam-table tr.card-row-open{cursor:pointer}.cbam-table tr.card-row-open:hover td{background:var(--bg-hover)}.cbam-table .row-actions{text-align:right;white-space:nowrap}.cbam-details{margin-top:12px}.cbam-details>summary{cursor:pointer;color:var(--text-secondary);font-size:var(--fs-small)}.cbam-details>summary:hover{color:var(--brand-bright)}.cbam-details table{margin-top:8px}.cbam-kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 18px;margin:8px 0 0;font-size:var(--fs-small)}.cbam-kv dt{color:var(--text-muted)}.cbam-kv dd{margin:0}.cbam-head{margin-bottom:14px}.cbam-head-title{display:flex;align-items:center;gap:8px;margin:0;font-size:1.2rem;font-weight:700}.cbam-head-title svg{color:var(--brand-bright)}.cbam-back{display:inline-flex;align-items:center;gap:4px;margin-bottom:8px;padding:0}.cbam-assign{margin-top:16px;padding-top:12px;border-top:1px dashed var(--border)}.cbam-assign h4,.cbam-person-body h4{display:flex;align-items:center;gap:6px;margin:10px 0 6px;font-size:var(--fs-body);font-weight:600}.cbam-assign .inline-form{flex-wrap:wrap}.cbam-assign-profile{margin-top:6px}.cbam-check{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-small);white-space:nowrap}.cbam-check input{margin:0}.cbam-form{margin-top:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-alt)}.cbam-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px 14px}.cbam-form label,.cbam-form-wide{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-small);color:var(--text-secondary)}.cbam-form label>input,.cbam-form label>select,.cbam-form-wide>textarea{width:100%}.cbam-form-wide{margin-top:10px}.cbam-form .row-actions{display:flex;gap:8px;margin-top:12px}.cbam-sectors{margin:12px 0 0;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;flex-wrap:wrap;gap:8px 16px}.cbam-sectors legend{font-size:var(--fs-caption);color:var(--text-muted);padding:0 4px}.cbam-failures ul{margin:6px 0 0;padding-left:18px}.cbam-failures li{margin:3px 0}.banner-ok{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 12px;margin:8px 0;border-radius:var(--radius-sm);background:var(--status-success-bg);color:var(--status-success-text);border:1px solid var(--status-success-border);font-size:var(--fs-small)}.cbam-invite-url code{word-break:break-all;font-family:var(--font-mono);font-size:var(--fs-caption)}.cbam-modal{max-width:640px;display:flex;flex-direction:column;gap:10px}.cbam-modal h3{margin:0}.cbam-modal textarea{width:100%}.cbam-declaration-row{display:flex;gap:10px;align-items:flex-start;font-size:var(--fs-small)}.cbam-declaration-row input{margin-top:3px}.cbam-people{display:flex;flex-direction:column;gap:8px}.cbam-person{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface)}.cbam-person.open{border-color:var(--brand-border)}.cbam-person-head{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:none;border:none;color:var(--text-primary);text-align:left;cursor:pointer;font:inherit}.cbam-person-head:hover{background:var(--bg-hover)}.cbam-person-badges{margin-left:auto;display:flex;gap:6px;align-items:center}.cbam-person-body{padding:4px 14px 14px 40px;border-top:1px solid var(--border)}.cbam-person-body .inline-form{flex-wrap:wrap;margin:6px 0}.cbam-list{list-style:none;margin:0;padding:0;font-size:var(--fs-small)}.cbam-list li{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px dashed var(--border)}.cbam-list li:last-child{border-bottom:none}.cbam-audit tr{cursor:pointer}.cbam-audit tr.open td{background:var(--bg-hover)}.cbam-action{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--brand-bright)}.cbam-audit-detail{margin-top:6px;display:flex;flex-direction:column;gap:6px}.cbam-audit-detail pre{margin:2px 0 0;padding:6px 8px;max-height:220px;overflow:auto;background:var(--bg-body);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-caption);white-space:pre-wrap}.cbam-side-list{display:flex;flex-direction:column}.cbam-side-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cbam-invite p{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cbam-ok{color:var(--status-success-text)}.cbam-err{color:var(--status-error-text)}.cbam-toolbar{margin-bottom:12px}.cbam-lock{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:12px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border-light);color:var(--text-secondary);font-size:var(--fs-small)}.cbam-fieldset{border:none;margin:0;padding:0;min-width:0}.cbam-fieldset:disabled input,.cbam-fieldset:disabled select,.cbam-fieldset:disabled textarea{opacity:.85;cursor:default}.cbam-edit-table input,.cbam-edit-table select{width:100%;min-width:80px}.cbam-edit-table td{padding:4px 6px}.cbam-check-block{display:flex;align-items:flex-start;white-space:normal;margin:12px 0 4px;line-height:1.45}.cbam-check-block input{margin-top:3px}.cbam-save-row{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap}.cbam-completeness-head{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:8px}.cbam-completeness-head.ok{color:var(--status-success-text)}.cbam-completeness-head.gap{color:var(--status-warning-text)}.cbam-completeness-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:var(--fs-small)}.cbam-completeness-list li{display:flex;gap:8px;align-items:flex-start}.cbam-completeness-list li svg{flex:none;margin-top:2px}.cbam-completeness-list li.ok svg{color:var(--status-success-text)}.cbam-completeness-list li.missing{color:var(--text-primary)}.cbam-completeness-list li.missing svg{color:var(--status-error-text)}.cbam-completeness-list li.recommended svg{color:var(--text-muted)}.cbam-tag{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;padding:0 5px;border-radius:999px;border:1px solid var(--border);color:var(--text-muted)}.cbam-categories{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}.cbam-category{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;background:var(--surface-alt)}.cbam-category-head{display:flex;align-items:center;gap:8px}.cbam-category-head .btn-icon{margin-left:auto}.cbam-category-hint{margin:4px 0 6px}.cbam-file-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.cbam-file-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--fs-small)}.cbam-file-name{font-weight:600;word-break:break-all}.cbam-file-row .row-actions{margin-left:auto;display:flex;gap:2px}.cbam-file-meta{margin-top:2px}.cbam-meta-form{margin-top:6px}.cbam-diff{display:grid;gap:8px;font-size:var(--fs-small)}.cbam-diff-before{color:var(--status-error-text);text-decoration:line-through;text-decoration-color:#e5484d80}.cbam-diff-after{color:var(--status-success-text)}.cbam-diff-rows h5{margin:4px 0;font-size:var(--fs-small);color:var(--text-secondary)}.cbam-diff-rows ul,.cbam-diff-files{list-style:none;margin:0;padding:0;display:grid;gap:3px}.cbam-diff .added{color:var(--status-success-text)}.cbam-diff .removed{color:var(--status-error-text)}.cbam-diff .changed{color:var(--status-warning-text)}.cbam-selected td{background:var(--brand-tint)}.cbam-hash{font-family:var(--font-mono);font-size:var(--fs-caption);word-break:break-all}.cbam-decision{margin-top:16px;padding-top:12px;border-top:1px dashed var(--border)}.cbam-missing-edit{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:4px}.cbam-missing-edit li{display:flex;gap:6px}.cbam-missing-edit input{flex:1}.banner-warning ul{margin:4px 0 0;padding-left:18px}.btn-sm.danger{color:var(--status-error-text);border-color:var(--status-error-border)}.btn-sm.danger:hover:not(:disabled){background:var(--status-error-bg)}.cbam-basis{display:inline-block;min-width:20px;padding:0 5px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-caption);font-weight:600;text-align:center;border:1px solid var(--border)}.cbam-basis--confirmed{background:var(--status-success-bg);color:var(--status-success-text);border-color:var(--status-success-border)}.cbam-basis--potential{background:var(--status-warning-bg);color:var(--status-warning-text);border-color:var(--status-warning-border)}.cbam-finding-status{font-size:var(--fs-small);white-space:nowrap}.cbam-finding-status--open,.cbam-finding-status--not_accepted{color:var(--status-warning-text)}.cbam-finding-status--responded{color:var(--brand-bright)}.cbam-finding-status--closed_verified{color:var(--status-success-text)}.cbam-finding-status--residual{color:var(--text-secondary)}.cbam-finding-status--withdrawn{color:var(--text-muted);text-decoration:line-through}.cbam-table td .cbam-chip{margin-left:6px}.cbam-pre{white-space:pre-wrap;word-break:break-word}.cbam-citation-list{margin:0;padding-left:18px;display:grid;gap:2px;font-size:var(--fs-small)}.cbam-citations{display:grid;gap:6px;margin-top:8px}.cbam-citations legend{font-size:var(--fs-small);color:var(--text-secondary)}.cbam-citation-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.cbam-citation-row select,.cbam-citation-row input{min-width:0}.cbam-citation-row .cbam-citation-cell{width:110px}.cbam-citation-row .cbam-citation-quote{flex:1 1 240px}.cbam-citations .banner-ok svg{vertical-align:-2px}.cbam-revision{padding:6px 0;border-top:1px dashed var(--border)}.cbam-revision ul{margin:4px 0 0;padding-left:18px}.cbam-status-control{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:12px 0}.cbam-status-control input{flex:1 1 220px;min-width:0}.cbam-thread{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:8px}.cbam-msg{padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);max-width:85%}.cbam-msg--operator{background:var(--surface-2);justify-self:start}.cbam-msg--verifier{background:var(--brand-tint);justify-self:end}.cbam-note-composer{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;margin-top:8px}.cbam-note-composer textarea{flex:1 1 260px;min-width:0}.cbam-note-list li{padding:6px 0}.cbam-note-body{white-space:pre-wrap;word-break:break-word}.cbam-notes{border-style:dashed}.cbam-finding-detail .cbam-notes{margin-top:12px}.mono{font-family:var(--font-mono)}@media(max-width:640px){.cbam-msg{max-width:100%}.cbam-citation-row .cbam-citation-cell{width:90px}}.cbam-review-actions{display:grid;gap:6px;margin-bottom:12px}.cbam-review-round{border-top:1px solid var(--border);padding-top:10px;margin-top:10px}.cbam-review-round-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px}.cbam-review-round-head .row-actions{margin-left:auto;display:flex;gap:4px}.cbam-msg--reviewer{background:var(--surface-2);max-width:100%}.cbam-review-answer{margin-top:6px;padding:6px 8px;border-left:3px solid var(--brand-bright);background:var(--brand-tint);border-radius:var(--radius-sm)}.cbam-deliverables>li{padding:10px 0}.cbam-deliverable-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:6px}.cbam-replaced{opacity:.7}.cbam-subtabs{margin:0;border-bottom:none}.cbam-deadline{white-space:nowrap}.cbam-deadline--bad{color:var(--status-error-text);font-weight:600}.cbam-deadline--warn{color:var(--status-warning-text)}.cbam-deadline--ok{color:var(--status-success-text)}.cbam-deadline--muted{color:var(--text-muted)}.xml-upload-title{margin:0 0 16px;font-size:.95rem;font-weight:600;color:var(--text-primary)}.btn-primary{background:var(--accent-shipping);color:#0a1628;font-weight:600;border:none;padding:8px 20px;border-radius:var(--radius);cursor:pointer;font-size:.9rem;transition:opacity .15s}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.xml-gen-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;overflow:hidden}.xml-gen-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;flex-wrap:wrap}.xml-gen-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.xml-gen-filename{font-weight:600;font-size:.88rem;color:var(--text-primary);word-break:break-all}.xml-gen-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:var(--fs-caption);font-weight:600}.badge-ok{background:var(--status-success-bg);color:var(--status-success-text)}.badge-warn{background:var(--status-warning-bg);color:var(--status-warning-text);cursor:help}.badge-muted{background:var(--bg-hover);color:var(--text-muted)}.xml-validation-errors{font-family:var(--font-mono);font-size:.78rem;line-height:1.5;background:var(--status-error-bg);color:var(--status-error-text);padding:12px 16px;margin:0;border-top:1px solid var(--status-error-border);white-space:pre-wrap;word-break:break-word}.xml-config-card{background:linear-gradient(145deg,var(--bg-surface) 0%,rgba(28,32,50,.95) 100%);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 24px;margin-bottom:16px;display:flex;flex-direction:column;gap:0;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.xml-config-card:hover{border-color:var(--border-light);box-shadow:var(--shadow-sm)}.xml-file-section{border-top:1px solid var(--border);padding:14px 0;display:flex;flex-direction:column;gap:8px}.xml-file-section:first-of-type{border-top:none;padding-top:4px}.xml-section-label{font-size:.84rem;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.xml-section-actions{display:flex;gap:8px;flex-wrap:wrap}.xml-saved-file{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.xml-saved-filename{font-family:var(--font-mono);font-size:.8rem;color:var(--text-primary);background:#ffffff0f;padding:3px 8px;border-radius:4px;border:1px solid var(--border-light);max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xml-upload-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.xml-replace-btn{cursor:pointer;display:inline-flex;align-items:center;gap:4px}.xml-mapping-textarea{font-family:var(--font-mono);font-size:.78rem;line-height:1.55;background:#0d1117;color:#c9d1d9;border:1px solid var(--border);border-radius:6px;padding:12px 14px;resize:vertical;min-height:180px;max-height:400px;width:100%;outline:none;tab-size:2}.xml-mapping-textarea:focus{border-color:var(--brand-bright)}.xml-generate-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;margin-bottom:24px}.xml-viewer-wrap{border-top:1px solid var(--border);overflow:hidden}.xml-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#161b22;border-bottom:1px solid var(--border)}.xml-viewer-label{font-family:var(--font-mono);font-size:.78rem;color:var(--text-secondary)}.btn-ai{background:var(--brand);color:var(--on-brand);border:none;font-weight:600;letter-spacing:.01em}.btn-ai:hover:not(:disabled){background:var(--brand-hover)}.btn-ai:disabled{opacity:.5;cursor:not-allowed}.ai-result-panel{background:linear-gradient(145deg,#0f1623,#0d1320);border:1px solid var(--border-light);border-radius:var(--radius);margin-top:10px;overflow:hidden;box-shadow:var(--shadow-sm)}.ai-result-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:linear-gradient(90deg,#ffffff0a,#ffffff05);border-bottom:1px solid var(--border);gap:10px}.ai-result-title{font-size:.82rem;font-weight:700;color:var(--text-primary);letter-spacing:.02em}.ai-warnings{padding:8px 14px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:5px}.ai-warning{display:flex;align-items:flex-start;gap:8px;font-size:.78rem;padding:4px 0}.ai-warning-icon{flex-shrink:0;font-size:.88rem}.ai-warning-warning{color:var(--status-warning-text)}.ai-warning-info{color:var(--status-info-text)}.ai-warning-field{font-weight:600;opacity:.9}.ai-result-json{font-family:var(--font-mono);font-size:.76rem;line-height:1.6;background:transparent;color:#c9d1d9;padding:12px 14px;margin:0;overflow-x:auto;max-height:360px;overflow-y:auto;white-space:pre}.xml-section-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.xml-fuel-filter{background:#161b22;border-top:1px solid var(--border);padding:12px 16px}.xml-fuel-grand-total td{border-top:1px solid var(--border);padding-top:7px;padding-bottom:7px}.xml-fuel-breakdown-toggle{padding:8px 0 2px}.xml-fuel-table-breakdown{margin-top:6px;opacity:.9}.xml-fuel-table-breakdown td,.xml-fuel-table-breakdown th{font-size:var(--fs-caption);padding:3px 10px}.xml-fuel-filter-controls{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:10px}.xml-fuel-filter-group{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:.78rem;color:var(--text-secondary)}.chip{padding:2px 10px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:var(--fs-caption);font-weight:500;cursor:pointer;transition:background .12s,color .12s,border-color .12s;line-height:1.6}.chip:hover{background:var(--bg-hover);color:var(--text-primary)}.chip.active{background:var(--brand);border-color:var(--brand-bright);color:var(--on-brand)}.xml-fuel-table{width:100%;border-collapse:collapse;font-size:.78rem}.xml-fuel-table th{text-align:left;padding:4px 10px;color:var(--text-muted);font-weight:500;border-bottom:1px solid var(--border)}.xml-fuel-table td{padding:5px 10px;border-bottom:1px solid rgba(255,255,255,.04);color:var(--text-secondary)}.xml-fuel-table tr:last-child td{border-bottom:none}.fuel-chip{display:inline-block;padding:1px 8px;border-radius:999px;font-size:var(--fs-caption);font-weight:600}.fuel-chip-type{background:#ffffff0f;color:var(--text-primary)}.fuel-chip-src{background:#ffffff0f;color:var(--text-secondary)}.xml-gen-warnings{border-top:1px solid var(--status-warning-border);background:var(--status-warning-bg);padding:8px 16px}.xml-gen-warnings-toggle{display:inline-flex;align-items:center;gap:5px;color:var(--status-warning-text)}.xml-gen-warnings-list{margin:8px 0 4px;padding-left:22px;max-height:260px;overflow-y:auto;font-size:.78rem;line-height:1.55;color:var(--text-secondary)}.xml-gen-warnings-list li{margin-bottom:3px;word-break:break-word}.samurai-hint{margin:6px 0 12px}.samurai-hint code{background:#ffffff12;padding:1px 5px;border-radius:3px;font-size:.94em}.samurai-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.samurai-year{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;color:var(--text-secondary)}.samurai-year input{width:88px}.samurai-checkbox{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:var(--text-secondary);cursor:pointer}.samurai-result{margin-top:14px;padding-top:12px;border-top:1px solid var(--border);display:flex;flex-direction:column;align-items:flex-start;gap:10px}.samurai-stats{display:flex;gap:18px;flex-wrap:wrap;font-size:.82rem;color:var(--text-secondary)}.samurai-stats strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.samurai-result .xml-gen-warnings-list{margin:0;padding-left:20px}.xml-ports-note{margin:4px 0 0;padding-top:12px;border-top:1px solid var(--border)}.tab-bar{display:flex;gap:2px;border-bottom:2px solid var(--border);margin-bottom:0}.tab-bar button{display:inline-flex;align-items:center;gap:5px;background:transparent;color:var(--text-secondary);border:none;border-bottom:2px solid transparent;border-radius:0;padding:9px 16px;margin-bottom:-2px;font-size:.88rem;cursor:pointer;font-weight:500;transition:color var(--transition-base),border-color var(--transition-base);white-space:nowrap;box-shadow:none;transform:none!important}.tab-bar button:hover:not(:disabled){color:var(--text-primary);background:transparent;box-shadow:none}.tab-bar button.active{color:var(--brand-bright);border-bottom-color:var(--brand-bright);font-weight:600}.tab-bar-secondary{margin-top:4px}.tab-bar-tertiary{margin-top:12px;border-bottom-color:var(--border)}.tab-bar-tertiary button{font-size:.82rem;padding:7px 12px;color:var(--text-muted)}.tab-bar-tertiary button.active{color:var(--brand-bright);border-bottom-color:var(--brand-bright)}.tab-panel-inner{margin-top:0;padding:8px 0 0}.f39-workspace{display:flex;flex-direction:column;gap:20px;padding:16px 0}.f39-section{background:linear-gradient(145deg,var(--bg-surface) 0%,rgba(28,31,48,.95) 100%);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.f39-section:hover{border-color:var(--border-light);box-shadow:var(--shadow-sm)}.f39-section-header{padding:10px 16px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);background:linear-gradient(90deg,#ffffff0a,#ffffff05);border-bottom:1px solid var(--border)}.f39-section-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.f39-header-field{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:400;letter-spacing:normal;text-transform:none}.f39-label-inline{color:var(--text-secondary);font-size:.78rem;font-weight:500;white-space:nowrap}.f39-form-table{width:100%;border-collapse:collapse}.f39-form-table tr{border-bottom:1px solid var(--border)}.f39-form-table tr:last-child{border-bottom:none}.f39-form-table td{padding:8px 16px;vertical-align:middle}.f39-form-label{width:280px;min-width:200px;color:var(--text-secondary);font-size:.82rem;font-weight:500;white-space:nowrap}.f39-field-input{background:var(--bg-body);border:1px solid var(--border);border-radius:5px;color:var(--text-primary);font-size:.82rem;padding:5px 10px;width:100%;max-width:400px;outline:none;transition:border-color .15s}.f39-field-input:focus{border-color:var(--brand-bright)}.f39-field-select{background:var(--bg-body);border:1px solid var(--border);border-radius:5px;color:var(--text-primary);font-size:.82rem;padding:5px 10px;outline:none;cursor:pointer;transition:border-color .15s}.f39-field-select:focus{border-color:var(--brand-bright)}.f39-opinion-select[data-value=SATISFACTORY]{color:var(--status-success-text);border-color:var(--status-success-border)}.f39-opinion-select[data-value=NON-SATISFACTORY]{color:var(--status-error-text);border-color:var(--status-error-border)}.f39-checklist-table{width:100%;border-collapse:collapse;font-size:.82rem}.f39-checklist-table th{padding:8px 12px;text-align:left;font-size:var(--fs-caption);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-surface);border-bottom:1px solid var(--border);white-space:nowrap}.f39-checklist-table td{padding:7px 12px;vertical-align:middle;border-bottom:1px solid var(--border);color:var(--text-primary)}.f39-checklist-table tbody tr:last-child td{border-bottom:none}.f39-checklist-table tbody tr:hover td{background:var(--bg-hover)}.col-num{width:36px;text-align:center}.col-status{width:90px}.col-risk{width:100px}.col-ir{width:90px}.col-comments{width:220px}.col-findings{width:260px}.col-method{width:220px}.col-hours{width:70px;text-align:right}.col-time{width:90px}.f39-row-num{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.76rem}.f39-mini-select{background:var(--bg-body);border:1px solid var(--border-light);border-radius:4px;color:var(--text-primary);font-size:.78rem;padding:3px 6px;width:100%;cursor:pointer;outline:none}.f39-mini-select:focus{border-color:var(--brand-bright)}.f39-mini-input{background:var(--bg-body);border:1px solid var(--border-light);border-radius:4px;color:var(--text-primary);font-size:.78rem;padding:3px 8px;width:100%;outline:none}.f39-mini-input:focus{border-color:var(--brand-bright)}.f39-num-input{text-align:right}.f39-total-row td{padding:9px 12px;font-size:.78rem;font-weight:700;color:var(--text-primary);background:var(--bg-hover);border-top:2px solid var(--border-light);text-transform:uppercase;letter-spacing:.05em}.f39-total-row .col-hours{color:var(--text-primary);font-size:.88rem}.f10-wrapper{display:flex;flex-direction:column;height:100%;min-height:0}.f10-header-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0;box-shadow:0 2px 8px #00000026}.f10-header-title{display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:600;color:var(--text-primary)}.f10-header-badge{background:#ffffff0f;color:var(--text-secondary);border:1px solid rgba(134,134,133,.45);border-radius:6px;padding:2px 9px;font-size:.8rem;font-weight:700}.f10-save-area{display:flex;align-items:center;gap:10px}.f10-save-status{display:flex;align-items:center;gap:5px;font-size:.8rem}.f10-save-status.saving{color:var(--text-secondary)}.f10-save-status.saved{color:var(--status-success-text)}.f10-save-status.error{color:var(--status-error-text)}.f10-save-status.warn{color:var(--status-warning-text)}.f10-review-banner{display:flex;align-items:flex-start;gap:10px;margin:10px 18px 0;padding:10px 12px;border:1px solid var(--status-warning-border);background:var(--status-warning-bg);border-radius:8px;font-size:.85rem;color:var(--text-primary)}.f10-review-banner-icon{flex-shrink:0;color:var(--status-warning);margin-top:2px}.f10-review-banner-body{flex:1;line-height:1.4}.f10-review-banner-text{margin-top:4px;color:var(--text-secondary)}.f10-review-banner-text ul{margin:6px 0 0;padding-left:18px}.f10-review-banner-text li{margin-bottom:2px}.f10-review-banner-close{flex-shrink:0;background:transparent;border:none;color:var(--text-secondary);font-size:1.1rem;line-height:1;padding:2px 6px;cursor:pointer;border-radius:4px}.f10-review-banner-close:hover{background:#ffffff14;color:var(--text-primary)}.f10-upload-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:6px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-secondary);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.f10-upload-btn:hover{border-color:var(--brand-border);color:var(--brand-bright);background:var(--brand-tint)}.f10-save-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:6px;border:1px solid var(--brand);background:var(--brand);color:var(--on-brand);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s}.f10-save-btn:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.f10-save-btn:disabled{opacity:.45;cursor:not-allowed}.f10-layout{display:flex;flex:1;min-height:0;overflow:hidden}.f10-nav{width:200px;flex-shrink:0;background:var(--bg-sidebar);border-right:1px solid var(--border);overflow-y:auto;padding:8px 0}.f10-nav-item{display:flex;align-items:center;gap:6px;width:100%;padding:9px 14px;background:none;border:none;color:var(--text-secondary);font-size:.82rem;text-align:left;cursor:pointer;transition:background .13s,color .13s}.f10-nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.f10-nav-item.active{background:var(--brand-tint);color:var(--brand-bright);font-weight:600;box-shadow:inset 3px 0 0 var(--brand-bright)}.f10-nav-arrow{flex-shrink:0;opacity:.4}.f10-nav-item.active .f10-nav-arrow{opacity:1}.f10-nav-toggle{display:flex;align-items:center;justify-content:center;width:100%;padding:6px 0;background:transparent;border:none;border-bottom:1px solid var(--border);cursor:pointer;color:var(--text-secondary);flex-shrink:0}.f10-nav-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.f10-nav-collapsed .f10-nav{width:30px;min-width:30px}.f10-content{flex:1;overflow-y:auto;padding:0 0 40px}.f10-section{padding:20px 24px}.f10-section-title{font-size:1rem;font-weight:700;color:var(--text-primary);margin:0 0 4px}.f10-legend{display:flex;flex-wrap:wrap;gap:6px 24px;font-size:.75rem;color:var(--text-secondary);background:var(--bg-secondary);border-left:3px solid var(--border-light);border-radius:4px;padding:6px 10px;margin-bottom:10px}.f10-section-sub{font-size:.8rem;color:var(--text-muted);margin:0 0 18px}.f10-group{margin-bottom:24px;padding:16px;background:linear-gradient(145deg,var(--bg-surface) 0%,rgba(28,31,48,.9) 100%);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition-base)}.f10-group:hover{border-color:var(--border-light)}.f10-group-title{font-size:.85rem;font-weight:700;color:var(--text-primary);margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid var(--border)}.f10-subgroup-title{font-size:.8rem;font-weight:600;color:var(--text-secondary);margin:14px 0 8px}.f10-accordion{margin-bottom:16px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.f10-accordion-header{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:var(--surface-2);border:none;border-bottom:1px solid var(--border);color:var(--text-primary);font-size:.85rem;font-weight:700;cursor:pointer;text-align:left;transition:background .15s}.f10-accordion-header:hover{background:var(--bg-hover)}.f10-accordion-body{padding:14px 16px 6px;background:var(--bg-surface)}.f10-inline-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}.f10-inline-label{flex:0 0 220px;font-size:.82rem;color:var(--text-secondary);padding-top:7px;line-height:1.4;display:flex;gap:4px}.f10-field-num{font-weight:700;color:var(--text-primary);min-width:22px;flex-shrink:0}.f10-inline-control{flex:1;min-width:0}.f10-inline-control .f10-input,.f10-inline-control .f10-textarea{width:100%}.f10-pct-wrap{display:flex;align-items:center;gap:4px}.f10-pct-input{width:90px!important}.f10-pct-sign{font-size:.88rem;color:var(--text-secondary);font-weight:600}.f10-info-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:1px solid var(--border);background:var(--surface-2);color:var(--text-secondary);cursor:pointer;padding:0;transition:background .15s,color .15s;flex-shrink:0}.f10-info-btn:hover{background:var(--brand-tint);color:var(--brand-bright);border-color:var(--brand-border)}.f10-info-popover{position:fixed;z-index:9999;width:320px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;box-shadow:0 4px 16px #00000059;font-size:.78rem;color:var(--text-primary);line-height:1.55}.f10-info-popover p{margin:0 0 6px}.f10-info-popover p:last-child{margin-bottom:0}.f10-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.f10-field-label{font-size:.78rem;color:var(--text-secondary);font-weight:500}.f10-input,.f10-select,.f10-textarea{background:var(--bg-body);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.82rem;font-family:inherit;padding:6px 10px;transition:border-color var(--transition-base),box-shadow var(--transition-base);width:100%;outline:none}.f10-input:focus,.f10-select:focus,.f10-textarea:focus{outline:none;border-color:var(--brand-bright);box-shadow:0 0 0 3px rgba(var(--brand-bright-rgb),.25)}.f10-input:read-only,.f10-textarea:read-only{opacity:.8;cursor:default}.f10-select:disabled{opacity:.75;cursor:default}.f10-input-sm{background:var(--bg-body);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.82rem;font-family:inherit;padding:5px 8px;width:70px}.f10-input-sm:read-only{opacity:.8;cursor:default}.f10-input-sm:focus{outline:none;border-color:var(--brand-bright)}.f10-input-date{padding:4px 8px;font-size:.82rem;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);height:30px}.f10-input-date:focus{outline:none;border-color:var(--brand-bright)}.f10-field-value{font-size:.85rem;color:var(--text-primary);padding:4px 0}.f10-textarea{resize:vertical;min-height:60px}.f10-textarea-sm{min-height:44px;rows:2}.f10-table-wrap{overflow-x:auto;border-radius:6px;border:1px solid var(--border)}.f10-table{width:100%;border-collapse:collapse;font-size:.8rem}.f10-table th{background:var(--bg-hover);color:var(--text-secondary);font-weight:600;font-size:.75rem;text-align:left;padding:7px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.f10-table td{padding:5px 8px;border-bottom:1px solid var(--border);vertical-align:middle}.f10-table tr:last-child td{border-bottom:none}.f10-table tr:hover td{background:#ffffff05}.f10-table .f10-input,.f10-table .f10-select,.f10-table .f10-textarea{border:1px solid transparent;background:transparent;padding:4px 6px}.f10-table .f10-input:focus,.f10-table .f10-select:focus,.f10-table .f10-textarea:focus{background:var(--bg-body);border-color:var(--brand-bright)}.f10-table .f10-input-sm{border:1px solid transparent;background:transparent}.f10-table .f10-input-sm:focus{background:var(--bg-body);border-color:var(--brand-bright)}textarea.f10-input{resize:none;overflow:hidden;min-height:26px;line-height:1.4;vertical-align:top;padding-top:4px;padding-bottom:4px;display:block;box-sizing:border-box;width:100%;white-space:pre-wrap;word-break:break-word}.f10-col-resize-handle{position:absolute;right:0;top:0;bottom:0;width:5px;cursor:col-resize;z-index:2;background:transparent;transition:background .15s}.f10-col-resize-handle:hover{background:rgba(var(--brand-bright-rgb),.45)}.f10-section-risk-summary{display:flex;align-items:center;gap:10px;padding:6px 10px;font-size:.8rem;color:var(--text-secondary);border-top:1px solid var(--border)}.f10-risk-badge{padding:2px 10px;border-radius:10px;font-weight:700;font-size:.75rem;letter-spacing:.04em}.f10-risk-low{background:var(--status-success-bg);color:var(--status-success-text)}.f10-risk-medium{background:var(--status-warning-bg);color:var(--status-warning-text)}.f10-risk-high{background:var(--status-error-bg);color:var(--status-error-text)}.f10-cell-label{color:var(--text-secondary);font-size:.79rem;line-height:1.4}.f10-cell-center{text-align:center;color:var(--text-muted);font-size:.78rem}.f10-row-header td{background:var(--bg-hover);font-weight:600;color:var(--text-primary);font-size:.8rem}.f10-row-total td{background:var(--bg-hover);font-size:.8rem;border-top:1px solid var(--border-light)}.f10-table-split .f10-tr-header{text-align:center;background:#ffffff0f;border-left:2px solid var(--border-light)!important;color:var(--text-primary);font-size:.8rem}.f10-table-split .f10-tr-sub{background:#ffffff0a}.f10-table-split .f10-tr-sub:first-of-type{border-left:2px solid var(--border-light)!important}.f10-table-split .f10-tr-cell{background:#ffffff08}.f10-table-split .f10-tr-cell:first-of-type{border-left:2px solid var(--border-light)!important}.f10-computed-value{display:inline-block;padding:5px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;font-size:.92rem;font-weight:700;color:var(--text-primary);letter-spacing:.03em}.f10-row-sub td:first-child{padding-left:24px;color:var(--text-secondary);font-style:italic}.f10-precontract-summary{display:flex;gap:24px;align-items:center;margin:14px 0 6px;padding:10px 16px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.f10-summary-stat{display:flex;flex-direction:column;gap:2px}.f10-summary-label{font-size:var(--fs-caption);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.f10-summary-value{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.f10-summary-value.accent{color:var(--text-primary);font-weight:800}.f10-thead-sub th{font-size:var(--fs-caption);font-weight:600;color:var(--text-secondary);background:var(--surface-2);padding:4px 8px;border-bottom:1px solid var(--border)}.f10-risk-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:.8rem;font-weight:700;margin-right:8px}.f10-risk-badge.low{background:var(--status-success-bg);color:var(--status-success-text);border:1px solid var(--status-success-border)}.f10-risk-badge.high{background:var(--status-error-bg);color:var(--status-error-text);border:1px solid var(--status-error-border)}.f10-risk-hint{font-size:.75rem;color:var(--text-secondary);font-style:italic}.f10-score-cell{font-size:.85rem;font-weight:600;color:var(--text-primary)}.f10-loading,.f10-no-year{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-muted);padding:60px 24px;text-align:center;font-size:.87rem}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ex-grid{display:flex;flex-direction:column;gap:0}.ex-grid-toolbar{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-topbar);border:1px solid var(--border);border-bottom:none;border-radius:var(--radius) var(--radius) 0 0}.ex-filter-wrap{position:relative;display:flex;align-items:center}.ex-filter-icon{position:absolute;left:7px;color:var(--text-muted);pointer-events:none;flex-shrink:0}.ex-filter-input{padding:4px 8px 4px 26px;font-size:.8rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);width:200px;transition:border-color .15s}.ex-filter-input:focus{outline:none;border-color:var(--brand-bright)}.ex-row-count{font-size:var(--fs-caption);color:var(--text-muted);margin-left:auto;white-space:nowrap}.ex-grid-scroll{overflow-x:auto;border:1px solid var(--border)}.ex-grid-table{width:100%;border-collapse:collapse;font-size:.82rem}.ex-th{padding:7px 10px;text-align:left;font-size:var(--fs-caption);font-weight:600;letter-spacing:.04em;color:var(--text-muted);background:var(--bg-topbar);border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.ex-th--numeric{text-align:right}.ex-th--sortable{cursor:pointer}.ex-th--sortable:hover{color:var(--text-secondary);background:var(--bg-hover)}.ex-th--sorted{color:var(--brand-bright)}.ex-sort-icon{font-size:var(--fs-caption);opacity:.8;margin-left:1px}.ex-th--file{width:140px;min-width:100px}.ex-th--actions{width:60px}.ex-th--select,.ex-td--select{width:24px;text-align:center;padding:4px}.ex-filter-row .ex-th--filtercell{padding:4px 6px;border-bottom:1px solid var(--border)}.ex-colfilter-cell{position:relative;display:flex;align-items:center}.ex-colfilter-input{width:100%;min-width:70px;font-size:var(--fs-caption);font-weight:400;letter-spacing:normal;text-transform:none;padding:3px 20px 3px 6px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);outline:none;transition:border-color .12s}.ex-colfilter-input:focus{border-color:var(--brand-bright)}.ex-colfilter-input:not(:placeholder-shown){border-color:var(--brand-bright);background:var(--brand-tint)}.ex-colfilter-clear{position:absolute;right:3px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--text-muted);cursor:pointer}.ex-colfilter-clear:hover{color:var(--status-error-text);background:var(--status-error-bg)}.ex-row{border-bottom:1px solid var(--border-light);transition:background .1s}.ex-row:hover{background:var(--bg-hover)}.ex-row--splitting{background:var(--brand-tint)}.ex-td{padding:5px 10px;color:var(--text-secondary);vertical-align:middle}.ex-td--numeric{text-align:right;font-variant-numeric:tabular-nums}.ex-td--file{max-width:140px}.ex-td--actions{text-align:center;width:112px;padding:4px;display:flex;gap:4px;justify-content:center;flex-wrap:wrap}.ex-file-badge{display:inline-block;font-size:var(--fs-caption);color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border-light);border-radius:4px;padding:1px 6px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ex-editable-cell{display:block;cursor:text;border-radius:3px;padding:2px 4px;min-height:22px;transition:background .12s}.ex-editable-cell:hover{background:#ffffff0d}.ex-empty-cell{color:var(--text-muted);font-style:italic}.ex-cell-input{font-size:.82rem;padding:2px 6px;background:var(--bg-surface);border:1px solid var(--brand-bright);border-radius:3px;color:var(--text-primary);width:100%;min-width:60px;outline:none}.ex-split-btn{display:flex;align-items:center;justify-content:center;width:26px;height:24px;font-size:.9rem;border-radius:var(--radius);background:transparent;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.ex-split-btn:hover{background:var(--bg-hover);color:var(--brand-bright);border-color:var(--brand-border)}.ex-split-btn--active{background:var(--brand-tint);color:var(--brand-bright);border-color:var(--brand-bright)}.ex-row-delete-btn:hover{color:var(--status-error-text);border-color:var(--status-error-border);background:var(--status-error-bg)}.ex-split-row{background:var(--brand-tint);border-bottom:1px solid rgba(var(--brand-bright-rgb),.12)}.ex-split-arrow{padding:4px 6px;color:var(--text-muted);font-size:.85rem;text-align:right;width:20px}.ex-split-group-cell,.ex-split-qty-cell{padding:5px 8px}.ex-split-qty-wrap{display:flex;align-items:center;gap:6px}.ex-split-input{font-size:.8rem;padding:3px 7px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);width:100%;outline:none;transition:border-color .12s}.ex-split-input:focus{border-color:var(--brand-bright)}.ex-split-input--qty{max-width:120px;text-align:right}.ex-split-remove{background:transparent;border:none;font-size:.75rem;color:var(--text-muted);cursor:pointer;padding:2px 4px;border-radius:3px;flex-shrink:0}.ex-split-remove:hover{color:var(--status-error-text);background:var(--status-error-bg)}.ex-split-controls-row{background:var(--brand-tint);border-bottom:1px solid var(--border)}.ex-split-controls-row td{padding:6px 10px}.ex-split-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ex-split-remaining{font-size:.8rem;padding:2px 8px;border-radius:999px;margin-left:auto}.ex-split-remaining--ok{background:var(--status-success-bg);color:var(--status-success-text)}.ex-split-remaining--err{background:var(--status-error-bg);color:var(--status-error-text)}.ex-split-actions{display:flex;gap:6px}.ex-agg-panel{border:1px solid var(--border);border-top:2px solid var(--border-light);border-bottom:none;border-radius:var(--radius) var(--radius) 0 0;background:var(--bg-topbar);overflow:hidden}.ex-agg-total{color:var(--text-primary);font-variant-numeric:tabular-nums}.ex-agg-unit{font-size:var(--fs-caption);color:var(--text-muted)}.ev-sum-panel{border:1px solid var(--border);border-top:2px solid var(--border-light);border-radius:var(--radius);overflow:hidden;margin-top:12px}.ev-sum-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-topbar);border-bottom:1px solid var(--border);gap:10px}.ev-sum-title{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.ev-sum-badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-caption);font-weight:600;padding:2px 8px;border-radius:999px}.ev-sum-badge--ok{background:var(--status-success-bg);color:var(--status-success-text)}.ev-sum-badge--warn{background:var(--status-warning-bg);color:var(--status-warning-text)}.ev-sum-scroll{overflow-x:auto}.ev-sum-table{width:100%;border-collapse:collapse;font-size:.82rem}.ev-sum-table .ev-th{padding:6px 12px;text-align:left;font-size:var(--fs-caption);font-weight:600;letter-spacing:.04em;color:var(--text-muted);background:var(--bg-topbar);border-bottom:1px solid var(--border);white-space:nowrap}.ev-sum-table .ev-th--num{text-align:right}.ev-sum-table .ev-th--center{text-align:center}.ev-row{border-bottom:1px solid var(--border-light);transition:background .1s}.ev-row:hover{background:var(--bg-hover)}.ev-row--mismatch{background:color-mix(in srgb,var(--status-error) 4%,transparent)}.ev-td{padding:6px 12px;color:var(--text-secondary);vertical-align:middle}.ev-td--key{color:var(--text-primary);font-weight:500}.ev-td--num{text-align:right;font-variant-numeric:tabular-nums}.ev-td--center{text-align:center}.ev-td--diff{color:var(--status-warning-text)}.ev-td-muted{color:var(--text-muted);font-style:italic}.ev-td-unit{font-size:var(--fs-caption);color:var(--text-muted);margin-left:2px}.ev-status{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-caption);font-weight:600;padding:1px 7px;border-radius:999px;white-space:nowrap}.ev-status--ok{background:var(--status-success-bg);color:var(--status-success-text)}.ev-status--close{background:var(--status-warning-bg);color:var(--status-warning-text)}.ev-status--err{background:var(--status-error-bg);color:var(--status-error-text)}.ev-status--info{background:#94a3b81a;color:var(--text-muted)}.ex-review-table-scroll{overflow-x:auto;max-width:100%}.ex-review-table{table-layout:fixed;min-width:880px}.ex-review-table th,.ex-review-table td{padding:7px 10px;vertical-align:top;overflow-wrap:anywhere;word-break:normal}.ex-review-table th{color:var(--text-muted);background:var(--bg-topbar);border-bottom:1px solid var(--border);font-size:var(--fs-caption);font-weight:600;text-align:left;white-space:normal}.ex-review-table tbody tr{border-bottom:1px solid var(--border-light)}.ex-review-table tbody tr:hover{background:var(--bg-hover)}.ex-review-table .muted,.ex-review-table .small{overflow-wrap:anywhere}.ex-review-table .badge,.ex-review-table .ev-status{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.28;border-radius:6px}.ex-review-table .ev-status{align-items:flex-start}.ex-review-table .ev-signoff-btn{min-height:24px}.ex-review-col-file{width:27%}.ex-review-col-category{width:11%}.ex-review-col-count{width:13%}.ex-review-col-source{width:17%}.ex-review-col-date{width:12%}.ex-review-col-flags{width:20%}.ex-review-eval-table{min-width:720px}.ev-signoff{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.ev-signoff-badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-caption);font-weight:600;padding:2px 7px;border-radius:999px;cursor:default}.ev-signoff--accepted{color:var(--status-success-text);background:var(--status-success-bg)}.ev-signoff--rejected{color:var(--status-error-text);background:var(--status-error-bg)}.ev-signoff--stale{color:var(--status-warning-text);background:var(--status-warning-bg)}.ev-signoff-btn{display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-caption);padding:2px 6px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer}.ev-signoff-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.ev-signoff-btn:disabled{opacity:.45;cursor:not-allowed}.ev-signoff-btn--accept:hover:not(:disabled){color:var(--status-success-text);border-color:var(--status-success-border)}.ev-signoff-btn--reject:hover:not(:disabled){color:var(--status-error-text);border-color:var(--status-error-border)}.ev-signoff-btn--primary{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}.ev-signoff-btn--primary:hover:not(:disabled){background:var(--brand-hover);color:var(--on-brand);border-color:var(--brand-hover)}.ev-signoff-draft{display:inline-flex;align-items:center;gap:4px}.ev-signoff-note{width:220px;font-size:.75rem;padding:3px 6px;border-radius:6px;border:1px solid var(--border);background:var(--bg-input, transparent);color:var(--text-primary)}.ev-signoff-progress{color:var(--text-secondary);background:var(--bg-hover)}.ev-signoff-refresh{margin-left:auto}.ev-signoff-error{color:var(--status-error-text)}.ev-signoff-orphans ul{margin:4px 0 0 18px;padding:0}.ev-signoff-orphans li{display:flex;align-items:center;gap:6px}.proposals-panel{margin-top:12px;border:1px solid var(--border);border-left:3px solid var(--status-warning);border-radius:var(--radius);background:var(--bg-topbar)}.proposals-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;color:var(--status-warning-text);border-bottom:1px solid var(--border)}.proposals-title{font-weight:600;font-size:.85rem;color:var(--text-primary)}.proposals-actions{margin-left:auto;display:inline-flex;gap:6px}.proposals-message{padding:6px 12px;font-size:.8rem;color:var(--text-secondary)}.proposals-list{list-style:none;margin:0;padding:0}.proposal-card{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-bottom:1px solid var(--border-light)}.proposal-card:last-child{border-bottom:none}.proposal-card input[type=checkbox]{margin-top:3px}.proposal-body{flex:1;min-width:0;font-size:.82rem;color:var(--text-secondary)}.proposal-line{overflow-wrap:anywhere}.proposal-arrow{margin:0 6px;color:var(--text-muted)}.proposal-rationale{margin-top:2px;font-style:italic;color:var(--text-muted)}.proposal-row-actions{display:inline-flex;gap:4px;flex-shrink:0}.ev-closure{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:7px 12px;border-bottom:1px solid var(--border);font-size:.8rem;color:var(--text-secondary)}.ev-closure--closed{background:var(--status-success-bg);color:var(--text-primary)}.ev-closure--stale{background:var(--status-warning-bg)}.ev-closure-warn{color:var(--status-warning-text)}.ev-closure-actions{margin-left:auto;display:inline-flex;gap:6px}.ev-closure-reopen{flex-basis:100%}.ev-sum-note{padding:5px 12px;font-size:var(--fs-caption);color:var(--text-muted);background:var(--bg-topbar);border-top:1px solid var(--border)}.ev-sum-empty{padding:20px 16px;font-size:.82rem;color:var(--text-muted);text-align:center;border:1px solid var(--border);border-radius:var(--radius);margin-top:12px}.ex-extraction-status-list{display:flex;flex-wrap:wrap;gap:5px;padding:6px 2px}.ex-file-status-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--border);border-radius:999px;background:var(--bg-surface);font-size:var(--fs-caption);max-width:280px}.ex-file-chip-name{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0}.ex-file-chip-badge{padding:1px 5px;border-radius:8px;font-size:var(--fs-caption);font-weight:600;white-space:nowrap;flex-shrink:0}.ex-file-chip-badge--ok{background:var(--status-success-bg);color:var(--status-success-text)}.ex-file-chip-badge--edited{background:var(--status-warning-bg);color:var(--status-warning-text)}.ex-file-chip-badge--warn{background:#94a3b81f;color:var(--text-muted)}.ex-file-chip-label{font-size:var(--fs-caption);color:var(--brand-bright);white-space:nowrap}.ex-file-chip-error{font-size:var(--fs-caption);color:var(--status-error-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.ex-grid-empty{padding:36px 24px;text-align:center;color:var(--text-muted);font-size:.88rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.ex-file-filter-btn{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:border-color .12s,background .12s;white-space:nowrap}.ex-file-filter-btn:hover,.ex-file-filter-btn.active{border-color:var(--brand-border);color:var(--text-primary)}.ex-file-filter-btn.has-filter{border-color:var(--brand-bright);background:var(--brand-tint);color:var(--brand-bright)}.ex-file-filter-panel{border:1px solid var(--border);border-top:none;background:var(--bg-surface);padding:8px 10px;display:flex;flex-direction:column;gap:4px}.ex-file-filter-actions{display:flex;gap:8px;margin-bottom:4px}.ex-file-filter-all{font-size:var(--fs-caption);padding:2px 8px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text-muted);cursor:pointer;transition:border-color .12s,color .12s}.ex-file-filter-all:hover{border-color:var(--brand-border);color:var(--text-primary)}.ex-file-filter-item{display:flex;align-items:center;gap:7px;font-size:.78rem;cursor:pointer;padding:2px 0;color:var(--text-secondary)}.ex-file-filter-item input[type=checkbox]{accent-color:var(--brand);flex-shrink:0}.ex-file-filter-item:hover{color:var(--text-primary)}.ex-file-filter-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ex-file-filter-assign{margin-left:auto;font-size:var(--fs-caption);padding:1px 6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);color:var(--text-secondary);max-width:220px}.ex-add-panel{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;border:1px solid var(--brand-border);background:var(--brand-tint);border-radius:var(--radius);padding:10px;margin-bottom:6px}.ex-add-field{display:flex;flex-direction:column;gap:3px}.ex-add-field label{font-size:var(--fs-caption);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.ex-add-field input,.ex-add-field select{font-size:.8rem;padding:4px 7px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);min-width:110px}.ex-add-actions{display:flex;gap:6px}.ex-manual-badge{display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-caption);font-weight:600;color:var(--text-secondary);background:#ffffff0f;border:1px solid rgba(134,134,133,.45);border-radius:4px;padding:1px 5px;margin-left:4px;white-space:nowrap}.ex-bulk-bar{display:flex;align-items:center;gap:8px;border:1px solid var(--brand-border);background:var(--brand-tint);border-radius:var(--radius);padding:6px 10px;margin-bottom:6px;flex-wrap:wrap}.ex-bulk-count{font-size:.78rem;color:var(--text-secondary)}.ex-bulk-select{font-size:.8rem;padding:3px 7px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);min-width:220px}.ex-agg-col-count{min-width:64px;text-align:center;flex-shrink:0}.ex-agg-count{font-size:var(--fs-caption);color:var(--text-muted);text-align:center}.ex-agg-files-toggle{display:flex;align-items:center;gap:4px;width:100%;padding:5px 12px;font-size:var(--fs-caption);color:var(--text-muted);background:transparent;border:none;cursor:pointer;text-align:left;transition:color .12s}.ex-agg-files-toggle:hover{color:var(--text-secondary)}.ex-agg-file-rows{display:flex;flex-direction:column;border-top:1px solid var(--border-light)}.ex-agg-file-row{display:flex;align-items:center;justify-content:space-between;padding:4px 12px 4px 20px;border-bottom:1px solid var(--border-light);font-size:.78rem}.ex-agg-file-row:last-child{border-bottom:none}.ex-agg-file-name{color:var(--text-muted);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:8px}.ev-sum-conversion-note{padding:4px 12px;font-size:var(--fs-caption);color:var(--status-info-text);background:var(--status-info-bg);border-bottom:1px solid var(--border)}.ev-sum-conversion-note.ev-signoff-error{background:var(--status-error-bg)}.ev-td--converted{color:var(--status-info-text);font-variant-numeric:tabular-nums}.ex-grid-table--fixed{table-layout:fixed}.ex-grid-table--fixed .ex-th,.ex-grid-table--fixed .ex-td{overflow:hidden;text-overflow:ellipsis}.ex-grid-table--fixed .ex-td--actions{overflow:visible}.ex-th{position:relative}.ex-col-resizer{position:absolute;top:0;right:0;width:8px;height:100%;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;z-index:2}.ex-col-resizer:after{content:"";position:absolute;top:18%;right:2px;height:64%;width:2px;background:var(--brand-bright);border-radius:1px;opacity:.25;transition:opacity .12s}.ex-th:hover .ex-col-resizer:after,.ex-col-resizer:hover:after{opacity:.7}.ex-col-menu-wrap{position:relative;display:inline-flex}.ex-col-menu{position:absolute;top:100%;right:0;z-index:30;margin-top:4px;min-width:210px;max-height:340px;overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;padding:6px;box-shadow:0 6px 20px #00000040}.ex-col-menu-item{display:flex;align-items:center;gap:7px;padding:4px 6px;font-size:.8rem;color:var(--text-secondary);cursor:pointer;border-radius:4px;white-space:nowrap}.ex-col-menu-item:hover{background:var(--bg-hover)}.ex-col-menu-actions{display:flex;gap:10px;padding:6px 6px 2px;margin-top:4px;border-top:1px solid var(--border)}.ex-col-menu-actions button{background:none;border:none;color:var(--brand-bright);cursor:pointer;font-size:var(--fs-caption);padding:0;text-decoration:underline}.ex-warning-strip{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;padding:8px 10px;border:1px solid var(--status-warning-border);border-radius:8px;background:var(--status-warning-bg);color:var(--status-warning-text);font-size:12px}.ex-warning-item{display:flex;gap:8px;flex-wrap:wrap}.ex-warning-file{font-weight:600;white-space:nowrap}.ex-elsewhere-badge{display:inline-block;margin-left:4px;padding:0 5px;border-radius:8px;font-size:var(--fs-caption);white-space:nowrap;color:var(--text-secondary);background:#ffffff0f;border:1px solid rgba(134,134,133,.45)}.ex-split-input--cat{max-width:110px;margin-left:4px}.ev-dup-notice{color:var(--status-warning-text);background:var(--status-warning-bg);border-left:3px solid var(--status-warning)}.ev-dup-notice ul{margin:4px 0 0 18px;padding:0}.ev-dup-notice li{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:2px 0}.ev-dup-actions{display:inline-flex;flex-wrap:wrap;gap:4px}.ev-dup-btn{display:inline-flex;align-items:center;gap:4px}.asst-panel{margin-bottom:16px;border:1px solid var(--border);border-top:2px solid var(--border-light);border-radius:var(--radius);background:var(--bg-topbar)}.asst-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;border-bottom:1px solid var(--border)}.asst-toggle{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--text-primary);cursor:pointer;padding:0}.asst-title{font-weight:600;font-size:.9rem}.asst-badge{font-size:var(--fs-caption);font-weight:600;padding:2px 8px;border-radius:999px;color:var(--status-warning-text);background:var(--status-warning-bg)}.asst-header-actions{margin-left:auto;display:inline-flex;align-items:center;gap:6px}.asst-select{font-size:.75rem;padding:3px 6px;border-radius:6px;max-width:280px;border:1px solid var(--border);background:var(--bg-input, transparent);color:var(--text-primary)}.asst-body{max-height:520px;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.asst-empty{padding:6px 0;line-height:1.5}.asst-message{display:flex;flex-direction:column;gap:4px}.asst-message--dropped{opacity:.8}.asst-bubble{max-width:85%;padding:8px 11px;border-radius:10px;font-size:.85rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.asst-bubble--user{align-self:flex-end;background:var(--brand-tint-strong);color:var(--text-primary)}.asst-bubble--assistant{align-self:flex-start;background:var(--bg-hover);color:var(--text-primary)}.asst-tool{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-caption);color:var(--text-secondary)}.asst-tool--error{color:var(--status-error-text)}.asst-note{font-size:.8rem;color:var(--status-warning-text);padding:2px 0}.asst-proposals{display:flex;flex-direction:column;gap:6px;margin-top:4px}.asst-proposals-title{font-size:.78rem;font-weight:600;color:var(--text-secondary);cursor:default}details.asst-proposals>summary{cursor:pointer}.asst-proposal{border:1px solid var(--border);border-left:3px solid var(--status-warning);border-radius:8px;padding:8px 10px;background:var(--bg-hover);font-size:.8rem;color:var(--text-secondary)}.asst-proposal--done{border-left-color:var(--border);opacity:.8}.asst-proposal-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.asst-proposal-kind{font-weight:600;color:var(--text-primary)}.asst-proposal-status{margin-left:auto;font-size:var(--fs-caption)}.asst-proposal-changes{margin:0;padding-left:16px;overflow-wrap:anywhere}div.asst-proposal-changes{padding-left:0}.asst-proposal-rationale{margin-top:4px;font-style:italic;color:var(--text-muted)}.asst-proposal-result{margin-top:4px;font-size:.75rem}.asst-proposal-actions{margin-top:6px;display:inline-flex;gap:6px}.asst-composer{display:flex;gap:6px;padding:8px 12px;border-top:1px solid var(--border)}.asst-input{flex:1;resize:vertical;min-height:38px;font:inherit;font-size:.85rem;padding:6px 8px;border-radius:8px;border:1px solid var(--border);background:var(--bg-input, transparent);color:var(--text-primary)}.asst-send{align-self:flex-end;padding:6px 10px}.asst-footer{padding:0 12px 8px}.asst-proposal-status--applied{color:var(--status-success-text)}.asst-proposal-status--refused,.asst-proposal-status--rejected{color:var(--status-error-text)}.asst-proposal-status--undone{color:var(--text-muted)}.asst-evidence{margin:4px 0 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:2px}.asst-evidence li{overflow-wrap:anywhere;color:var(--text-primary)}.asst-evidence li svg{color:var(--text-muted);margin-right:3px;vertical-align:-1px}.asst-page-link{border:none;background:none;padding:0;cursor:pointer;color:var(--brand-bright);text-decoration:underline;text-underline-offset:2px}.templates-tab{display:flex;flex-direction:column;gap:1.25rem;padding:.25rem 0}.templates-stats{display:flex;gap:.75rem;flex-wrap:wrap}.tpl-stat-card{flex:1;min-width:110px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.1rem;transition:box-shadow .15s}.tpl-stat-card:hover{box-shadow:0 2px 8px #00000012}.tpl-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1;font-variant-numeric:tabular-nums}.tpl-stat-label{font-size:var(--fs-caption);color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.03em}.tpl-toolbar{display:flex;flex-direction:column;gap:.55rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem}.tpl-toolbar-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.tpl-toolbar-top{gap:.6rem}.tpl-search-wrap{position:relative;flex:1;min-width:200px;max-width:420px}.tpl-search-icon{position:absolute;left:.65rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.tpl-search-input{width:100%;box-sizing:border-box;padding:.45rem 2.1rem .45rem 2rem;border:1px solid var(--border-light);border-radius:8px;font-size:.85rem;background:var(--bg-body);color:var(--text-primary);transition:border-color .15s,box-shadow .15s}.tpl-search-input::placeholder{color:var(--text-muted)}.tpl-search-input:focus{outline:none;border-color:var(--brand-bright);box-shadow:0 0 0 3px rgba(var(--brand-bright-rgb),.25)}.tpl-search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;padding:.1rem;border-radius:3px;transition:color .12s}.tpl-search-clear:hover{color:var(--text-primary)}.tpl-sort-group{display:flex;align-items:center;gap:.2rem}.tpl-sort-label{font-size:.78rem;color:var(--text-muted);font-weight:500;margin-right:.15rem;white-space:nowrap}.tpl-sort-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .65rem;border-radius:6px;border:1px solid var(--border);background:none;font-size:.78rem;color:var(--text-secondary);cursor:pointer;font-weight:500;white-space:nowrap;transition:background .12s,color .12s,border-color .12s}.tpl-sort-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.tpl-sort-btn.active{background:var(--brand);color:var(--on-brand);border-color:var(--brand-bright)}.tpl-new-btn{display:inline-flex;align-items:center;gap:.35rem;margin-left:auto;white-space:nowrap;flex-shrink:0}.tpl-filter-row{padding-top:.35rem;border-top:1px solid var(--border);gap:.4rem}.tpl-filter-label{font-size:.76rem;font-weight:600;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.tpl-pills-group{display:flex;gap:.25rem;flex-wrap:wrap;flex:1}.tpl-pill{padding:.22rem .6rem;border-radius:999px;font-size:var(--fs-caption);font-weight:500;border:1px solid var(--border);background:none;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:background .12s,color .12s,border-color .12s}.tpl-pill:hover{background:var(--bg-hover);color:var(--text-primary)}.tpl-pill.cat.active,.tpl-pill.supplier.active{background:var(--brand);border-color:var(--brand-bright);color:var(--on-brand);font-weight:600}.tpl-clear-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.22rem .6rem;border-radius:6px;border:1px solid var(--border);background:none;font-size:var(--fs-caption);color:var(--text-muted);cursor:pointer;margin-left:auto;flex-shrink:0;transition:color .12s,border-color .12s}.tpl-clear-btn:hover{color:var(--status-error-text);border-color:var(--status-error-border)}.tpl-active-filters{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;padding-top:.3rem;border-top:1px solid var(--border)}.tpl-af-label{font-size:var(--fs-caption);color:var(--text-muted);font-weight:500}.tpl-af-chip{display:inline-flex;align-items:center;gap:.2rem;padding:.15rem .45rem;background:var(--bg-hover);border:1px solid var(--border-light);border-radius:999px;font-size:var(--fs-caption);color:var(--text-primary)}.tpl-af-chip button{background:none;border:none;padding:0;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;line-height:1}.tpl-af-chip button:hover{color:var(--status-error-text)}.tpl-af-chip.cat,.tpl-af-chip.supplier{background:var(--brand-tint);border-color:var(--brand-border);color:var(--brand-bright)}.tpl-af-count{margin-left:auto;font-size:var(--fs-caption);font-weight:600;color:var(--text-secondary)}.tpl-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:box-shadow .15s,border-color .15s;display:flex;flex-direction:column;border-left:3px solid var(--tpl-card-accent, var(--border))}.tpl-card:hover{box-shadow:0 3px 14px #0000001a;border-left-color:var(--tpl-card-accent-hover, var(--brand-bright))}.tpl-card--draft{border-left-color:var(--status-warning);background:color-mix(in srgb,var(--status-warning) 3%,transparent)}.tpl-card-name{font-size:.95rem;font-weight:600;margin-bottom:.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tpl-card-chips{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.45rem}.tpl-chip{display:inline-flex;align-items:center;padding:.12rem .5rem;border-radius:999px;font-size:var(--fs-caption);font-weight:500;white-space:nowrap}.tpl-chip.cat,.tpl-chip.type,.tpl-chip.supplier,.tpl-chip.kw,.tpl-chip.prompt{background:#ffffff0f;color:var(--text-secondary);border:1px solid rgba(134,134,133,.45)}.tpl-chip.kw{font-family:var(--font-mono)}.tpl-chip.verified{background:var(--status-success-bg);color:var(--status-success-text)}.tpl-chip.matches{background:var(--bg-hover);color:var(--text-secondary)}.tpl-chip.status-draft{background:var(--status-warning-bg);color:var(--status-warning-text);border:1px solid var(--status-warning-border)}.tpl-drafts-section{background:color-mix(in srgb,var(--status-warning) 7%,transparent);border:1px solid var(--status-warning-border);border-radius:10px;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.75rem}.tpl-drafts-header{display:flex;align-items:center;gap:.45rem;font-size:.85rem;font-weight:600;color:var(--status-warning-text)}.tpl-drafts-header .tpl-hint{font-weight:400;color:var(--text-secondary)}.tpl-drafts-list{display:flex;flex-direction:column;gap:.5rem}.tpl-draft-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:.65rem .85rem;display:grid;grid-template-columns:1fr auto auto;gap:.6rem .75rem;align-items:center}.tpl-draft-meta{display:flex;flex-direction:column;gap:.3rem;grid-column:1;grid-row:1}.tpl-draft-cats{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.tpl-draft-kws{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.tpl-draft-name-input{grid-column:1;grid-row:2;width:100%;padding:.3rem .5rem;background:var(--bg-body);border:1px solid var(--border);border-radius:6px;font-size:.83rem;color:var(--text-primary)}.tpl-draft-actions{grid-column:2 / -1;grid-row:1 / -1;display:flex;gap:.4rem;align-items:center}.btn-success{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .75rem;background:var(--brand);color:var(--on-brand);border:1px solid var(--brand);border-radius:6px;font-size:.8rem;cursor:pointer;white-space:nowrap;box-shadow:none;transition:background .15s}.btn-success:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.btn-success:disabled{opacity:.5;cursor:not-allowed}.btn-danger{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .75rem;background:var(--status-error-bg);color:var(--status-error-text);border:1px solid var(--status-error-border);border-radius:6px;font-size:.8rem;cursor:pointer;white-space:nowrap;transition:background .15s}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--status-error) 22%,transparent)}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.tpl-subtabs{margin-bottom:1.25rem}.tpl-import-panel{display:flex;flex-direction:column;gap:1rem}.tpl-import-cta{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.4rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px}.tpl-import-cta-icon{color:var(--text-secondary);flex-shrink:0}.tpl-import-cta-text{flex:1;display:flex;flex-direction:column;gap:.15rem}.tpl-import-cta-text h3{margin:0;font-size:.95rem;font-weight:600;color:var(--text-primary)}.tpl-drafts-bulkbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.35rem .15rem;border-bottom:1px solid color-mix(in srgb,var(--status-warning) 20%,transparent)}.tpl-draft-check{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.tpl-draft-check input{cursor:pointer}.tpl-kw-tags{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;background:var(--bg-body);border:1px solid var(--border);border-radius:6px;padding:.3rem .4rem;min-height:2.1rem}.tpl-kw-tag{display:inline-flex;align-items:center;gap:.2rem;background:#ffffff0f;color:var(--text-primary);box-shadow:inset 0 0 0 1px #86868573;border-radius:4px;padding:.1rem .35rem;font-size:.78rem;font-family:var(--font-mono)}.tpl-kw-tag button{background:none;border:none;cursor:pointer;color:inherit;opacity:.7;padding:0;line-height:1}.tpl-kw-tag button:hover{opacity:1}.tpl-kw-input{border:none!important;background:transparent!important;outline:none;flex:1;min-width:120px;font-size:.82rem;color:var(--text-primary);padding:.1rem .2rem}.tpl-kw-add-row{display:flex;gap:.4rem;align-items:stretch;margin-top:.35rem}.tpl-kw-add-row .code-input{flex:1}.tpl-kw-add-row .btn-secondary{display:inline-flex;align-items:center;gap:.25rem;white-space:nowrap}.tpl-kw-tag--phrase{font-family:inherit;max-width:100%;white-space:normal;word-break:break-word;align-items:flex-start}.tpl-hint{font-size:.76rem;color:var(--text-secondary);font-weight:400;margin-left:.3rem}.tpl-card-meta{display:flex;align-items:center;gap:.75rem;font-size:var(--fs-caption);color:var(--text-muted)}.tpl-card-meta-item{display:flex;align-items:center;gap:.25rem}.tpl-card-actions{display:flex;align-items:flex-start;gap:.25rem;flex-shrink:0;padding-top:.1rem}.tpl-card-chevron{color:var(--text-muted);transition:transform .2s;flex-shrink:0;cursor:pointer}.tpl-card-chevron.open{transform:rotate(180deg)}.tpl-card-body{border-top:1px solid var(--border);background:var(--surface-alt, rgba(0,0,0,.015));animation:tplBodyIn .15s ease}@keyframes tplBodyIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tpl-body-tabs{display:flex;border-bottom:1px solid var(--border);padding:0 1rem}.tpl-body-tab{padding:.45rem .75rem;font-size:.8rem;cursor:pointer;border:none;background:none;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .12s,border-color .12s;font-weight:500}.tpl-body-tab:hover{color:var(--text-primary)}.tpl-body-tab.active{color:var(--brand-bright);border-bottom-color:var(--brand-bright)}.tpl-body-content{padding:.85rem 1rem;display:flex;flex-direction:column;gap:.75rem;width:100%;box-sizing:border-box}.tpl-fields-section h5{font-size:.78rem;font-weight:600;color:var(--text-muted);margin:0 0 .5rem}.tpl-fields-grid{display:flex;flex-direction:column;gap:.2rem}.tpl-field-row{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:.5rem;padding:.2rem .4rem;border-radius:4px;font-size:.8rem}.tpl-field-row:nth-child(2n){background:#00000006}.tpl-field-code{font-family:var(--font-mono);font-size:.75rem;color:var(--brand-bright);font-weight:500}.tpl-field-label{color:var(--text-primary)}.tpl-field-example{color:var(--text-muted);font-size:var(--fs-caption);text-align:right}.tpl-edit-form{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1rem}.tpl-edit-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.tpl-edit-full{grid-column:1 / -1;display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.tpl-edit-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:.5rem}.tpl-category-checks{display:flex;flex-wrap:wrap;gap:.3rem .65rem;padding:.3rem 0}.tpl-category-checks label{display:flex;align-items:center;gap:.3rem;font-size:.82rem;cursor:pointer;flex-direction:row;white-space:nowrap}.tpl-category-checks input[type=checkbox]{width:auto;cursor:pointer}.template-drop-zone{border:2px dashed var(--border);border-radius:10px;padding:2.5rem 1rem;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;display:flex;flex-direction:column;align-items:center;gap:.5rem}.template-drop-zone:hover,.template-drop-zone.dragging{border-color:var(--brand-bright);background:var(--brand-tint)}.template-drop-zone-icon{color:var(--text-muted)}.template-drop-zone.dragging .template-drop-zone-icon{color:var(--brand-bright)}.code-input{font-family:var(--font-mono);font-size:.82rem}.template-duplicate-warning{border-radius:8px;padding:.65rem .85rem;font-size:.83rem;display:flex;gap:.6rem;align-items:flex-start;margin-bottom:.25rem;background:var(--status-warning-bg);border:1px solid var(--status-warning-border);color:var(--status-warning-text)}.template-duplicate-warning strong{font-weight:600;display:block;margin-bottom:.3rem}.template-duplicate-supplier{background:var(--status-warning-bg);border-color:var(--status-warning-border);color:var(--status-warning-text)}.tpl-card-header{display:flex;align-items:flex-start;gap:.75rem;padding:.9rem 1rem .85rem .85rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s}.tpl-card-header:hover{background:rgba(var(--brand-rgb),.08)}.tpl-card-left{flex:1;min-width:0;display:flex;flex-direction:column;gap:.4rem}.tpl-card-title-row{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.tpl-card-name{font-size:.92rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px;letter-spacing:-.01em}.tpl-card-icon{color:var(--text-muted);flex-shrink:0;margin-top:.05rem}.tpl-card-right{display:flex;flex-direction:column;align-items:flex-end;gap:.45rem;flex-shrink:0}.tpl-card-actions{display:flex;align-items:center;gap:.3rem}.tpl-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3.5rem 2rem;text-align:center;border:2px dashed var(--border);border-radius:12px;color:var(--text-muted)}.tpl-empty-icon{color:var(--text-muted);opacity:.5}.tpl-empty p{font-size:.9rem;margin:0}.templates-list{display:flex;flex-direction:column;gap:.6rem}.btn-sm{padding:.25rem .65rem;font-size:.8rem}.tpl-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(0,0,0,.15);border-top-color:currentColor;border-radius:50%;animation:tplSpin .7s linear infinite;flex-shrink:0}@keyframes tplSpin{to{transform:rotate(360deg)}}.tpl-chip.ocr-layout{background:#ffffff0f;color:var(--text-secondary);border:1px solid rgba(134,134,133,.45)}@keyframes tpl-fade-in{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.tpl-prompt-section{display:flex;flex-direction:column;gap:.65rem;padding:.25rem 0}.tpl-prompt-generate-row{display:flex;align-items:center;gap:.75rem}.tpl-prompt-hint{flex:1;margin:0;font-size:.8rem;color:var(--text-secondary);line-height:1.4}.tpl-prompt-textarea{width:100%;box-sizing:border-box;padding:.55rem .75rem;font-size:.85rem;font-family:inherit;background:var(--bg-body);color:var(--text-primary);border:1.5px solid var(--border-light);border-radius:8px;resize:vertical;line-height:1.55;transition:border-color .15s,box-shadow .15s}.tpl-prompt-textarea:focus{outline:none;border-color:var(--brand-bright);box-shadow:0 0 0 3px rgba(var(--brand-bright-rgb),.25)}.tpl-prompt-textarea::placeholder{color:var(--text-muted)}.tpl-prompt-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.tpl-btn-sonnet,.tpl-btn-preview,.tpl-btn-haiku,.tpl-btn-save{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .8rem;border-radius:7px;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,box-shadow .15s,opacity .15s;border:none}.tpl-btn-sonnet:disabled,.tpl-btn-preview:disabled,.tpl-btn-haiku:disabled,.tpl-btn-save:disabled{opacity:.4;cursor:not-allowed;filter:none!important;box-shadow:none!important}.tpl-btn-sonnet{background:var(--brand);color:var(--on-brand);border:1px solid var(--brand);margin-left:auto}.tpl-btn-sonnet:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.tpl-btn-preview{background:var(--brand-tint);color:var(--brand-bright);border:1px solid var(--brand-border)}.tpl-btn-preview:hover:not(:disabled){background:var(--brand-tint-strong)}.tpl-btn-haiku{background:var(--brand-tint);color:var(--brand-bright);border:1px solid var(--brand-border)}.tpl-btn-haiku:hover:not(:disabled){background:var(--brand-tint-strong)}.tpl-prompt-result{background:var(--bg-body);border:1px solid var(--border);border-radius:6px;padding:.6rem .75rem}.tpl-prompt-result-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.tpl-prompt-toggle-btn{display:inline-flex;align-items:center;gap:.35rem;background:none;border:none;cursor:pointer;font-size:.82rem;font-weight:600;color:var(--brand-bright);padding:0;flex:1;text-align:left}.tpl-prompt-toggle-btn:hover{text-decoration:underline}.tpl-prompt-toggle-arrow{color:var(--text-secondary);font-size:.9rem}.tpl-prompt-chars{font-weight:400;font-size:.76rem;color:var(--text-secondary);background:var(--surface-2);border:1px solid var(--border-light);border-radius:999px;padding:.05rem .5rem;margin-left:.2rem}.tpl-prompt-copy-btn{background:none;border:1px solid var(--border-light);border-radius:5px;cursor:pointer;font-size:.75rem;font-weight:500;color:var(--brand-bright);padding:.15rem .55rem;transition:background .12s,color .12s;white-space:nowrap;flex-shrink:0}.tpl-prompt-copy-btn:hover{background:var(--brand-tint);border-color:var(--brand-border)}.tpl-json-preview{font-size:.78rem;line-height:1.4;color:var(--text-secondary);margin:0;white-space:pre-wrap;overflow-x:auto;max-height:260px;overflow-y:auto}.tpl-error{font-size:.8rem;color:var(--status-error-text);margin:0}.tpl-ocr-rendered a{pointer-events:none;color:var(--text-muted);text-decoration:none;cursor:default}.tpl-ocr-rendered{margin-top:.4rem;background:var(--bg-body);border:1px solid var(--border);border-radius:4px;padding:.75rem 1rem;font-size:.78rem;color:var(--text-secondary);max-height:520px;overflow-y:auto;line-height:1.6}.tpl-ocr-rendered h3{font-size:.88rem;font-weight:700;color:var(--text-primary);margin:.75rem 0 .25rem;padding-bottom:.15rem;border-bottom:1px solid var(--border)}.tpl-ocr-rendered h4{font-size:.82rem;font-weight:600;color:var(--text-primary);margin:.6rem 0 .2rem}.tpl-ocr-rendered p{margin:.2rem 0}.tpl-ocr-rendered table{border-collapse:collapse;font-size:.75rem;margin:.4rem 0 .6rem;width:100%}.tpl-ocr-rendered th,.tpl-ocr-rendered td{border:1px solid var(--border);padding:.2rem .5rem;text-align:left}.tpl-ocr-rendered th{background:var(--bg-surface);font-weight:600}.tpl-ocr-rendered strong{font-weight:600;color:var(--text-primary)}.tpl-filter-stats{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;padding:.45rem .7rem;border-radius:6px;font-size:.8rem;margin-top:.5rem}.tpl-filter-stats--active{background:var(--status-success-bg);border:1px solid var(--status-success-border);color:var(--text-secondary)}.tpl-filter-stats--none{background:var(--status-warning-bg);border:1px solid var(--status-warning-border);color:var(--text-secondary)}.tpl-filter-ok{color:var(--status-success-text);font-weight:600}.tpl-filter-warn{color:var(--status-warning-text);font-weight:600}.tpl-cost-section{display:flex;flex-direction:column;gap:.75rem;padding:.25rem 0}.tpl-cost-summary{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}.tpl-cost-stat{display:flex;flex-direction:column;gap:.1rem}.tpl-cost-label{font-size:var(--fs-caption);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.tpl-cost-value{font-size:.95rem;font-weight:600;color:var(--text-primary);font-family:var(--font-mono)}.tpl-cost-log{display:flex;flex-direction:column}.tpl-cost-table{width:100%;border-collapse:collapse;font-size:.77rem;margin-top:.25rem}.tpl-cost-table th{text-align:left;padding:.3rem .5rem;border-bottom:1px solid var(--border);color:var(--text-muted);font-weight:600;font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.03em}.tpl-cost-table td{padding:.28rem .5rem;border-bottom:1px solid rgba(255,255,255,.04);color:var(--text-secondary);vertical-align:middle}.tpl-cost-table tr:last-child td{border-bottom:none}.tpl-cost-table tr:hover td{background:var(--bg-hover, rgba(255,255,255,.03))}.tpl-page-filter-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.75rem}.tpl-page-filter-title{font-size:.85rem;font-weight:700;color:var(--text-primary)}.tpl-page-filter-panels{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:640px){.tpl-page-filter-panels{grid-template-columns:1fr}}.tpl-page-filter-panel{border-radius:8px;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.45rem}.tpl-page-filter-panel--include{background:color-mix(in srgb,var(--status-success) 6%,transparent);border:1px solid var(--status-success-border)}.tpl-page-filter-panel--exclude{background:color-mix(in srgb,var(--status-error) 5%,transparent);border:1px solid var(--status-error-border)}.tpl-page-filter-panel-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.1rem}.tpl-page-filter-panel-icon{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:50%;font-size:var(--fs-caption);font-weight:700;flex-shrink:0}.tpl-page-filter-panel--include .tpl-page-filter-panel-icon{background:var(--status-success-bg);color:var(--status-success-text)}.tpl-page-filter-panel--exclude .tpl-page-filter-panel-icon{background:var(--status-error-bg);color:var(--status-error-text)}.tpl-page-filter-panel-label{font-size:.82rem;font-weight:600}.tpl-page-filter-panel--include .tpl-page-filter-panel-label{color:var(--status-success-text)}.tpl-page-filter-panel--exclude .tpl-page-filter-panel-label{color:var(--status-error-text)}.tpl-page-filter-desc{font-size:.76rem;color:var(--text-muted);margin:0 0 .1rem;line-height:1.4}.tpl-page-filter-sublabel{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;color:var(--text-secondary);font-weight:500}.tpl-kw-tags--include{border-color:var(--status-success-border);background:color-mix(in srgb,var(--status-success) 5%,transparent)}.tpl-kw-tag--include{background:var(--status-success-bg);color:var(--status-success-text);border:1px solid var(--status-success-border);box-shadow:none}.tpl-body-tabs{background:var(--surface-alt, rgba(0,0,0,.015))}.tpl-filter-stats{border-radius:7px;font-size:.79rem}.tpl-playground-modal{width:min(1600px,calc(100vw - 1.5rem));height:calc(100vh - 1.5rem);display:flex;flex-direction:column;overflow:hidden;padding:0}.tpl-pg-header{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1.2rem;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--bg-surface);gap:.5rem;border-left:3px solid var(--border-light)}.tpl-pg-header-left{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:.92rem;color:var(--text-primary);letter-spacing:-.01em}.tpl-pg-filename{color:var(--text-muted);font-size:.77rem;font-weight:400;font-family:var(--font-mono);max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--bg-body);border:1px solid var(--border);border-radius:4px;padding:.1rem .45rem}.tpl-pg-header-right{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.tpl-pg-upload-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;flex:1}.tpl-pg-body{display:grid;grid-template-columns:1fr 540px;flex:1;overflow:hidden;min-height:0}.tpl-pg-pdf{border-right:1px solid var(--border);overflow:hidden;background:#525659;display:flex;flex-direction:column;min-height:0}.tpl-pg-iframe{flex:1;border:none;width:100%;height:100%;display:block}.tpl-pg-panel{display:flex;flex-direction:column;gap:.6rem;overflow-y:auto;padding:.85rem;background:var(--bg-body);min-height:0}.tpl-pg-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:.75rem .9rem;display:flex;flex-direction:column;gap:.55rem;flex-shrink:0;box-shadow:0 1px 4px #0000000d}.tpl-pg-section-title{font-size:var(--fs-caption);font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.tpl-pg-settings-grid{display:flex;flex-direction:column;gap:.45rem}.tpl-pg-setting-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.82rem;min-height:1.75rem}.tpl-pg-setting-label{color:var(--text-secondary);white-space:nowrap;flex-shrink:0;font-size:.82rem}.tpl-pg-model-badge{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--text-secondary);background:#ffffff0f;border:1px solid rgba(134,134,133,.45);padding:.1rem .45rem;border-radius:5px}.tpl-pg-toggle{display:flex;border:1px solid var(--border);border-radius:5px;overflow:hidden;flex-shrink:0}.tpl-pg-toggle-btn{padding:.18rem .6rem;font-size:.76rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:background .12s,color .12s;white-space:nowrap;line-height:1.5}.tpl-pg-toggle-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.tpl-pg-toggle-btn.active{background:var(--brand);color:var(--on-brand);font-weight:600}.tpl-pg-setting-input{padding:.22rem .5rem;border:1px solid var(--border);border-radius:5px;font-size:.78rem;background:var(--bg-body);color:var(--text-primary);width:140px;text-align:right}.tpl-pg-setting-input::placeholder{color:var(--text-muted)}.tpl-pg-setting-input:focus{outline:none;border-color:var(--brand-bright)}.tpl-pg-setting-select{padding:.2rem .4rem;border:1px solid var(--border);border-radius:5px;font-size:.78rem;background:var(--bg-body);color:var(--text-primary);width:148px}.tpl-pg-setting-select:focus{outline:none;border-color:var(--brand-bright)}.tpl-pg-checkbox-label{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--text-primary);cursor:pointer}.tpl-pg-run-btn{display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.6rem 1rem;background:var(--brand);color:var(--on-brand);border:1px solid var(--brand);border-radius:8px;font-size:.88rem;font-weight:600;cursor:pointer;flex-shrink:0;box-shadow:none;transition:background .15s,opacity .15s}.tpl-pg-run-btn:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.tpl-pg-run-btn:disabled{opacity:.6;cursor:not-allowed}.tpl-pg-result-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.tpl-pg-result-meta{font-size:var(--fs-caption);color:var(--text-muted)}.tpl-pg-result-body{border:1px solid var(--border);border-radius:6px;background:var(--bg-body);max-height:380px;overflow-y:auto;overflow-x:auto}.tpl-pg-page+.tpl-pg-page{border-top:1px dashed var(--border)}.tpl-pg-page-sep{font-size:var(--fs-caption);color:var(--text-muted);text-align:center;padding:.25rem 0;background:#ffffff0a}.tpl-pg-result-body .tpl-ocr-rendered{max-height:none;border:none;border-radius:0;background:transparent;margin:0;padding:.6rem .75rem;font-size:.76rem}.tpl-pg-panel .tpl-page-filter-panels{grid-template-columns:1fr}.tpl-pg-section{overflow:hidden}.tpl-ocr-preview-block{display:flex;flex-direction:column;gap:.35rem}.tpl-ocr-preview-toggle{align-self:flex-start;background:none;border:1px solid var(--border);border-radius:5px;padding:.2rem .65rem;font-size:.78rem;color:var(--text-muted);cursor:pointer;transition:color .12s,border-color .12s}.tpl-ocr-preview-toggle:hover{color:var(--text-primary);border-color:var(--brand-border)}.tpl-pg-schema-builder{display:flex;flex-direction:column;gap:.4rem;padding:.6rem 0;border-top:1px dashed var(--border);margin-top:.1rem}.tpl-pg-schema-builder-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.tpl-pg-schema-field-row{display:grid;grid-template-columns:100px 1fr 68px auto;gap:.3rem;align-items:center}.tpl-pg-schema-field-name{padding:.22rem .4rem;border:1px solid var(--border);border-radius:4px;font-size:.76rem;font-family:var(--font-mono);background:var(--bg-body);color:var(--text-primary);width:100%;box-sizing:border-box}.tpl-pg-schema-field-desc{padding:.22rem .4rem;border:1px solid var(--border);border-radius:4px;font-size:.76rem;background:var(--bg-body);color:var(--text-primary);width:100%;box-sizing:border-box}.tpl-pg-schema-field-name::placeholder,.tpl-pg-schema-field-desc::placeholder{color:var(--text-muted)}.tpl-pg-schema-field-name:focus,.tpl-pg-schema-field-desc:focus{outline:none;border-color:var(--brand-bright)}.tpl-pg-schema-field-type{padding:.2rem .25rem;border:1px solid var(--border);border-radius:4px;font-size:var(--fs-caption);background:var(--bg-body);color:var(--text-primary);width:100%;box-sizing:border-box}.tpl-pg-json-result{padding:.6rem .75rem;font-family:var(--font-mono);font-size:var(--fs-caption);color:#86efac;background:#0f172a;margin:0;white-space:pre-wrap;word-break:break-word;line-height:1.5}.tpl-pg-col-selector{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;padding:.55rem .65rem;background:var(--bg-body);border:1px solid var(--border);border-radius:7px}.tpl-pg-col-selector-label{font-size:var(--fs-caption);font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;flex-shrink:0;margin-right:.15rem}.tpl-pg-col-chip{display:flex;align-items:center;gap:.2rem;padding:.18rem .6rem;border-radius:999px;font-size:var(--fs-caption);font-family:var(--font-mono);font-weight:500;cursor:pointer;transition:background .12s,color .12s,border-color .12s,box-shadow .12s;-webkit-user-select:none;user-select:none;border:1px solid var(--border);color:var(--text-secondary);background:var(--bg-surface)}.tpl-pg-col-chip input{display:none}.tpl-pg-col-chip:hover{border-color:var(--brand-border);color:var(--text-primary)}.tpl-pg-col-chip.active{background:var(--brand);border-color:var(--brand-bright);color:var(--on-brand);font-weight:600;box-shadow:none}.tpl-pg-result-table{width:100%;border-collapse:collapse;font-size:var(--fs-caption)}.tpl-pg-result-table th{padding:.38rem .65rem;background:var(--surface-2);color:var(--text-secondary);font-weight:700;text-align:left;white-space:nowrap;border-bottom:1px solid var(--border);font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0;z-index:1}.tpl-pg-result-table td{padding:.28rem .65rem;border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:top;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:var(--fs-caption)}.tpl-pg-result-table tr:last-child td{border-bottom:none}.tpl-pg-result-table tbody tr:hover td{background:var(--bg-hover)}.tpl-pg-result-table tbody tr:nth-child(2n) td{background:#00000005}.tpl-pg-result-table tbody tr:nth-child(2n):hover td{background:var(--bg-hover)}.tpl-pg-haiku-section{border-color:var(--border-light)}.tpl-pg-haiku-sparkle{color:var(--text-secondary);margin-right:.15rem;font-style:normal}.tpl-pg-haiku-info{font-size:var(--fs-caption);color:var(--text-muted);font-style:italic}.tpl-pg-haiku-btn{display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.58rem 1rem;background:var(--brand);color:var(--on-brand);border:1px solid var(--brand);border-radius:8px;font-size:.86rem;font-weight:600;cursor:pointer;flex-shrink:0;box-shadow:none;transition:background .15s,opacity .15s;letter-spacing:.01em}.tpl-pg-haiku-btn:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.tpl-pg-haiku-btn:disabled{opacity:.55;cursor:not-allowed}.prompts-tab{display:flex;flex-direction:column;gap:1.25rem;padding:.25rem 0}.prompts-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.prompts-title{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin:0 0 .2rem}.prompts-sub{font-size:.82rem;color:var(--text-muted);margin:0;max-width:640px;line-height:1.5}.prompts-sub code{font-family:var(--font-mono);background:var(--surface-2);color:var(--brand-bright);padding:.1em .35em;border-radius:4px;font-size:.88em}.prompts-stats{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.prompt-stat{font-size:.82rem;color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:.35rem .75rem}.prompt-stat strong{color:var(--brand-bright)}.prompts-section{display:flex;flex-direction:column;gap:.75rem}.prompts-section-header{display:flex;flex-direction:column;gap:.2rem}.prompts-section-divider{height:1px;background:var(--border);margin:.5rem 0}.prompts-list{display:flex;flex-direction:column;gap:.6rem}.prompt-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:box-shadow .15s}.prompt-card:hover{box-shadow:0 2px 10px #0006}.prompt-card--custom{border-left:3px solid var(--brand-bright)}.prompt-card--editing{box-shadow:0 0 0 2px rgba(var(--brand-bright-rgb),.25)}.prompt-card-header{display:flex;align-items:center;justify-content:space-between;padding:.65rem .9rem;gap:.75rem;flex-wrap:wrap}.prompt-card-title{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;flex:1;min-width:0}.prompt-category-badge{font-size:.75rem;font-weight:700;background:#ffffff0f;border:1px solid rgba(134,134,133,.45);color:var(--text-secondary);border-radius:5px;padding:.15em .55em;white-space:nowrap;flex-shrink:0}.prompt-category-label{font-size:.88rem;font-weight:600;color:var(--text-primary)}.prompt-status-badge{font-size:var(--fs-caption);font-weight:600;border-radius:20px;padding:.15em .65em;white-space:nowrap;flex-shrink:0}.prompt-status-badge--custom{background:var(--brand-tint);color:var(--brand-bright)}.prompt-status-badge--default{background:var(--surface-2);color:var(--text-muted)}.prompt-saved-indicator{display:flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--status-success-text);font-weight:600;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.prompt-card-actions{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.prompt-confirm-reset{display:flex;align-items:center;gap:.35rem;font-size:.8rem}.prompt-meta{font-size:.75rem;color:var(--text-muted);padding:0 .9rem .5rem}.prompt-save-error{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--status-error-text);padding:.35rem .9rem;background:var(--status-error-bg);border-top:1px solid var(--status-error-border)}.prompt-editor{border-top:1px solid var(--border);padding:.75rem .9rem;display:flex;flex-direction:column;gap:.5rem}.prompt-editor-hint{font-size:.78rem;color:var(--text-muted);line-height:1.5}.prompt-editor-hint code{font-family:var(--font-mono);background:var(--surface-2);color:var(--brand-bright);padding:.1em .35em;border-radius:4px;font-size:.88em}.prompt-textarea{width:100%;font-family:var(--font-mono);font-size:.78rem;line-height:1.55;padding:.6rem .75rem;background:var(--bg-body);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);resize:vertical;min-height:200px;box-sizing:border-box}.prompt-textarea:focus{outline:none;border-color:var(--brand-bright);box-shadow:0 0 0 3px rgba(var(--brand-bright-rgb),.25)}.prompt-textarea:disabled{opacity:.6;cursor:not-allowed}.prompt-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.prompt-no-placeholder{display:flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--status-warning-text);font-weight:500}.prompt-preview{border-top:1px solid var(--border);background:var(--bg-body);max-height:380px;overflow-y:auto}.prompt-preview-text{margin:0;padding:.75rem 1rem;font-family:var(--font-mono);font-size:.75rem;line-height:1.6;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word}.report-layout{display:flex;flex-direction:column;gap:20px;margin-top:20px;max-width:760px}.report-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius);padding:18px 20px}.report-card-title{font-size:.9rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:4px;margin-bottom:4px}.report-badge{display:inline-flex;align-items:center;font-size:var(--fs-caption);font-weight:600;font-family:var(--font-mono);background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border-light);border-radius:4px;padding:1px 5px;margin-left:4px;letter-spacing:.02em}.report-card-hint{font-size:.8rem;color:var(--text-muted);margin:0 0 12px;line-height:1.5}.report-saving{font-size:.75rem;color:var(--text-muted);margin-left:10px;font-style:italic}.report-fields{display:flex;flex-direction:column;gap:14px}.report-field-row{display:flex;flex-direction:column;gap:5px}.report-field-label{font-size:.82rem;font-weight:500;color:var(--text-secondary)}.report-field-label code{font-size:.78rem;background:var(--bg-hover);border:1px solid var(--border-light);border-radius:3px;padding:0 4px;margin-left:4px;color:var(--brand-bright);font-family:var(--font-mono)}.report-field-input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input, var(--bg-page));color:var(--text-primary);font-size:.9rem;transition:border-color .15s;box-sizing:border-box}.report-field-input:focus{outline:none;border-color:var(--brand-bright)}.report-field-input:disabled{opacity:.6;cursor:not-allowed}.report-field-textarea{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input, var(--bg-page));color:var(--text-primary);font-size:.9rem;resize:vertical;transition:border-color .15s;box-sizing:border-box;font-family:inherit}.report-field-textarea:focus{outline:none;border-color:var(--brand-bright)}.report-field-textarea:disabled{opacity:.6;cursor:not-allowed}.report-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin-top:10px}@media(max-width:600px){.report-preview-grid{grid-template-columns:1fr}}.report-preview-row{display:flex;flex-direction:column;gap:2px;padding:6px 8px;background:var(--bg-hover);border-radius:5px}.report-preview-label{font-size:var(--fs-caption);color:var(--text-muted);font-weight:500}.report-preview-value{font-size:.85rem;color:var(--text-primary);word-break:break-all}.report-drop-zone{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1.5px dashed var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:.83rem;color:var(--text-secondary);transition:border-color .15s,background .15s;margin-top:10px;-webkit-user-select:none;user-select:none}.report-drop-zone:hover,.report-drop-zone.drag-over{border-color:var(--brand-bright);background:var(--brand-tint)}.report-custom-template{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--bg-hover);border-radius:5px;margin-bottom:8px}.report-custom-name{flex:1;font-size:.83rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-error{margin-top:8px;padding:8px 10px;background:var(--status-error-bg);border:1px solid var(--status-error-border);border-radius:var(--radius-sm);font-size:.82rem;color:var(--status-error-text)}.report-generate-row{display:flex;flex-direction:column;align-items:stretch;gap:8px}.report-generate-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-size:.95rem;font-weight:600;border-radius:var(--radius);background:var(--brand);color:var(--on-brand);border:none;cursor:pointer;transition:background .15s,opacity .15s}.report-generate-btn:hover:not(:disabled){background:var(--brand-hover)}.report-generate-btn:disabled{opacity:.55;cursor:not-allowed}.report-reissue-btn{display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 16px;font-size:.85rem;font-weight:500;border-radius:var(--radius);background:transparent;color:var(--status-warning-text);border:1px solid var(--status-warning-border);cursor:pointer;transition:background .15s,border-color .15s}.report-reissue-btn:hover:not(:disabled){background:var(--status-warning-bg);border-color:color-mix(in srgb,var(--status-warning) 55%,transparent)}.report-reissue-btn:disabled{opacity:.5;cursor:not-allowed}button.protocol-btn-primary,button.protocol-btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;border-radius:var(--radius);cursor:pointer;white-space:nowrap;transition:filter var(--transition-fast),box-shadow var(--transition-base),background var(--transition-fast),color var(--transition-fast)}button.protocol-btn-primary{background:var(--brand);border:1px solid var(--brand);color:var(--on-brand);font-weight:600;box-shadow:none}button.protocol-btn-primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}button.protocol-btn-primary:active:not(:disabled){transform:translateY(0)}button.protocol-btn-secondary{background:#ffffff0a;border:1px solid var(--border-light);color:var(--text-secondary);box-shadow:none;transform:none!important}button.protocol-btn-secondary:hover:not(:disabled){background:#ffffff14;color:var(--text-primary);box-shadow:none}button.protocol-btn-primary:disabled,button.protocol-btn-secondary:disabled{opacity:.45;cursor:not-allowed}.protocol-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto}.protocol-filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:10px;padding:10px 14px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius)}.protocol-filter-group{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.protocol-filter-label{font-size:var(--fs-caption);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-right:2px}button.protocol-filter-chip{display:inline-flex;align-items:center;padding:3px 10px;font-size:12px;font-weight:500;border-radius:20px;border:1px solid var(--border-light);background:transparent;color:var(--text-secondary);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast);box-shadow:none;transform:none!important}button.protocol-filter-chip:hover:not(:disabled){border-color:var(--brand-border);color:var(--text-primary);background:var(--brand-tint);box-shadow:none}button.protocol-filter-chip.active,button.protocol-filter-chip.active:hover:not(:disabled){background:var(--brand);border-color:var(--brand-bright);color:var(--on-brand);font-weight:600}button.protocol-filter-clear{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;font-size:var(--fs-caption);font-weight:500;border-radius:20px;border:1px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;margin-left:auto;transition:color var(--transition-fast),background var(--transition-fast);box-shadow:none;transform:none!important}button.protocol-filter-clear:hover{color:var(--status-error-text);background:var(--status-error-bg);box-shadow:none}.protocol-count-filters{color:var(--brand-bright);font-weight:500}.protocol-search-bar{display:flex;align-items:center;gap:8px;margin-bottom:16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:6px 12px;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.protocol-search-bar:focus-within{border-color:var(--brand-bright);box-shadow:0 0 0 3px rgba(var(--brand-bright-rgb),.25)}.protocol-search-bar .input{flex:1;min-width:0;border:none;background:transparent;padding:4px 0;font-size:13px;box-shadow:none!important}.protocol-search-bar .input:focus{box-shadow:none!important}.protocol-table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.protocol-table{width:100%;border-collapse:collapse;font-size:13px;min-width:700px}.protocol-table thead th{position:relative;background:var(--surface-2);padding:0;text-align:left;font-size:var(--fs-caption);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none;overflow:hidden}.protocol-table thead th .th-inner{display:flex;align-items:center;gap:4px;padding:10px 14px;overflow:hidden}.protocol-table thead th.sortable{cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.protocol-table thead th.sortable:hover{color:var(--text-primary);background:var(--bg-hover)}.protocol-table thead th.num-col .th-inner{justify-content:flex-end}.protocol-col-resize{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize;background:transparent;z-index:2;transition:background var(--transition-fast)}.protocol-col-resize:hover{background:var(--brand-bright);opacity:.5}.protocol-table thead th+th{border-left:1px solid var(--border)}.protocol-table tbody td{padding:9px 14px;border-bottom:1px solid color-mix(in srgb,var(--border) 55%,transparent);vertical-align:middle;overflow:hidden}.protocol-table tbody tr:last-child td{border-bottom:none}.protocol-table tbody tr:hover td{background:var(--bg-hover)}.protocol-table td.num-col{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.protocol-td-clip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:0}.protocol-cert-number{display:inline-block;font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--text-primary);background:#ffffff0f;padding:3px 8px;border-radius:5px;white-space:nowrap}.protocol-year-text{font-size:13px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.protocol-article-badge{display:inline-block;font-size:var(--fs-caption);font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;border-radius:4px;white-space:nowrap;line-height:1.5;background:#ffffff0f;border:1px solid rgba(134,134,133,.45);color:var(--text-secondary)}td.protocol-row-actions{padding:0 8px;width:72px;vertical-align:middle}.protocol-row-actions-inner{display:flex;align-items:center;justify-content:flex-end;gap:2px}.protocol-table tbody tr .protocol-row-actions-inner .btn-icon{opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.protocol-table tbody tr:hover .protocol-row-actions-inner .btn-icon{opacity:1}.protocol-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:52px 24px;color:var(--text-muted);font-size:13px}.protocol-empty svg{opacity:.25}.protocol-count{margin-top:10px;font-size:12px;color:var(--text-muted);padding-left:2px}.protocol-pagination{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 0 2px;font-size:13px}.protocol-form-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.protocol-form-card{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:560px;display:flex;flex-direction:column;overflow:hidden;animation:fadeSlideIn .18s ease}.protocol-form-header{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:600;color:var(--text-primary);padding:16px 20px;border-bottom:1px solid var(--border);background:var(--surface-2)}.protocol-form-body{padding:20px 20px 16px;display:flex;flex-direction:column;gap:16px}.protocol-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.protocol-form-grid label{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-caption);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary)}.protocol-form-grid label .input,.protocol-form-grid label select.input{text-transform:none;font-size:13px;letter-spacing:normal;font-weight:400}.protocol-form-actions{display:flex;gap:8px;justify-content:flex-end;padding:12px 20px;border-top:1px solid var(--border);background:var(--surface-2)}.protocol-import-result{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--status-success-bg);border:1px solid var(--status-success-border);border-radius:var(--radius);padding:10px 14px;font-size:13px;margin-bottom:12px}.protocol-row-cancelled td,.protocol-row-cancelled td .protocol-year-text{color:var(--text-muted)}.protocol-cert-number.cancelled{text-decoration:line-through;color:var(--text-muted);background:var(--surface-2)}.protocol-cancelled-badge{display:inline-block;margin-left:6px;font-family:var(--font-mono);font-size:var(--fs-caption);font-weight:700;letter-spacing:.05em;color:var(--status-warning-text);background:var(--status-warning-bg);border:1px solid var(--status-warning-border);border-radius:4px;padding:2px 6px;white-space:nowrap;vertical-align:middle}.protocol-cert-badge{display:inline-flex;align-items:center;gap:6px;background:var(--status-success-bg);border:1px solid var(--status-success-border);border-radius:var(--radius-sm);padding:4px 10px;font-size:13px;font-weight:600;color:var(--status-success-text)}.chat-panel{display:flex;flex-direction:column;height:calc(100vh - 170px);min-height:420px}.chat-topbar{flex-shrink:0;padding:8px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end;gap:8px}.chat-body{display:flex;flex:1;overflow:hidden}.chat-history{flex:1;overflow-y:auto;padding:16px 20px 8px;display:flex;flex-direction:column;min-width:0}.chat-load-more{align-self:center;margin-bottom:12px}.chat-loading,.chat-empty{align-self:center;padding:48px 20px;font-size:14px;color:var(--text-muted);text-align:center}.chat-empty-icon{font-size:38px;margin-bottom:12px;opacity:.35}.chat-date-sep{display:flex;align-items:center;gap:10px;margin:18px 0 10px;color:var(--text-muted);font-size:var(--fs-caption);font-weight:500;text-transform:uppercase;letter-spacing:.06em;flex-shrink:0}.chat-date-sep:before,.chat-date-sep:after{content:"";flex:1;height:1px;background:var(--border)}.chat-avatar{border-radius:50%;color:var(--bg-body);font-weight:700;text-align:center;flex-shrink:0;-webkit-user-select:none;user-select:none;letter-spacing:-.02em;cursor:default}.msg-row{display:flex;flex-direction:row;align-items:flex-start;gap:8px;margin-top:12px;flex-shrink:0}.msg-row.mine{flex-direction:row-reverse}.msg-row.grouped{margin-top:2px}.msg-avatar-gap{width:32px;min-width:32px;flex-shrink:0}.msg-content{display:flex;flex-direction:column;max-width:68%;min-width:0}.msg-row.mine .msg-content{align-items:flex-end}.msg-sender-name{font-size:var(--fs-caption);font-weight:600;color:var(--text-secondary);margin-bottom:3px;padding:0 2px}.msg-bubble{background:var(--surface-2);border:1px solid var(--border);border-radius:4px 12px 12px;padding:8px 12px;white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.55;color:var(--text-primary)}.msg-bubble.mine{background:var(--brand-tint);border-color:rgba(var(--brand-bright-rgb),.28);border-radius:12px 4px 12px 12px}.msg-meta{display:flex;align-items:center;gap:6px;font-size:var(--fs-caption);color:var(--text-muted);padding:3px 2px 0;font-variant-numeric:tabular-nums;min-height:14px}.msg-time,.msg-edit-trigger{opacity:0;transition:opacity var(--transition-fast)}.msg-row:hover .msg-time,.msg-row:hover .msg-edit-trigger,.msg-edit-trigger:focus-visible{opacity:1}.msg-edited-mark{font-style:italic;color:var(--text-muted);cursor:help}.msg-edit-trigger{display:inline-flex;align-items:center;justify-content:center;padding:2px;border:none;border-radius:4px;background:none;color:var(--text-muted);cursor:pointer;line-height:0}.msg-edit-trigger:hover{background:var(--bg-hover);color:var(--brand-bright)}.msg-edit{display:flex;flex-direction:column;gap:6px;min-width:220px}.msg-edit-textarea{width:100%;box-sizing:border-box;resize:none;min-height:44px;max-height:180px;font:inherit;font-size:14px;line-height:1.55;padding:6px 8px;border:1px solid var(--brand-bright);border-radius:6px;background:var(--bg-surface);color:var(--text-primary);outline:none;overflow-y:auto}.msg-edit-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.msg-edit-hint{margin-right:auto;font-size:var(--fs-caption);color:var(--text-muted)}.msg-edit-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:1px solid var(--border);border-radius:5px;background:var(--surface-2);color:var(--text-secondary);cursor:pointer;line-height:0}.msg-edit-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.msg-edit-btn.primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.msg-edit-btn.primary:hover:not(:disabled){background:var(--brand-hover);color:var(--on-brand)}.msg-edit-btn:disabled{opacity:.5;cursor:default}.chat-msg-attachments{display:flex;flex-direction:column;gap:4px;margin-top:6px}.chat-msg-attachment{display:flex;align-items:center;gap:6px;white-space:normal;padding:4px 6px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface);font-size:12px;min-width:0}.chat-msg-attachment-icon{flex-shrink:0;color:var(--text-secondary)}.chat-msg-attachment-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;padding:0;border:none;background:none;color:var(--text-primary);font:inherit;cursor:pointer}.chat-msg-attachment-name:hover{color:var(--brand-bright);text-decoration:underline}.chat-msg-attachment-size{flex-shrink:0;font-size:var(--fs-caption);color:var(--text-muted);font-variant-numeric:tabular-nums}.chat-msg-attachment-action{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:3px;border:none;border-radius:4px;background:none;color:var(--text-muted);cursor:pointer;line-height:0}.chat-msg-attachment-action:hover{background:var(--bg-hover);color:var(--brand-bright)}.chat-mention{background:var(--status-warning-bg);color:var(--status-warning-text);border-radius:3px;padding:0 3px;font-weight:600}.chat-sidebar{width:210px;min-width:210px;border-left:1px solid var(--border);background:var(--bg-sidebar);overflow-y:auto;overflow-x:hidden;transition:width var(--transition-base),min-width var(--transition-base),border-color var(--transition-base);flex-shrink:0}.chat-sidebar.collapsed{width:0;min-width:0;border-left-color:transparent}.chat-sidebar-header{padding:10px 14px;font-size:var(--fs-caption);font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap}.chat-sidebar-hint{padding:8px 14px 2px;font-size:var(--fs-caption);color:var(--text-muted);white-space:nowrap}.chat-member-item{display:flex;align-items:center;gap:8px;padding:7px 14px;cursor:pointer;border:none;background:none;width:100%;text-align:left;color:var(--text-primary);transition:background var(--transition-fast);white-space:nowrap;overflow:hidden}.chat-member-item:hover{background:var(--bg-hover)}.chat-member-info{min-width:0;overflow:hidden}.chat-member-name{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.chat-member-you{display:inline-block;font-size:var(--fs-caption);color:var(--text-secondary);font-weight:600;background:#ffffff0f;padding:0 4px;border-radius:3px;margin-left:4px;vertical-align:middle}.chat-member-role{font-size:var(--fs-caption);color:var(--text-muted);margin-top:1px}.chat-role-badge{display:inline-block;font-size:var(--fs-caption);color:var(--text-muted);border:1px solid var(--border);padding:0 5px;border-radius:3px;margin-left:5px;vertical-align:middle;font-weight:500}.chat-sidebar-toggle{display:flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid var(--border);border-radius:6px;background:none;color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:500;transition:all var(--transition-fast);white-space:nowrap}.chat-sidebar-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.chat-sidebar-toggle.active{background:var(--brand);color:var(--on-brand);border-color:var(--brand-bright)}.chat-composer{flex-shrink:0;padding:10px 16px 14px;border-top:1px solid var(--border);position:relative}.chat-composer-input-wrap{display:flex;flex-direction:column;gap:8px}.chat-composer-textarea{width:100%;box-sizing:border-box;resize:none;min-height:42px;max-height:120px;font:inherit;font-size:14px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text-primary);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);overflow-y:auto;line-height:1.5}.chat-composer-textarea:focus{border-color:var(--brand-bright);box-shadow:0 0 0 3px rgba(var(--brand-bright-rgb),.25)}.chat-composer-textarea::placeholder{color:var(--text-muted)}.chat-composer-textarea:disabled{opacity:.5}.chat-composer-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.chat-char-count{font-size:var(--fs-caption);color:var(--text-muted)}.chat-char-count.warn{color:var(--status-error-text);font-weight:600}.chat-composer.drag-over{background:var(--brand-tint);outline:2px dashed var(--brand-bright);outline-offset:-6px}.chat-drop-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;font-size:13px;font-weight:600;color:var(--brand-bright)}.chat-attach-tray{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.chat-attach-chip{display:inline-flex;align-items:center;gap:5px;max-width:260px;padding:4px 6px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);font-size:12px;color:var(--text-secondary)}.chat-attach-chip--done{border-color:var(--status-success-border)}.chat-attach-chip--error{border-color:var(--status-error-border);color:var(--status-error-text)}.chat-attach-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-attach-size{flex-shrink:0;font-size:var(--fs-caption);color:var(--text-muted);font-variant-numeric:tabular-nums}.chat-attach-remove{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:2px;border:none;border-radius:4px;background:none;color:var(--text-muted);cursor:pointer;line-height:0}.chat-attach-remove:hover{background:var(--bg-hover);color:var(--status-error-text)}.chat-attach-btn{margin-right:auto;display:inline-flex;align-items:center;justify-content:center;padding:5px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface);color:var(--text-muted);cursor:pointer;line-height:0}.chat-attach-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--brand-bright)}.chat-attach-btn:disabled{opacity:.45;cursor:default}.mention-dropdown{position:absolute;bottom:calc(100% + 2px);left:16px;right:16px;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:var(--shadow);z-index:200;max-height:240px;overflow-y:auto}.mention-item{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;border:none;background:none;width:100%;text-align:left;color:var(--text-primary);transition:background var(--transition-fast);overflow:hidden}.mention-item:hover,.mention-item.active{background:var(--bg-hover)}.mention-item-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.mention-item-email{font-size:var(--fs-caption);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;flex-shrink:0}.chat-spell-field{position:relative}.chat-spell-field.active .chat-composer-textarea{scrollbar-gutter:stable}.chat-spell-field.active>textarea.chat-composer-textarea{position:relative;z-index:1;background:transparent}.chat-spell-backdrop{position:absolute;inset:0;overflow:hidden;white-space:pre-wrap;overflow-wrap:break-word;color:transparent;border-color:transparent;pointer-events:none;-webkit-user-select:none;user-select:none}.chat-spell-err{background:none;color:transparent;text-decoration:underline wavy var(--status-error);text-decoration-thickness:1.5px;text-underline-offset:3px;text-decoration-skip-ink:none}.chat-spell-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12px;color:var(--text-muted)}.chat-spell-bar-title{font-weight:600}.chat-spell-item{display:inline-flex;align-items:center;gap:4px}.chat-spell-word{text-decoration:line-through;text-decoration-color:var(--status-error)}.chat-spell-word:after{content:" →";text-decoration:none;display:inline-block;margin-left:2px}.chat-spell-suggestion{padding:1px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text-primary);font-size:12px;cursor:pointer}.chat-spell-suggestion:hover{border-color:var(--brand-border);background:var(--brand-tint);color:var(--brand-bright)}.chat-spell-none{font-style:italic}.cl-dash{display:flex;flex-direction:column;gap:16px}.cl-dash-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}.cl-dash-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.cl-dash-chip{align-self:center;font-size:var(--fs-caption);font-weight:600;color:var(--text-secondary);background:#ffffff0f;border:1px solid var(--border-light);border-radius:999px;padding:5px 12px}.cl-dash-field{display:flex;flex-direction:column;gap:3px;font-size:var(--fs-caption);color:var(--text-secondary)}.cl-dash-field select{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;font-size:.82rem;min-width:150px}.cl-dash-field select:focus{outline:none;border-color:var(--brand-bright)}.cl-dash-viewtoggle{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.cl-dash-viewtoggle button{display:inline-flex;align-items:center;gap:6px;background:var(--bg-surface);color:var(--text-secondary);border:0;padding:7px 14px;font-size:.8rem;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.cl-dash-viewtoggle button+button{border-left:1px solid var(--border)}.cl-dash-viewtoggle button.active{background:var(--brand);color:var(--on-brand);box-shadow:inset 0 0 0 1px var(--brand-bright)}.cl-dash-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.cl-dash-kpi{position:relative;overflow:hidden;background:linear-gradient(150deg,var(--bg-surface) 0%,rgba(30,33,50,.96) 100%);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;display:flex;flex-direction:column;gap:2px;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.cl-dash-kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--brand-grey),rgba(134,134,133,.15));transform:scaleY(0);transform-origin:top;animation:cl-rail .5s .25s cubic-bezier(.16,1,.3,1) both}.cl-dash-kpi:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--border-light)}.cl-dash-kpi--total{border-color:var(--brand-grey)}.cl-dash-kpi--total:hover{box-shadow:var(--shadow-lg)}.cl-dash-kpi-label{font-size:var(--fs-caption);color:var(--text-secondary)}.cl-dash-kpi-value{font-size:1.7rem;font-weight:700;color:var(--text-primary);line-height:1.1;font-variant-numeric:tabular-nums;animation:cl-kpi-value .55s .1s cubic-bezier(.16,1,.3,1) both}@keyframes cl-rail{to{transform:scaleY(1)}}@keyframes cl-kpi-value{0%{opacity:0;transform:translateY(6px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.cl-dash-kpi-value.pos{color:var(--status-success-text)}.cl-dash-kpi-value.neg{color:var(--status-error-text)}.cl-dash-kpi-unit{font-size:var(--fs-caption);color:var(--text-muted)}.cl-dash-yoy{margin-top:6px;display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-caption);font-weight:600;width:fit-content;padding:2px 8px;border-radius:999px}.cl-dash-yoy.up{color:var(--status-error-text);background:var(--status-error-bg)}.cl-dash-yoy.down{color:var(--status-success-text);background:var(--status-success-bg)}.cl-dash-yoy.flat{color:var(--text-secondary);background:var(--bg-hover)}.cl-dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.cl-dash-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px 14px;animation:cl-card-in .5s cubic-bezier(.16,1,.3,1) both;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.cl-dash-card:hover{border-color:var(--border-light);box-shadow:var(--shadow)}.cl-dash-card--wide{grid-column:span 2}.cl-dash-card--full{grid-column:1 / -1}.cl-dash-card h3{margin:0 0 8px;font-size:.9rem;color:var(--text-primary);font-weight:600}.cl-dash-grid>.cl-dash-card:nth-child(2){animation-delay:.08s}.cl-dash-grid>.cl-dash-card:nth-child(3){animation-delay:.16s}.cl-dash-grid>.cl-dash-card:nth-child(n+4){animation-delay:.24s}@keyframes cl-card-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.cl-dash-card--wide{grid-column:1 / -1}}.cl-dash-section{display:flex;flex-direction:column;gap:10px}.cl-dash-section-title{margin-top:6px;padding:0 2px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cl-dash-section-title h2{margin:0;font-size:var(--fs-section-title);font-weight:700;line-height:1.35;color:var(--text-primary)}.cl-dash-export{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--brand-bright);border:1px solid var(--brand-border);border-radius:var(--radius);padding:7px 14px;font-size:.82rem;font-weight:600;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.cl-dash-export:hover:not(:disabled){background:var(--brand);color:var(--on-brand);border-color:var(--brand)}.cl-dash-export:disabled{opacity:.5;cursor:not-allowed}.cl-dash-actions{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.cl-dash-report{white-space:nowrap}.cl-dash-report .spin{animation:spin 1s linear infinite}.cl-dash-check{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-secondary);cursor:pointer;padding-bottom:6px}.cl-dash-check input{accent-color:var(--brand);cursor:pointer}.cl-dash-pivot{width:100%}.cl-dash-pivot td.cl-pivot-diff{font-variant-numeric:tabular-nums}.cl-dash-pivot td.cl-pivot-diff.down{color:var(--status-success-text)}.cl-dash-pivot td.cl-pivot-diff.up{color:var(--status-error-text)}.cl-dash-pivot td.cl-pivot-diff.flat,.cl-dash-pivot td.cl-pivot-diff.muted{color:var(--text-muted)}.cl-pivot-diff-pct{font-size:.88em}.cl-dash-pivot tr.cl-pivot-sub{background:var(--surface-2)}.cl-dash-pivot tr.cl-pivot-d0{background:var(--bg-hover)}.cl-dash-pivot tr.cl-pivot-grand{background:var(--bg-hover);border-top:2px solid var(--border-light)}.cl-dash-pivot td,.cl-dash-pivot th{white-space:nowrap}.cl-dash-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:2px 2px 4px;font-size:.82rem}.cl-dash-crumb-seg{display:inline-flex;align-items:center;gap:2px}.cl-dash-crumb-sep{color:var(--text-muted)}.cl-dash-crumb button{background:none;border:0;cursor:pointer;padding:2px 6px;border-radius:6px;color:var(--brand-bright);font-size:.82rem}.cl-dash-crumb button:hover{background:var(--bg-hover)}.cl-dash-crumb button.active{color:var(--text-primary);font-weight:600;cursor:default}.cl-dash-crumb-hint{color:var(--text-muted);font-size:var(--fs-caption);margin-left:4px}.cl-dash-legend{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.cl-dash-legend li{display:flex;align-items:center;gap:8px;font-size:.78rem}.cl-dash-legend-dot{width:11px;height:11px;border-radius:3px;flex:0 0 auto}.cl-dash-legend-name{background:none;border:0;padding:0;text-align:left;cursor:pointer;color:var(--text-primary);flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cl-dash-legend-name:disabled{cursor:default}.cl-dash-legend-name:not(:disabled):hover{color:var(--brand-bright);text-decoration:underline}.cl-dash-legend-val{color:var(--text-muted);font-size:var(--fs-caption);flex:0 0 auto}.cl-dash-kpi{animation:cl-card-in .5s cubic-bezier(.16,1,.3,1) both}.cl-dash-kpi:nth-child(2){animation-delay:.05s}.cl-dash-kpi:nth-child(3){animation-delay:.1s}.cl-dash-kpi:nth-child(4){animation-delay:.15s}.cl-dash-kpi:nth-child(5){animation-delay:.2s}.cl-dash-kpi:nth-child(6){animation-delay:.25s}.cl-dash-kpi:nth-child(n+7){animation-delay:.3s}.cl-dash-section{animation:cl-card-in .45s .05s cubic-bezier(.16,1,.3,1) both}.cl-dash-export:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-sm)}.cl-dash-viewtoggle button:hover:not(.active){background:var(--bg-hover);color:var(--text-primary)}.cl-dash-pivot tbody tr{transition:background var(--transition-fast)}.cl-dash-pivot tbody tr:hover{background:#ffffff09}.cl-dash-skeleton{display:flex;flex-direction:column;gap:16px}.cl-dash-skeleton-note{color:var(--text-muted);font-size:.82rem;margin:0}@media(prefers-reduced-motion:reduce){.cl-dash-kpi,.cl-dash-kpi:before,.cl-dash-kpi-value,.cl-dash-card,.cl-dash-section{animation:none}.cl-dash-kpi,.cl-dash-card,.cl-dash-export,.cl-dash-pivot tbody tr{transition:none}.cl-dash-kpi:hover,.cl-dash-export:hover:not(:disabled){transform:none}}.char-size-group{margin-bottom:2rem}.char-size-sector-header{font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);padding-bottom:.35rem;margin-bottom:.5rem}.char-size-table td,.char-size-table th{vertical-align:top;font-size:.82rem}.char-size-table td:nth-child(2){max-width:340px}.char-size-row-actions,.char-size-confirm-del{display:flex;gap:.25rem;justify-content:flex-end}.char-size-edit-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:1.25rem}.char-size-edit-card--inline{margin:0}.char-size-edit-actions{display:flex;gap:.5rem;margin-top:.75rem}.char-size-form-grid{display:grid;grid-template-columns:1fr auto;gap:.6rem 1rem;align-items:start}.char-size-form-grid label{display:flex;flex-direction:column;gap:.3rem;font-size:.82rem;color:var(--text-muted)}.char-size-form-grid label span{font-weight:600;color:var(--text)}.char-size-form-grid input,.char-size-form-grid textarea{width:100%;box-sizing:border-box}.char-size-form-grid textarea{resize:vertical;min-height:2.8rem}.char-size-form-full{grid-column:1 / -1}.char-size-editing-row>td{padding:.5rem 0}.banner-info{background:var(--status-info-bg);border:1px solid var(--status-info-border);color:var(--text);border-radius:var(--radius);padding:.65rem .85rem;font-size:.82rem}.prompts-tab-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.refrigerants-tab{--refri-warn: var(--status-warning-text);--refri-warn-bg: var(--status-warning-bg)}.refri-stats{display:flex;gap:.75rem;margin-bottom:1.1rem;flex-wrap:wrap}.refri-stat{display:flex;flex-direction:column;min-width:110px;padding:.6rem .9rem;background:var(--bg-surface);border:1px solid var(--border);border-left:3px solid var(--border-light);border-radius:var(--radius)}.refri-stat--ok{border-left-color:var(--status-success-text)}.refri-stat--warn{border-left-color:var(--status-warning)}.refri-stat-num{font-size:1.4rem;font-weight:700;line-height:1.1;color:var(--text-primary)}.refri-stat-label{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.refri-toolbar{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap;margin-bottom:.9rem}.refri-search{flex:1 1 260px;margin:0}.refri-filter{display:flex;flex-direction:column;gap:.25rem;font-size:var(--fs-caption);color:var(--text-muted);font-weight:600}.refri-filter select{min-width:130px}.refri-count{margin-left:auto;white-space:nowrap}.refri-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}.refri-table{min-width:1000px;margin:0}.refri-table td,.refri-table th{vertical-align:middle;font-size:.82rem}.refri-num{color:var(--text-secondary);font-variant-numeric:tabular-nums}.refri-gwp-cell{font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary)}.refri-source-chip{display:inline-block;padding:.1rem .5rem;font-size:var(--fs-caption);font-weight:600;border-radius:999px;background:#ffffff0f;border:1px solid rgba(134,134,133,.45);color:var(--text-secondary)}.refri-comp-chips{display:flex;flex-wrap:wrap;gap:.3rem}.refri-comp-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.12rem .4rem .12rem .5rem;border-radius:6px;background:var(--surface-2);border:1px solid var(--border);font-size:var(--fs-caption)}.refri-comp-name{font-weight:600;color:var(--text-primary)}.refri-comp-pct{font-variant-numeric:tabular-nums;color:var(--text-muted);background:var(--bg-hover);border-radius:4px;padding:0 .28rem}.refri-status{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .55rem;border-radius:999px;font-size:var(--fs-caption);font-weight:600;white-space:nowrap}.refri-status--ok{background:var(--status-success-bg);color:var(--status-success-text)}.refri-status--warn{background:var(--refri-warn-bg);color:var(--refri-warn)}.refri-row-actions{display:flex;gap:.25rem;justify-content:flex-end}.refri-edit-card{background:var(--surface-2);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.1rem 1.25rem;margin-bottom:1.25rem;box-shadow:var(--shadow-sm)}.refri-edit-card--inline{margin:.4rem 0}.refri-edit-title{margin:0 0 .9rem;font-size:1rem;color:var(--text-primary)}.refri-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem 1rem;align-items:start;margin-bottom:.9rem}.refri-form-grid label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem}.refri-form-grid label span{font-weight:600;color:var(--text-secondary)}.refri-form-grid input,.refri-form-grid select,.refri-form-grid textarea{width:100%;box-sizing:border-box}.refri-form-grid textarea{resize:vertical;min-height:2.6rem}.refri-form-full{grid-column:1 / -1}.refri-comp-section{border:1px dashed var(--border-light);border-radius:var(--radius);padding:.75rem .9rem;margin-bottom:.9rem;background:color-mix(in srgb,var(--bg-body) 40%,transparent)}.refri-comp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.refri-comp-title{font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.refri-comp-table{width:100%;border-collapse:collapse}.refri-comp-table th{text-align:left;font-size:var(--fs-caption);font-weight:600;color:var(--text-muted);padding:.2rem .4rem}.refri-comp-table td{padding:.2rem .4rem}.refri-comp-table input{width:100%;box-sizing:border-box}.refri-comp-footer{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.6rem;padding-top:.55rem;border-top:1px solid var(--border);font-size:.8rem}.refri-pct-sum{color:var(--text-secondary)}.refri-pct-sum--warn{color:var(--refri-warn)}.refri-computed{display:inline-flex;align-items:center;gap:.4rem;color:var(--status-success-text)}.refri-computed--warn,.refri-mismatch-ico{color:var(--refri-warn)}.btn-sm{padding:.2rem .55rem!important;font-size:var(--fs-caption)!important}.refri-edit-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.refri-hint{display:inline-flex;align-items:center;gap:.3rem;margin-left:auto}.refri-editing-row>td{padding:.35rem .5rem;background:var(--bg-body)}@media(max-width:900px){.refri-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.factors-subtabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;border-bottom:1px solid var(--border);padding-bottom:.6rem}.factor-subtab{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);font-size:.82rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.factor-subtab:hover{background:var(--bg-hover);color:var(--text-primary)}.factor-subtab.active,.factor-subtab.active:hover{background:var(--brand);border-color:var(--brand-bright);color:var(--on-brand)}.factors-mobile-pills{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0 .9rem}.factor-table-block{margin-bottom:.5rem}.factor-table-actions{display:flex;justify-content:flex-end;margin-bottom:.5rem}.factor-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem 1rem;align-items:start}.factor-form-grid label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem}.factor-form-grid label span{font-weight:600;color:var(--text-secondary)}.factor-form-grid input,.factor-form-grid select,.factor-form-grid textarea{width:100%;box-sizing:border-box}.factor-form-grid textarea{resize:vertical;min-height:2.6rem}.factor-form-full{grid-column:1 / -1}@media(max-width:900px){.factor-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.presence-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.presence-header h2{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.1rem}.presence-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .4rem;border-radius:999px;background:#ffffff0f;color:var(--text-secondary);font-size:.8rem;font-weight:600}.presence-conn{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;padding:.25rem .6rem;border-radius:999px;border:1px solid var(--border)}.presence-conn.on{color:var(--status-success-text)}.presence-conn.off{color:var(--text-muted)}.presence-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.presence-row{display:flex;align-items:center;gap:.75rem;padding:.6rem .85rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface)}.presence-avatar{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;color:var(--bg-body);font-weight:600;font-size:.85rem;flex-shrink:0}.presence-info{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1}.presence-info strong{color:var(--text-primary)}.presence-meta{display:flex;align-items:center;gap:.5rem;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.presence-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--brand-bright);box-shadow:0 0 0 3px rgba(var(--brand-bright-rgb),.18)}.presence-badge{font-size:var(--fs-caption);padding:.1rem .45rem;border-radius:999px;background:var(--surface-2);color:var(--text-secondary)}.legal-page{min-height:100vh;background:var(--bg-body)}.legal-header{background:var(--bg-topbar);border-bottom:1px solid var(--border);padding:1rem 2rem;display:flex;align-items:center;gap:.75rem}.legal-header__logo{font-size:1rem;font-weight:700;color:var(--brand-bright);letter-spacing:-.01em;text-decoration:none}.legal-header__sep{color:var(--text-muted);font-size:.9rem}.legal-header__title{color:var(--text-secondary);font-size:.875rem}.legal-lang-toggle{margin-left:auto;display:flex;gap:.25rem}.legal-lang-toggle button{padding:.3rem .7rem;border-radius:var(--radius);border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:.78rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);font-family:inherit}.legal-lang-toggle button:hover{border-color:var(--border-light);color:var(--text-primary)}.legal-lang-toggle button.active,.legal-lang-toggle button.active:hover{background:var(--brand);border-color:var(--brand-bright);color:var(--on-brand)}.legal-body{max-width:780px;margin:0 auto;padding:3rem 2rem 5rem}.legal-doc-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .4rem;letter-spacing:-.02em}.legal-updated{font-size:.78rem;color:var(--text-muted);margin:0 0 2.75rem}.legal-section{margin-bottom:2rem}.legal-section h2{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin:0 0 .6rem}.legal-section p{color:var(--text-primary);line-height:1.8;margin:0 0 .6rem;font-size:.875rem}.legal-section ul{margin:.25rem 0 .6rem;padding-left:1.4rem;color:var(--text-primary);font-size:.875rem;line-height:1.8}.legal-section ul li{margin-bottom:.3rem}.legal-footer{text-align:center;padding-top:2.5rem;margin-top:3rem;border-top:1px solid var(--border);color:var(--text-muted);font-size:.75rem}@media(max-width:640px){.legal-body{padding:2rem 1.25rem 4rem}.legal-header{padding:.875rem 1.25rem}.legal-header__title{display:none}}
