*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f6fa;color:#333;height:100vh;overflow:hidden;display:flex;flex-direction:column}app-root,app-form-shell,app-admin-shell,app-org-overview,app-no-data-request{display:contents}.form-readonly-fieldset{border:none;margin:0;padding:0;min-width:0}.form-readonly-fieldset:disabled{opacity:.75}input[type=text],input[type=number],input[type=email],input[type=date],input[type=search],select,textarea{font-family:inherit;font-size:13px;color:#111;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:6px 8px;transition:border-color .15s,box-shadow .15s}input[type=text]:focus,input[type=number]:focus,input[type=email]:focus,input[type=date]:focus,input[type=search]:focus,select:focus,textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}input:disabled,select:disabled,textarea:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}body.dark input[type=text],body.dark input[type=number],body.dark input[type=email],body.dark input[type=date],body.dark input[type=search],body.dark select,body.dark textarea{background:#252840;border-color:#3a3a5a;color:#e2e2e8}body.dark input[type=text]:focus,body.dark input[type=number]:focus,body.dark input[type=email]:focus,body.dark input[type=date]:focus,body.dark input[type=search]:focus,body.dark select:focus,body.dark textarea:focus{border-color:#6ba8f5;box-shadow:0 0 0 3px #6ba8f526}body.dark input:disabled,body.dark select:disabled,body.dark textarea:disabled{background:#1e2030;color:#5a5a7a}*{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:6px}*::-webkit-scrollbar-thumb:hover{background:#94a3b8}.app-header{background:#fff;border-bottom:1px solid #e4e6ea;padding:0 24px;display:flex;align-items:center;gap:14px;height:56px;position:sticky;top:0;z-index:20;flex-shrink:0}.app-header img{height:30px;object-fit:contain}.header-sep{color:#ccc;margin:0 4px}.app-body{display:flex;flex:1;overflow:hidden;min-height:0}.sidebar{width:220px;flex-shrink:0;background:#fff;border-right:1px solid #e4e6ea;overflow-y:auto;padding:12px 0}.sidebar-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#9ca3af;padding:8px 16px 4px}.tab-btn{display:flex;align-items:center;gap:10px;width:100%;padding:9px 14px;text-align:left;font-size:13px;color:#4b5563;background:none;border:none;border-left:3px solid transparent;cursor:pointer;line-height:1.35;transition:background .1s;text-decoration:none}.tab-btn:hover{background:#f9fafb;color:#111}.tab-btn.active{background:#eff6ff;color:#2563eb;font-weight:600;border-left-color:#2563eb}.tab-num{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:11px;font-weight:700;background:#e5e7eb;color:#6b7280;flex-shrink:0}.tab-btn.active .tab-num{background:#dbeafe;color:#2563eb}.tab-btn-blocked{opacity:.45;cursor:not-allowed}.tab-btn-blocked:hover{background:none;color:#4b5563}.admin-mode-banner{background:#7c3aed;color:#fff;font-size:13px;padding:10px 24px;display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:25}.admin-back-link{margin-left:auto;color:#e9d5ff;text-decoration:none;font-size:13px;white-space:nowrap}.admin-back-link:hover{color:#fff;text-decoration:underline}.org-switcher{position:relative;z-index:30}.org-switcher-btn{display:flex;align-items:center;gap:5px;padding:5px 10px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;font-size:13px;color:#374151;cursor:pointer;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.org-switcher-btn:hover{background:#e5e7eb}.org-dropdown{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);width:340px;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 8px 24px #0000001f;overflow:hidden}.org-search-input{width:100%;padding:9px 12px;border:none;border-bottom:1px solid #e5e7eb;font-size:13px;font-family:inherit;outline:none}.org-dropdown-list{max-height:300px;overflow-y:auto}.org-dropdown-item{display:block;width:100%;padding:9px 14px;text-align:left;background:none;border:none;font-size:13px;color:#374151;cursor:pointer}.org-dropdown-item:hover{background:#f3f4f6}.org-dropdown-empty{padding:12px 14px;font-size:13px;color:#9ca3af}.org-dropdown-backdrop{position:fixed;inset:0;z-index:29}body.dark .org-switcher-btn{background:#252840;border-color:#3a3a5a;color:#c0c0d8}body.dark .org-switcher-btn:hover{background:#2e304e}body.dark .org-dropdown{background:#1e2030;border-color:#2e2e4e;box-shadow:0 8px 24px #0006}body.dark .org-search-input{background:#1e2030;border-bottom-color:#2e2e4e;color:#e2e2e8}body.dark .org-dropdown-item{color:#c0c0d8}body.dark .org-dropdown-item:hover{background:#252840}.autofill-banner{background:#fffbeb;border:1px solid #f59e0b;border-radius:8px;padding:14px 18px;margin-bottom:20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.autofill-banner-text{flex:1;font-size:14px;color:#78350f;min-width:200px}.autofill-banner-actions{display:flex;gap:8px;flex-shrink:0}.needs-review-row{border-left:3px solid #f59e0b!important;background:#fffbeb!important}.needs-review-section{border-left:3px solid #f59e0b}.needs-review-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;color:#92400e;background:#fde68a;border-radius:4px;padding:2px 7px}.btn-confirm{font-size:12px;padding:3px 10px;background:#d1fae5;color:#065f46;border:1px solid #6ee7b7;border-radius:4px;cursor:pointer;white-space:nowrap}.btn-confirm:hover{background:#a7f3d0}.autofill-section-callout{display:flex;align-items:center;gap:12px;background:#fffbeb;border:1px solid #f59e0b;border-radius:6px;padding:10px 14px;margin-bottom:8px;font-size:13px;color:#78350f;flex-wrap:wrap}.section-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px;flex-wrap:wrap}.section-title-row .section-title{margin-bottom:0;flex:1 1 auto}.btn-prior-year{display:inline-block;font-size:12px;padding:3px 10px;background:none;color:#2563eb;border:1px solid #bfdbfe;border-radius:4px;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn-prior-year:hover{background:#eff6ff}.prior-year-panel{flex:1 1 100%;background:#f9fafb;border:1px dashed #d1d5db;border-radius:6px;padding:12px 14px;margin:8px 0 16px}.prior-year-panel .matrix-table{font-size:11px}.prior-year-fields{display:flex;flex-direction:column;gap:6px}.prior-year-field{display:flex;gap:10px;font-size:13px}.prior-year-field-label{color:#6b7280;min-width:160px;flex-shrink:0}.main-area{flex:1;overflow-y:auto;padding:28px 32px 80px;min-height:0}.form-card{background:#fff;border-radius:8px;box-shadow:0 1px 4px #00000014;padding:20px 24px;margin-bottom:20px}.section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#6b7280;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid #f3f4f6}.panel-title{font-size:20px;font-weight:700;color:#111;margin-bottom:6px}.panel-desc{font-size:14px;color:#6b7280;margin-bottom:20px;line-height:1.5}.field-group{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.field-group label{font-size:13px;font-weight:500;color:#374151}.field-group input,.field-group select,.field-group textarea{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;color:#111;background:#fff;width:100%;transition:border-color .15s,box-shadow .15s}.field-group input:focus,.field-group select:focus,.field-group textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.field-group textarea{resize:vertical;min-height:72px}.field-group textarea.ta-inline{height:38px;min-height:0;resize:vertical}.field-group input[type=number]{max-width:160px}.field-group input[readonly]{background:#f9fafb;color:#6b7280;cursor:default}.form-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:0;align-items:flex-end}.form-row .field-group{flex:1 1 180px;min-width:0;margin-bottom:14px}.form-row .field-group.narrow{flex:0 1 130px}.form-row .field-group.wide{flex:2 1 280px}.form-row .field-group input[type=number]{max-width:100%}.field-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:0}.field-row .field-group{flex:1 1 180px;min-width:0;margin-bottom:14px}.field-row .field-group.narrow{flex:0 1 130px}.field-row .field-group input[type=number]{max-width:100%}.employee-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.field-group input[type=checkbox]{width:auto;max-width:none;padding:0;border:none;background:none;box-shadow:none;transition:none}.info-btn-wrap{position:relative;display:inline-flex}.info-btn{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#dbeafe;color:#1e40af;border:none;font-size:10px;font-weight:700;cursor:pointer;padding:0;line-height:1;flex-shrink:0}.info-btn:hover,.info-btn-open{background:#2563eb;color:#fff}.info-popover{position:absolute;left:22px;top:-4px;z-index:100;width:240px;background:#1e293b;color:#e2e8f0;font-size:12px;line-height:1.5;padding:8px 12px;border-radius:6px;box-shadow:0 4px 12px #00000040;pointer-events:none}.info-popover:before{content:"";position:absolute;left:-5px;top:8px;border:5px solid transparent;border-left:0;border-right-color:#1e293b}body.dark .info-btn{background:#1e3a5f;color:#93c5fd}body.dark .info-btn:hover,body.dark .info-btn-open{background:#3b82f6;color:#fff}.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;border:none;transition:background .15s;text-decoration:none}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover{background:#1d4ed8}.btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background:#f9fafb}.btn-danger{background:#fff;color:#dc2626;border:1px solid #fca5a5;font-size:12px;padding:4px 8px}.btn-danger:hover{background:#fef2f2}.btn-add-row{background:none;border:1px dashed #d1d5db;color:#6b7280;border-radius:6px;padding:7px 14px;font-size:13px;cursor:pointer;width:100%;margin-top:8px}.btn-add-row:hover{border-color:#2563eb;color:#2563eb;background:#eff6ff}.col-header-row{display:flex;gap:16px;flex-wrap:wrap;background:#f8f9fb;padding:8px 12px;border-radius:6px;margin-bottom:4px;font-size:12px;font-weight:600;color:#6b7280}.repeating-row{display:flex;gap:10px;align-items:flex-start;padding:12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:8px}.repeating-row .row-num{font-size:11px;font-weight:700;color:#9ca3af;padding-top:9px;flex-shrink:0;width:20px;text-align:right;align-self:center}.repeating-row-fields{display:flex;gap:10px;flex-wrap:wrap;flex:1;align-items:center}.repeating-row-fields .field-group{margin-bottom:0;flex:1 1 160px;min-width:0}.repeating-row-fields .field-group.narrow{flex:0 1 100px}.repeating-row-fields .field-group input[type=number]{max-width:100%}.repeating-row .row-remove{flex-shrink:0;padding-top:6px}details.entity-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;box-shadow:0 1px 3px #0000000d}details.entity-card>summary{padding:14px 18px;font-size:14px;font-weight:600;color:#111;cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;-webkit-user-select:none;user-select:none}details.entity-card>summary::-webkit-details-marker{display:none}details.entity-card>summary:before{content:"\25b6";font-size:10px;color:#9ca3af;transition:transform .2s;flex-shrink:0}details.entity-card[open]>summary:before{transform:rotate(90deg)}details.entity-card>summary:hover{background:#f9fafb;border-radius:8px}details.entity-card[open]>summary{border-bottom:1px solid #e5e7eb;border-radius:8px 8px 0 0}.entity-card-body{padding:18px 20px}.entity-subsection{margin-bottom:20px}.entity-subsection:last-child{margin-bottom:0}.matrix-wrapper{overflow-x:auto;border-radius:6px;border:1px solid #e5e7eb}.allocation-matrix{border-collapse:collapse;min-width:100%;font-size:12px;background:#fff}.allocation-matrix th{background:#f8f9fb;padding:7px 8px;text-align:center;font-size:11px;font-weight:600;color:#6b7280;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;white-space:nowrap}.allocation-matrix th.row-header{text-align:left;min-width:180px}.allocation-matrix th.entity-header{min-width:72px;max-width:90px;padding:6px 4px;white-space:normal;vertical-align:bottom;cursor:help}.allocation-matrix th.entity-header span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word;line-height:1.25}.allocation-matrix td{padding:4px;border-bottom:1px solid #f3f4f6;border-right:1px solid #f3f4f6;text-align:center;vertical-align:middle}.allocation-matrix td.row-label{text-align:left;padding:6px 10px;font-size:12px;font-weight:500;color:#374151;background:#f8f9fb;white-space:nowrap;position:sticky;left:0;z-index:1;border-right:1px solid #e5e7eb}.allocation-matrix td.sticky-col-2{position:sticky;left:110px;z-index:1;background:#fff}.allocation-matrix td.sticky-col-3{position:sticky;left:260px;z-index:1;background:#fff;box-shadow:2px 0 4px -1px #00000014}.allocation-matrix td.total-cell{font-size:12px;font-weight:700;padding:4px 8px;background:#f8f9fb;border-left:2px solid #e5e7eb}.allocation-matrix tfoot td{background:#f1f5f9;font-weight:600;font-size:12px;padding:5px 8px;border-top:2px solid #e5e7eb}.allocation-matrix input[type=number]{width:56px;padding:4px;border:1px solid #d1d5db;border-radius:4px;font-size:12px;text-align:center;-moz-appearance:textfield}.allocation-matrix input[type=number]:focus{outline:none;border-color:#2563eb}.allocation-matrix input[type=number]::-webkit-outer-spin-button,.allocation-matrix input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.allocation-matrix select{padding:4px 6px;border:1px solid #d1d5db;border-radius:4px;font-size:12px;font-family:inherit;color:#374151;background:#fff;width:100%}.allocation-matrix select:focus{outline:none;border-color:#2563eb}.total-ok{color:#16a34a}.total-error{color:#dc2626}.col-grp-0{background:#eff6ff!important}.col-grp-1{background:#f0fdf4!important}.col-grp-2{background:#fef9c3!important}.col-grp-3{background:#fdf2f8!important}.col-grp-4{background:#fff7ed!important}.ben-matrix input[type=number]{width:44px;font-size:11px;padding:2px}.ben-matrix td{padding:2px}.ben-matrix td.row-label{font-size:11px;min-width:160px}.vuln-matrix input[type=number]{width:64px}.pop-matrix input[type=number]{width:72px}.pop-count-cell{padding:3px!important;text-align:center!important}.pop-pct-cell{text-align:center!important;font-size:11px;color:#6b7280;padding:3px 6px!important;white-space:nowrap}.pop-derived-val{font-weight:600;font-size:12px}.pop-derived-cell{background:#f8fafc!important}.pop-section-row td{background:#1e293b;color:#e2e8f0;font-weight:700;font-size:12px;letter-spacing:.04em;text-transform:uppercase;padding:7px 12px!important;border:none}.pop-total-row td{background:#dbeafe!important}.pop-total-label{font-weight:700;font-size:12.5px;color:#1e40af}.pop-total-cell{font-weight:700;font-size:13px;color:#1e40af}.pop-reported-row td{background:#eff6ff!important}.pop-reported-cell{font-size:11px}.fin-summary-table{min-width:720px}.fin-summary-table th{text-align:center}.fin-summary-section{vertical-align:top;text-align:left;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:#64748b;padding:8px 10px;background:#f8fafc;border-right:1px solid #e5e7eb;white-space:nowrap}.fin-summary-label{text-align:left;padding:5px 10px;font-size:12.5px;color:#374151;white-space:nowrap}.fin-summary-combined{font-weight:600}.fin-summary-total-row td{background:#f8fafc;font-weight:600}.fin-summary-total-row .fin-summary-combined{color:#1e40af}body.dark .fin-summary-section{background:#1e2030;color:#6868a0;border-right-color:#2e2e4e}body.dark .fin-summary-label{color:#c8c8d8}body.dark .fin-summary-total-row td{background:#1e2030}body.dark .fin-summary-total-row .fin-summary-combined{color:#93c5fd}.fin-explain-row{display:flex;gap:16px;align-items:flex-start;margin-bottom:14px}.fin-explain-row .field-group{flex:1;min-width:0}.fin-explain-label-val{flex:0 0 180px}.fin-explain-label-val label{display:block;font-size:12px;font-weight:500;color:#374151;margin-bottom:6px}.fin-explain-value{font-size:18px;font-weight:700;color:#1e293b;font-variant-numeric:tabular-nums}body.dark .fin-explain-label-val label{color:#9090b0}body.dark .fin-explain-value{color:#e2e2e8}.pop-reported-ok{background:#dcfce7!important;color:#166534;font-weight:700}.pop-reported-warn{background:#fee2e2!important;color:#991b1b;font-weight:700}.pop-funnel-error{background:#fee2e2!important}.pop-funnel-error input{color:#991b1b}.pop-check-row td{background:#fafafa;border-top:1px solid #e5e7eb!important;font-size:11px}.pop-notes-cell{padding:4px!important;vertical-align:top!important;min-width:160px}.pop-notes-cell textarea{width:100%;resize:vertical;padding:4px 6px;font-size:12px;font-family:inherit;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#111}.pop-notes-cell textarea:focus{outline:none;border-color:#2563eb}.pop-grads-card{margin-top:20px;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;padding:16px 20px}.pop-grads-title{font-size:14px;font-weight:700;color:#1e40af;margin-bottom:4px}.pop-grads-desc{font-size:12px;color:#3b82f6;margin-bottom:14px}.pop-grads-row{display:flex;gap:16px}.pop-grads-cell{display:flex;flex-direction:column;align-items:center;gap:6px}.pop-grads-yr{font-size:11px;font-weight:600;color:#1e40af;text-transform:uppercase;letter-spacing:.05em}.pop-grads-val{font-size:20px;font-weight:700;color:#1d4ed8;min-width:80px;text-align:center}.pop-grads-input{width:88px;text-align:center;font-size:16px;font-weight:600;color:#1e40af;border:2px solid #93c5fd;border-radius:6px;padding:6px 8px;background:#fff}.pop-grads-input:focus{outline:none;border-color:#2563eb}body.dark .pop-matrix input[type=number]{background:#252840;border-color:#3a3a5a;color:#e2e2e8}body.dark .pop-pct-cell{color:#5a5a7a}body.dark .pop-derived-cell{background:#1e2030!important}body.dark .pop-section-row td{background:#0f172a;color:#c8c8d8}body.dark .pop-total-row td{background:#1e3a5f!important}body.dark .pop-total-label,body.dark .pop-total-cell{color:#93c5fd}body.dark .pop-reported-row td{background:#1a2540!important}body.dark .pop-reported-ok{background:#14532d!important;color:#86efac}body.dark .pop-reported-warn{background:#7f1d1d!important;color:#fca5a5}body.dark .pop-funnel-error{background:#7f1d1d!important}body.dark .pop-funnel-error input{color:#fca5a5}body.dark .pop-check-row td{background:#1e2030;border-top-color:#2e2e4e!important}body.dark .pop-notes-cell textarea{background:#252840;border-color:#3a3a5a;color:#e2e2e8}body.dark .pop-grads-card{background:#1a2540;border-color:#1e3a5f}body.dark .pop-grads-title{color:#93c5fd}body.dark .pop-grads-desc{color:#6ba8f5}body.dark .pop-grads-yr{color:#93c5fd}body.dark .pop-grads-val{color:#bfdbfe}body.dark .pop-grads-input{background:#252840;border-color:#3a3a5a;color:#bfdbfe}.age-toolbar{display:flex;gap:8px;align-items:center;padding:10px 14px;border-top:1px solid #f3f4f6}.age-toolbar-spacer{flex:1}.age-key-select{padding:7px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;font-family:inherit;color:#111;background:#fff}.age-key-select:focus{outline:none;border-color:#2563eb}.age-row-label{display:flex;align-items:center;gap:6px;white-space:nowrap}.age-key-badge{font-family:ui-monospace,monospace;font-size:10px;font-weight:700;color:#6b7280;background:#eef0f3;border-radius:4px;padding:2px 5px;flex-shrink:0}.age-kind-badge{font-size:9px;font-weight:700;letter-spacing:.03em;color:#92400e;background:#fef3c7;border-radius:4px;padding:2px 5px;flex-shrink:0}.age-label-input{flex:1;min-width:90px;padding:4px 8px;border:1px solid transparent;border-radius:6px;font-size:12px;font-family:inherit;color:#111;background:transparent;transition:border-color .15s,background .15s}.age-label-input:hover{background:#fff;border-color:#e5e7eb}.age-label-input:focus{outline:none;background:#fff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.age-label-inferred{flex:1;min-width:90px;font-size:12px;font-style:italic;color:#9ca3af}.age-row-remove{flex-shrink:0;border:none;background:none;color:#9ca3af;font-size:12px;line-height:1;cursor:pointer;padding:3px 5px;border-radius:4px}.age-row-remove:hover{background:#f3f4f6;color:#dc2626}.kebab-menu{position:relative}.kebab-menu>summary{list-style:none;cursor:pointer;padding:6px 10px;border-radius:6px;color:#6b7280;font-size:16px;line-height:1}.kebab-menu>summary::-webkit-details-marker{display:none}.kebab-menu>summary:hover{background:#f3f4f6;color:#111}.kebab-menu[open]>summary{background:#f3f4f6;color:#111}.kebab-menu-panel{position:absolute;right:0;top:calc(100% + 4px);background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001f;min-width:190px;z-index:10;padding:4px}.kebab-menu-panel button{display:block;width:100%;text-align:left;padding:8px 10px;border:none;background:none;border-radius:6px;font-size:13px;cursor:pointer;color:#374151}.kebab-menu-panel button:hover{background:#f3f4f6}.kebab-menu-panel button.danger{color:#dc2626}.kebab-menu-panel button.danger:hover{background:#fef2f2}.info-box{padding:14px 16px;background:#eff6ff;border-left:3px solid #2563eb;border-radius:0 6px 6px 0;font-size:13px;color:#1e40af;margin-bottom:16px;line-height:1.5}.warn-box{padding:14px 16px;background:#fefce8;border-left:3px solid #ca8a04;border-radius:0 6px 6px 0;font-size:13px;color:#92400e;margin-bottom:16px;line-height:1.5}.legend-box{display:flex;gap:16px;flex-wrap:wrap;padding:12px 16px;background:#f8f9fb;border-radius:6px;border:1px solid #e5e7eb;margin-bottom:16px}.legend-item{display:flex;align-items:center;gap:7px;font-size:13px;color:#374151}.legend-dot{width:12px;height:12px;border-radius:3px;flex-shrink:0}.legend-blue{background:#2563eb}.legend-red{background:#dc2626}.legend-green{background:#16a34a}.progress-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:20px}.progress-card{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:12px;text-align:center;cursor:pointer;transition:box-shadow .15s;text-decoration:none;display:block;color:inherit}.progress-card:hover{box-shadow:0 2px 8px #0000001a}.progress-card .prog-num{font-size:11px;font-weight:700;color:#9ca3af;margin-bottom:4px}.progress-card .prog-name{font-size:12px;font-weight:600;color:#374151;margin-bottom:8px;line-height:1.3}.progress-bar{height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden}.progress-bar-fill{height:100%;background:#2563eb;border-radius:2px;transition:width .3s}.progress-pct{font-size:11px;color:#6b7280;margin-top:4px}.timeline-list{list-style:none;padding:0}.timeline-list li{display:flex;gap:14px;padding:10px 0;border-bottom:1px solid #f3f4f6;font-size:13px}.timeline-list li:last-child{border-bottom:none}.timeline-month{font-weight:700;color:#2563eb;min-width:80px;flex-shrink:0}.timeline-desc{color:#374151;line-height:1.4}.save-bar{display:flex;align-items:center;gap:10px;margin-top:28px;padding-top:20px;border-top:1px solid #e5e7eb;justify-content:space-between}.save-bar-left{display:flex;gap:10px;align-items:center}.btn-save{background:#16a34a;color:#fff}.btn-save:hover{background:#15803d}.btn-save:disabled{background:#9ca3af;cursor:not-allowed}.save-status{font-size:12px;color:#6b7280;font-style:italic}.toast{position:fixed;bottom:24px;right:24px;z-index:9999;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:500;box-shadow:0 4px 16px #00000026;max-width:360px}.toast-success{background:#16a34a;color:#fff}.toast-error{background:#dc2626;color:#fff}.toast-info{background:#2563eb;color:#fff}.loading-overlay{position:fixed;inset:0;background:#fffc;display:flex;align-items:center;justify-content:center;z-index:8888;font-size:14px;color:#374151;font-weight:500;gap:10px}.spinner{width:20px;height:20px;border:2px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.field-hint{font-size:11px;color:#9ca3af;margin-top:2px}.field-readonly{display:inline-block;padding:8px 10px;font-size:14px;color:#374151;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px}hr.section-sep{border:none;border-top:1px solid #f3f4f6;margin:18px 0}.empty-state{text-align:center;padding:32px;color:#9ca3af;font-size:13px}.row-total-bad{color:#dc2626;font-weight:700}.row-total-ok{color:#16a34a;font-weight:700}.prog-selector{display:flex;align-items:center;gap:10px;margin-bottom:16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px 16px}.prog-selector label{font-size:13px;font-weight:500;color:#374151}.prog-selector select{padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px}.app-header h1{font-size:16px;font-weight:600;color:#111}.app-header .org-name{font-size:14px;color:#555}.header-spacer{flex:1}.header-user-info{display:flex;align-items:center;gap:10px}.header-user-name{font-size:13px;color:#555}.header-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover}.btn-signout{background:none;border:1px solid #ddd;border-radius:5px;padding:5px 13px;font-size:13px;color:#555;cursor:pointer;white-space:nowrap}.btn-signout:hover{background:#f5f5f5}.theme-toggle{display:flex;align-items:center;cursor:pointer;flex-shrink:0}.theme-toggle input{display:none}.theme-toggle-track{width:36px;height:20px;border-radius:10px;background:#d1d5db;position:relative;display:block;transition:background .2s}.theme-toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #0003}.theme-toggle input:checked+.theme-toggle-track{background:#1a73e8}.theme-toggle input:checked+.theme-toggle-track .theme-toggle-thumb{transform:translate(16px)}body.dark{background:#1a1b2e;color:#e2e2e8}body.dark *{scrollbar-color:#3a3a5a transparent}body.dark *::-webkit-scrollbar-thumb{background:#3a3a5a}body.dark *::-webkit-scrollbar-thumb:hover{background:#4a4a70}body.dark .app-header{background:#1e2030;border-bottom-color:#2e2e4e}body.dark .app-header h1{color:#e2e2e8}body.dark .app-header .org-name{color:#7878a0}body.dark .header-sep{color:#3a3a5a}body.dark .header-user-name{color:#9090b0}body.dark .btn-signout{border-color:#3a3a5a;color:#9090b0}body.dark .btn-signout:hover{background:#252840}body.dark .theme-toggle-track{background:#3a3a5a}body.dark .theme-toggle input:checked+.theme-toggle-track{background:#6ba8f5}body.dark .sidebar{background:#1e2030;border-right-color:#2e2e4e}body.dark .sidebar-label{color:#5a5a7a}body.dark .tab-btn{color:#7878a0}body.dark .tab-btn:hover{background:#23253a;color:#c8c8d8}body.dark .tab-btn.active{background:#1a2a4a;color:#6ba8f5;border-left-color:#6ba8f5}body.dark .tab-btn-blocked:hover{background:none;color:#7878a0}body.dark .tab-num{background:#2e2e4e;color:#7878a0}body.dark .tab-btn.active .tab-num{background:#1e3a6e;color:#6ba8f5}body.dark .form-card{background:#1e2030;box-shadow:0 1px 4px #0000004d}body.dark .section-title{color:#6868a0;border-bottom-color:#2e2e4e}body.dark .panel-title{color:#e2e2e8}body.dark .panel-desc{color:#7878a0}body.dark .field-group label{color:#9090b0}body.dark .field-group input,body.dark .field-group select,body.dark .field-group textarea{background:#252840;border-color:#3a3a5a;color:#e2e2e8}body.dark .field-group input:focus,body.dark .field-group select:focus,body.dark .field-group textarea:focus{border-color:#6ba8f5;box-shadow:0 0 0 3px #6ba8f526}body.dark .field-group input[readonly]{background:#1e2030;color:#5a5a7a}body.dark .age-toolbar{border-color:#2e2e4e}body.dark .age-key-badge{background:#2a2d42;color:#9090c0}body.dark .age-kind-badge{background:#3a2f10;color:#fbbf24}body.dark .age-label-input{color:#e2e2e8}body.dark .age-label-input:hover{background:#1e2030;border-color:#3a3a5a}body.dark .age-label-input:focus{background:#1e2030;border-color:#6ba8f5;box-shadow:0 0 0 3px #6ba8f526}body.dark .age-label-inferred,body.dark .age-row-remove{color:#7878a0}body.dark .age-row-remove:hover{background:#252840;color:#f87171}body.dark .btn-secondary{background:#252840;color:#c0c0d8;border-color:#3a3a5a}body.dark .btn-secondary:hover{background:#2e304e}body.dark .btn-danger{background:#252840;color:#f87171;border-color:#5a2020}body.dark .btn-danger:hover{background:#3a2030}body.dark .btn-add-row{border-color:#3a3a5a;color:#7878a0}body.dark .btn-add-row:hover{border-color:#6ba8f5;color:#6ba8f5;background:#1a2a4a}body.dark .age-key-select{background:#252840;border-color:#3a3a5a;color:#e2e2e8}body.dark .age-key-select:focus{border-color:#6ba8f5}body.dark .kebab-menu>summary{color:#7878a0}body.dark .kebab-menu>summary:hover,body.dark .kebab-menu[open]>summary{background:#252840;color:#e2e2e8}body.dark .kebab-menu-panel{background:#1e2030;border-color:#2e2e4e;box-shadow:0 4px 12px #0006}body.dark .kebab-menu-panel button{color:#c0c0d8}body.dark .kebab-menu-panel button:hover{background:#252840}body.dark .kebab-menu-panel button.danger{color:#f87171}body.dark .kebab-menu-panel button.danger:hover{background:#3a2030}body.dark .col-header-row{background:#252840;color:#6868a0}body.dark .repeating-row{background:#23253a;border-color:#2e2e4e}body.dark details.entity-card{background:#1e2030;border-color:#2e2e4e}body.dark details.entity-card>summary{color:#e2e2e8}body.dark details.entity-card>summary:hover{background:#23253a}body.dark details.entity-card[open]>summary{border-bottom-color:#2e2e4e}body.dark .col-grp-0{background:#1a2540!important}body.dark .col-grp-1{background:#14291a!important}body.dark .col-grp-2{background:#2a2500!important}body.dark .col-grp-3{background:#2a1a28!important}body.dark .col-grp-4{background:#2a1f10!important}body.dark .allocation-matrix{background:#1e2030}body.dark .allocation-matrix th{background:#252840;color:#6868a0;border-color:#2e2e4e}body.dark .allocation-matrix td{border-color:#2e2e4e}body.dark .allocation-matrix td.row-label{background:#252840;color:#c0c0d8;border-right-color:#2e2e4e}body.dark .allocation-matrix td.sticky-col-2,body.dark .allocation-matrix td.sticky-col-3{background:#1e2030;color:#c0c0d8}body.dark .allocation-matrix td.total-cell{background:#252840}body.dark .allocation-matrix tfoot td{background:#252840;border-top-color:#2e2e4e}body.dark .allocation-matrix input[type=number],body.dark .allocation-matrix select{background:#252840;border-color:#3a3a5a;color:#e2e2e8}body.dark .matrix-wrapper{border-color:#2e2e4e}body.dark .info-box{background:#1a2a4a;border-left-color:#6ba8f5;color:#93c5fd}body.dark .warn-box{background:#3a2800;border-left-color:#f59e0b;color:#fcd34d}body.dark .legend-box{background:#252840;border-color:#3a3a5a}body.dark .legend-item{color:#c0c0d8}body.dark .progress-card{background:#1e2030;border-color:#2e2e4e}body.dark .progress-card .prog-name{color:#c0c0d8}body.dark .progress-bar{background:#2e2e4e}body.dark .timeline-list li{border-bottom-color:#2e2e4e}body.dark .timeline-month{color:#6ba8f5}body.dark .timeline-desc{color:#c0c0d8}body.dark .save-bar{border-top-color:#2e2e4e}body.dark .loading-overlay{background:#1a1b2ed9;color:#c0c0d8}body.dark .spinner{border-color:#2e2e4e;border-top-color:#6ba8f5}body.dark .prog-selector{background:#1e2030;border-color:#2e2e4e}body.dark .prog-selector label{color:#9090b0}body.dark .prog-selector select{background:#252840;border-color:#3a3a5a;color:#e2e2e8}body.dark hr.section-sep{border-top-color:#2e2e4e}body.dark .empty-state{color:#5a5a7a}body.dark .field-readonly{background:#1e2030;border-color:#2e2e4e;color:#c0c0d8}.tab-btn:has(.tab-mini-bar){flex-direction:column;align-items:stretch;gap:0;padding-bottom:0}.tab-btn-content{display:flex;align-items:center;gap:10px}.tab-btn:has(.tab-mini-bar) .tab-btn-content{padding:9px 0 7px}.tab-title{flex:1}.tab-mini-bar{height:2px;background:#e5e7eb;border-radius:1px;overflow:hidden}.tab-mini-fill{height:100%;width:0;border-radius:1px;transition:width .4s ease,background .3s}.tab-mini-fill.in-progress{background:#f59e0b}.tab-mini-fill.complete{background:#16a34a}body.dark .tab-mini-bar{background:#2e2e4e}body.dark .tab-mini-fill.in-progress{background:#d97706}body.dark .tab-mini-fill.complete{background:#15803d}.progress-bar-fill.in-progress{background:#f59e0b}.progress-bar-fill.complete{background:#16a34a}.progress-pct.complete{color:#16a34a;font-weight:600}.user-list{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.user-row{display:flex;align-items:center;gap:14px;padding:10px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;flex-wrap:wrap}.user-identity{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.user-email{font-size:13px;font-weight:600;color:#111;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-name{font-size:11px;color:#6b7280}.user-you-badge{font-size:11px;font-weight:600;color:#2563eb;background:#dbeafe;border-radius:4px;padding:2px 8px;white-space:nowrap}.checkbox-label{display:flex;align-items:center;gap:7px;font-size:13px;color:#374151;cursor:pointer;white-space:nowrap}.checkbox-label.disabled{opacity:.5;cursor:default}.checkbox-label input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:#2563eb}.btn-remove{font-size:12px;padding:4px 10px}.add-user-form{display:flex;align-items:center;gap:10px;padding-top:12px;border-top:1px solid #f3f4f6;flex-wrap:wrap}.input-email{flex:1;min-width:200px;padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;font-family:inherit;color:#111;background:#fff;transition:border-color .15s,box-shadow .15s}.input-email:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.btn-add-user{white-space:nowrap}.error-msg{font-size:12px;color:#dc2626;margin-top:8px}.empty-msg{font-size:13px;color:#9ca3af;margin-bottom:12px}body.dark .user-row{background:#23253a;border-color:#2e2e4e}body.dark .user-email{color:#e2e2e8}body.dark .user-name{color:#5a5a7a}body.dark .checkbox-label{color:#9090b0}body.dark .input-email{background:#252840;border-color:#3a3a5a;color:#e2e2e8}body.dark .input-email:focus{border-color:#6ba8f5;box-shadow:0 0 0 3px #6ba8f526}body.dark .add-user-form{border-top-color:#2e2e4e}body.dark .empty-msg{color:#5a5a7a}.sensitive-user-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px}.sensitive-user-list li{font-size:13px;color:#374151;padding:6px 0;border-bottom:1px solid #f3f4f6}.sensitive-user-list li:last-child{border-bottom:none}body.dark .sensitive-user-list li{color:#c0c0d8;border-bottom-color:#2e2e4e}.cg-staff-section{margin-top:20px;padding-top:16px;border-top:1px solid #f3f4f6}.cg-staff-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#9ca3af;margin-bottom:8px}body.dark .cg-staff-section{border-top-color:#2e2e4e}body.dark .cg-staff-label{color:#5a5a7a}.matrix-scroll{overflow-x:auto}.matrix-table{border-collapse:collapse;font-size:12px;min-width:100%}.matrix-table th,.matrix-table td{border:1px solid #e5e7eb;padding:6px 8px;white-space:nowrap}.matrix-table thead th{background:#f9fafb;font-weight:600;color:#374151;text-align:center;vertical-align:bottom}.overview-table th.rot{writing-mode:vertical-rl;transform:rotate(180deg);text-align:left;padding:8px 6px;font-weight:500}.overview-table td,.overview-table th:not(.rot){padding:3px 8px;font-size:11px}.overview-table .select-sm{padding:2px 6px;font-size:11px}.matrix-entity-col{text-align:left!important;min-width:180px;max-width:240px;white-space:normal!important;font-weight:500}.matrix-country-col{text-align:center;min-width:80px}.matrix-total-col{text-align:center;min-width:60px;font-weight:600;background:#f9fafb}.iso-badge{font-size:10px;color:#6b7280;font-weight:400}.matrix-input{width:56px;border:none;background:transparent;text-align:center;font-size:13px;font-family:inherit;color:#111;padding:2px}.matrix-input:focus{outline:2px solid #2563eb;border-radius:3px;background:#fff}.matrix-na{color:#d1d5db;display:block;text-align:center}.matrix-cell{text-align:center}.matrix-cell.pct-high{background:#bbf7d0}.matrix-cell.pct-low{background:#dcfce7}.matrix-cell-na{background:#f9fafb;color:#d1d5db;text-align:center}.matrix-total{text-align:center;font-weight:600;font-size:13px}.total-ok{background:#bbf7d0;color:#166534}.total-warn{background:#fee2e2;color:#991b1b}.legend{float:right;font-size:11px;color:#6b7280;display:inline-flex;align-items:center;gap:6px}.ledger-scroll{overflow-x:auto;overflow-y:auto;max-height:70vh;margin-bottom:24px;border:1px solid #e5e7eb;border-radius:8px}.ledger-table{border-collapse:separate;border-spacing:0;font-size:12.5px;min-width:100%;table-layout:auto}.ledger-label-th{position:sticky;left:0;top:0;z-index:3;background:#f1f5f9;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#475569;padding:10px 14px;min-width:240px;max-width:300px;border-bottom:2px solid #cbd5e1;border-right:2px solid #cbd5e1;white-space:nowrap}.ledger-ec-th{position:sticky;top:0;z-index:2;background:#f1f5f9;text-align:center;padding:8px 10px;min-width:130px;border-bottom:2px solid #cbd5e1;border-right:1px solid #e2e8f0}.ec-name{font-weight:700;font-size:12px;color:#1e293b;line-height:1.3}.ec-country{font-size:11px;color:#64748b;margin-top:2px}.ledger-isolate-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;padding:8px 14px;margin-bottom:10px;font-size:13px;color:#1e40af}.btn-compare{display:block;margin:6px auto 0;width:22px;height:22px;line-height:20px;padding:0;border-radius:50%;border:1px solid #93c5fd;background:#fff;color:#2563eb;font-size:12px;cursor:pointer}.btn-compare:hover{background:#eff6ff}.btn-compare-active{background:#2563eb;color:#fff;border-color:#2563eb}.btn-compare-active:hover{background:#1d4ed8}.ledger-ec-th-collapsed{min-width:0;width:34px;max-width:34px;max-height:90px;padding:8px 4px;opacity:.55;overflow:hidden}.ledger-ec-th-collapsed .ec-name,.ledger-ec-th-collapsed .ec-country{writing-mode:vertical-rl;white-space:nowrap;margin:0 auto;max-height:38px;overflow:hidden;text-overflow:ellipsis}.ledger-ec-th-prior{background:#eff6ff;border-right:2px solid #93c5fd}.ledger-cell-collapsed{min-width:0;width:34px;max-width:34px;padding:3px 2px;opacity:.45;overflow:hidden}.ledger-cell-collapsed .ledger-input,.ledger-cell-collapsed .ledger-select,.ledger-cell-collapsed .ledger-textarea{width:26px}.ledger-cell-prior{background:#f8fafc;border-right:2px solid #bfdbfe;text-align:right;color:#475569;font-style:italic}.ledger-section-row td{background:#475569;color:#f1f5f9;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.6px;padding:8px 14px;border-top:3px solid #334155}.ledger-section-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.ledger-section-toggle:hover td{background:#3d4f60}.ledger-section-arrow{display:inline-block;width:14px;font-size:9px;opacity:.75}.ledger-subsection-row td{background:#e2e8f0;color:#334155;font-weight:600;font-size:11.5px;padding:6px 14px;border-top:2px solid #cbd5e1;font-style:italic}.ledger-field-row>td{border-bottom:1px solid #f1f5f9}.ledger-field-row:hover{background:#f8fafc}.ledger-label-td{position:sticky;left:0;background:#fff;z-index:1;padding:5px 14px;color:#374151;white-space:nowrap;border-right:2px solid #e5e7eb;min-width:240px;max-width:300px;font-size:12.5px}.ledger-field-row:hover .ledger-label-td{background:#f8fafc}.ledger-cell{padding:3px 6px;border-right:1px solid #f1f5f9;text-align:right}.ledger-input{width:110px;border:1px solid #e2e8f0;border-radius:4px;padding:4px 6px;font-size:12.5px;text-align:right;font-family:inherit;color:#111;background:#fff}.ledger-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #bfdbfe}.ledger-select{width:110px;border:1px solid #e2e8f0;border-radius:4px;padding:4px 6px;font-size:12px;font-family:inherit;background:#fff}.ledger-select:focus{outline:none;border-color:#2563eb}.ledger-total-row>td{border-top:2px solid #cbd5e1;border-bottom:2px solid #cbd5e1}.ledger-total-label{font-weight:700;font-size:12.5px;color:#1e293b;background:#f8fafc!important}.ledger-total-cell{text-align:right;padding:6px 10px;font-weight:700;font-size:13px;color:#1e293b;background:#f8fafc;border-right:1px solid #e2e8f0;white-space:nowrap}.ledger-total-cell.total-ref{background:#dbeafe;color:#1e40af}.ledger-total-cell.total-ok{background:#dcfce7;color:#166534}.ledger-total-cell.total-warn{background:#fee2e2;color:#991b1b}.ledger-total-label.total-ref{background:#dbeafe!important;color:#1e40af}.valid-dot{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-size:10px;font-weight:700;margin-left:6px;vertical-align:middle}.valid-ok{background:#16a34a;color:#fff}.valid-err{background:#dc2626;color:#fff}.ledger-explain-row{border-bottom:1px solid #f1f5f9}.ledger-explain-label{font-size:12px;color:#6b7280;font-style:italic;background:#fff}.ledger-explain-cell{padding:4px 6px;border-right:1px solid #f1f5f9;vertical-align:top}.ledger-textarea{width:130px;min-height:44px;border:1px solid #e2e8f0;border-radius:4px;padding:4px 6px;font-size:12px;font-family:inherit;resize:vertical}.ledger-textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #bfdbfe}.reconc-section-title{font-size:16px;font-weight:700;color:#1e293b;margin:32px 0 4px}.reconc-card{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:10px;overflow:hidden}.reconc-summary{padding:12px 16px;cursor:pointer;font-weight:600;font-size:14px;background:#f9fafb;display:flex;align-items:center;gap:8px;list-style:none;-webkit-user-select:none;user-select:none}.reconc-summary::-webkit-details-marker{display:none}.reconc-summary:before{content:"\25b6";font-size:10px;color:#9ca3af;transition:transform .15s}details[open] .reconc-summary:before{transform:rotate(90deg)}.reconc-count{font-size:11px;font-weight:600;background:#dbeafe;color:#1d4ed8;padding:2px 8px;border-radius:99px;margin-left:auto}.reconc-body{padding:14px 16px;border-top:1px solid #e5e7eb}body.dark .ledger-scroll{border-color:#2e2e4e}body.dark .ledger-label-th{background:#252840;color:#9090b0;border-color:#3a3a5a}body.dark .ledger-ec-th{background:#252840;border-color:#3a3a5a}body.dark .ec-name{color:#c8c8d8}body.dark .ec-country{color:#7878a0}body.dark .ledger-isolate-bar{background:#1a2a4a;border-color:#2e3f5c;color:#93c5fd}body.dark .btn-compare{background:#1e2030;border-color:#3a3a5a;color:#6ba8f5}body.dark .btn-compare:hover{background:#1a2a4a}body.dark .btn-compare-active{background:#2563eb;color:#fff;border-color:#2563eb}body.dark .ledger-ec-th-prior{background:#1a2a4a;border-color:#3a5a8f}body.dark .ledger-cell-prior{background:#1a1c2e;border-color:#2e3f5c;color:#9090b0}body.dark .ledger-section-row td{background:#0f172a;color:#c8c8d8;border-color:#1e293b}body.dark .ledger-section-toggle:hover td{background:#1a2535}body.dark .ledger-subsection-row td{background:#1e2030;color:#9090b0;border-color:#2e2e4e}body.dark .ledger-field-row>td{border-color:#1e2030}body.dark .ledger-field-row:hover{background:#1a1c2e}body.dark .ledger-label-td{background:#15172a;color:#c8c8d8;border-color:#2e2e4e}body.dark .ledger-field-row:hover .ledger-label-td{background:#1a1c2e}body.dark .ledger-cell{border-color:#1e2030}body.dark .ledger-input,body.dark .ledger-select{background:#1e2030;border-color:#3a3a5a;color:#e2e2e8}body.dark .ledger-total-row>td{border-color:#3a3a5a}body.dark .ledger-total-label{background:#1e2030!important;color:#c8c8d8}body.dark .ledger-total-cell{background:#1e2030;color:#c8c8d8;border-color:#2e2e4e}body.dark .ledger-total-cell.total-ref{background:#1e3a5f;color:#93c5fd}body.dark .ledger-total-cell.total-ok{background:#14532d;color:#86efac}body.dark .ledger-total-cell.total-warn{background:#7f1d1d;color:#fca5a5}body.dark .ledger-total-label.total-ref{background:#1e3a5f!important;color:#93c5fd}body.dark .ledger-textarea{background:#1e2030;border-color:#3a3a5a;color:#e2e2e8}body.dark .reconc-card{border-color:#2e2e4e}body.dark .reconc-summary{background:#1e2030;color:#c8c8d8}body.dark .reconc-body{border-color:#2e2e4e}.legend-high{color:#16a34a}.legend-low{color:#4ade80}body.dark .matrix-table th,body.dark .matrix-table td{border-color:#2e2e4e}body.dark .matrix-table thead th{background:#1e2035;color:#c0c0d8}body.dark .matrix-total-col{background:#1e2035}body.dark .matrix-input{color:#e2e2e8}body.dark .matrix-input:focus{background:#252840}body.dark .matrix-cell-na{background:#1e2035}body.dark .matrix-cell.pct-high{background:#166534}body.dark .matrix-cell.pct-low{background:#14532d}body.dark .legend-high{color:#4ade80}body.dark .btn-prior-year{color:#6ba8f5;border-color:#2e3f5c}body.dark .btn-prior-year:hover{background:#1a2a4a}body.dark .prior-year-panel{background:#1e2030;border-color:#3a3a5a}body.dark .prior-year-field-label{color:#9090b0}body.dark .legend-low{color:#166534}body.dark .total-ok{background:#14532d;color:#86efac}body.dark .total-warn{background:#7f1d1d;color:#fca5a5}.matrix-header-row{display:flex;align-items:center;border-bottom:2px solid #e5e7eb;padding:0 0 6px;margin-bottom:2px}.matrix-group-row{border-bottom:1px solid #e5e7eb;padding-bottom:4px;margin-bottom:0}.matrix-row{display:flex;align-items:center;border-bottom:1px solid #f3f4f6;min-height:36px}.matrix-row:hover{background:#f9fafb}.matrix-row-label{flex:1 1 180px;font-size:13px;font-weight:500;color:#374151;padding:4px 8px 4px 0;white-space:normal;line-height:1.3}.matrix-col-header{flex:0 0 70px;text-align:center;font-size:11px;font-weight:600;color:#6b7280;padding:0 2px}.matrix-group-header{text-align:center;font-size:11px;font-weight:700;color:#374151;border-bottom:2px solid #e5e7eb;padding-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.matrix-total-header{font-weight:700;color:#374151!important}.matrix-total{flex:0 0 60px;text-align:center;font-weight:700;font-size:13px;color:#6b7280}.row-valid{color:#16a34a!important}.row-warn{color:#d97706!important}.card-save-row{display:flex;justify-content:flex-end;padding-top:14px;margin-top:6px;border-top:1px solid #f3f4f6}body.dark .matrix-header-row,body.dark .matrix-group-row{border-bottom-color:#2e2e4e}body.dark .matrix-row{border-bottom-color:#252840}body.dark .matrix-row:hover{background:#1e2035}body.dark .matrix-row-label{color:#c0c0d8}body.dark .matrix-col-header{color:#5a5a7a}body.dark .matrix-group-header{color:#c0c0d8;border-bottom-color:#2e2e4e}body.dark .matrix-total{color:#9ca3af}body.dark .card-save-row{border-top-color:#2e2e4e}.comments-toggle-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:none;border:1px solid #d1d5db;color:#6b7280;cursor:pointer;transition:background .15s,color .15s,border-color .15s;flex-shrink:0}.comments-toggle-btn:hover{background:#eff6ff;border-color:#93c5fd;color:#2563eb}.comments-toggle-badge{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 3px;border-radius:8px;background:#2563eb;color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center}body.dark .comments-toggle-btn{border-color:#3a3a5a;color:#7878a0}body.dark .comments-toggle-btn:hover{background:#1a2a4a;border-color:#6ba8f5;color:#6ba8f5}body.dark .comments-toggle-badge{background:#6ba8f5;color:#1a1b2e}.tab-comment-badge{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;border-radius:9px;font-size:10px;font-weight:700;background:#dbeafe;color:#2563eb;border:none;cursor:pointer;flex-shrink:0;line-height:1;transition:background .15s}.tab-comment-badge:hover{background:#bfdbfe}body.dark .tab-comment-badge{background:#1e3a6e;color:#6ba8f5}body.dark .tab-comment-badge:hover{background:#1a4a8a}.comment-sidebar{position:fixed;top:56px;right:0;width:360px;height:calc(100vh - 56px);background:#fff;border-left:1px solid #e4e6ea;box-shadow:-4px 0 20px #0000001a;transform:translate(100%);transition:transform .25s ease;z-index:19;display:flex;flex-direction:column}.comment-sidebar.open{transform:translate(0)}.cs-backdrop{position:fixed;inset:0;z-index:18}.cs-header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.cs-header-title{flex:1;font-size:14px;font-weight:600;color:#111;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:5px;background:none;border:none;color:#9ca3af;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s}.cs-close:hover{background:#f3f4f6;color:#374151}.cs-filters{display:flex;gap:6px;padding:10px 16px;border-bottom:1px solid #f3f4f6;flex-shrink:0;flex-wrap:wrap}.cs-chip{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;border:1px solid #e5e7eb;background:#f9fafb;color:#6b7280;cursor:pointer;transition:all .15s}.cs-chip:hover{border-color:#93c5fd;color:#2563eb;background:#eff6ff}.cs-chip.active{background:#2563eb;color:#fff;border-color:#2563eb}.cs-list{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:12px}.cs-empty{color:#9ca3af;font-size:13px;text-align:center;padding:24px 0}.cs-comment{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.cs-comment-meta{display:flex;align-items:center;gap:8px}.cs-author{font-size:12px;font-weight:600;color:#374151;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-time{font-size:11px;color:#9ca3af;white-space:nowrap;flex-shrink:0}.cs-delete{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;background:none;border:none;color:#d1d5db;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s}.cs-delete:hover{background:#fee2e2;color:#dc2626}.cs-comment-field{font-size:11px;color:#6b7280;display:flex;align-items:center;gap:4px}.cs-comment-tab{font-size:11px;color:#2563eb;font-weight:500}.cs-comment-text{font-size:13px;color:#374151;line-height:1.5;white-space:pre-wrap;word-break:break-word}.cs-footer{padding:12px 16px;border-top:1px solid #e5e7eb;flex-shrink:0;display:flex;flex-direction:column;gap:8px}.cs-textarea{width:100%;padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;font-family:inherit;resize:none;transition:border-color .15s,box-shadow .15s;color:#111;background:#fff}.cs-textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.cs-footer-row{display:flex;align-items:center;gap:8px}.cs-footer-context{flex:1;font-size:11px;color:#9ca3af;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-post-btn{margin-left:auto}.field-comment-btn{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:4px;background:none;border:1px solid #e5e7eb;font-size:11px;color:#9ca3af;cursor:pointer;transition:all .15s;vertical-align:middle}.field-comment-btn:hover,.field-comment-btn.has-comments{background:#eff6ff;border-color:#93c5fd;color:#2563eb}.field-comment-count{font-size:10px;font-weight:700}body.dark .comment-sidebar{background:#1e2030;border-left-color:#2e2e4e;box-shadow:-4px 0 20px #0006}body.dark .cs-header{border-bottom-color:#2e2e4e}body.dark .cs-header-title{color:#e2e2e8}body.dark .cs-close{color:#5a5a7a}body.dark .cs-close:hover{background:#252840;color:#c0c0d8}body.dark .cs-filters{border-bottom-color:#2e2e4e}body.dark .cs-chip{background:#252840;border-color:#3a3a5a;color:#7878a0}body.dark .cs-chip:hover{border-color:#6ba8f5;color:#6ba8f5;background:#1a2a4a}body.dark .cs-chip.active{background:#6ba8f5;color:#1a1b2e;border-color:#6ba8f5}body.dark .cs-comment{background:#23253a;border-color:#2e2e4e}body.dark .cs-author{color:#c0c0d8}body.dark .cs-time{color:#5a5a7a}body.dark .cs-delete:hover{background:#3a2030;color:#f87171}body.dark .cs-comment-field{color:#7878a0}body.dark .cs-comment-tab{color:#6ba8f5}body.dark .cs-comment-text{color:#c0c0d8}body.dark .cs-footer{border-top-color:#2e2e4e}body.dark .cs-textarea{background:#252840;border-color:#3a3a5a;color:#e2e2e8}body.dark .cs-textarea:focus{border-color:#6ba8f5;box-shadow:0 0 0 3px #6ba8f526}body.dark .cs-footer-context{color:#5a5a7a}body.dark .field-comment-btn{border-color:#3a3a5a;color:#5a5a7a}body.dark .field-comment-btn:hover,body.dark .field-comment-btn.has-comments{background:#1a2a4a;border-color:#6ba8f5;color:#6ba8f5}.org-overview-main{max-width:960px;margin:0 auto}.badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:2px 9px;border-radius:99px;text-transform:capitalize}.badge-open,.badge-complete{background:#e6f4ea;color:#188038}.badge-importing{background:#e8f0fe;color:#1967d2}.badge-pending{background:#f1f3f4;color:#5f6368}.badge-error{background:#fce8e6;color:#c5221f}body.dark .badge-open,body.dark .badge-complete{background:#14532d;color:#86efac}body.dark .badge-importing{background:#1e3a6e;color:#93c5fd}body.dark .badge-pending{background:#252840;color:#9090b0}body.dark .badge-error{background:#7f1d1d;color:#fca5a5}.select-sm{padding:5px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:12.5px;font-family:inherit;color:#111;background:#fff}.select-sm:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}body.dark .select-sm{background:#252840;border-color:#3a3a5a;color:#e2e2e8}.input-sm{padding:5px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:12.5px;font-family:inherit;color:#111;background:#fff;width:100%;min-width:90px}.input-sm:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}body.dark .input-sm{background:#252840;border-color:#3a3a5a;color:#e2e2e8}.badge-funded{background:#e6f4ea;color:#188038}.badge-investigated{background:#fef7e0;color:#b06000}.badge-stopped_funding{background:#fce8e6;color:#c5221f}body.dark .badge-funded{background:#14532d;color:#86efac}body.dark .badge-investigated{background:#3a2f10;color:#fbbf24}body.dark .badge-stopped_funding{background:#7f1d1d;color:#fca5a5}.badge-done{background:#e6f4ea;color:#188038}.badge-outstanding{background:#fef7e0;color:#b06000}.badge-data_issue{background:#fce8e6;color:#c5221f}.badge-push_forward{background:#e8f0fe;color:#1967d2}.badge-in_process{background:#f1f3f4;color:#5f6368}body.dark .badge-done{background:#14532d;color:#86efac}body.dark .badge-outstanding{background:#3a2f10;color:#fbbf24}body.dark .badge-data_issue{background:#7f1d1d;color:#fca5a5}body.dark .badge-push_forward{background:#1e3a6e;color:#93c5fd}body.dark .badge-in_process{background:#252840;color:#9090b0}.badge-outstanding_review,.badge-outstanding_report{background:#fef7e0;color:#b06000}.badge-data_fixed_review{background:#e8f0fe;color:#1967d2}.badge-data_issue_pushed,.badge-data_issue_open{background:#fce8e6;color:#c5221f}.badge-contact_reviewed{background:#e8f0fe;color:#1967d2}.badge-contact_in_progress,.badge-not_included{background:#f1f3f4;color:#5f6368}body.dark .badge-outstanding_review,body.dark .badge-outstanding_report{background:#3a2f10;color:#fbbf24}body.dark .badge-data_fixed_review{background:#1e3a6e;color:#93c5fd}body.dark .badge-data_issue_pushed,body.dark .badge-data_issue_open{background:#7f1d1d;color:#fca5a5}body.dark .badge-contact_reviewed{background:#1e3a6e;color:#93c5fd}body.dark .badge-contact_in_progress,body.dark .badge-not_included{background:#252840;color:#9090b0}.admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.admin-toolbar-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.subtab-bar{display:flex;gap:4px;border-bottom:1px solid #e5e7eb;margin-bottom:16px;flex-wrap:wrap}.subtab-btn{padding:9px 14px;font-size:13px;font-weight:500;color:#6b7280;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px}.subtab-btn:hover{color:#111}.subtab-btn.active{color:#2563eb;border-bottom-color:#2563eb}body.dark .subtab-bar{border-bottom-color:#2e2e4e}body.dark .subtab-btn{color:#7878a0}body.dark .subtab-btn:hover{color:#c8c8d8}body.dark .subtab-btn.active{color:#6ba8f5;border-bottom-color:#6ba8f5}.org-name-link{display:block;padding:6px 8px;color:#2563eb;text-decoration:none;font-weight:500;white-space:nowrap}.org-name-link:hover{text-decoration:underline;background:#eff6ff}body.dark .org-name-link{color:#6ba8f5}body.dark .org-name-link:hover{background:#1e3a6e}.setup-link{color:#2563eb}body.dark .setup-link{color:#fff}.row-actions{display:inline-flex;gap:6px}.icon-sq{width:26px;height:26px;padding:0!important;display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:1}.attr-grid{display:grid;grid-template-columns:max-content 1fr;gap:10px 20px;align-items:center}.attr-label{font-size:12px;font-weight:500;color:#6b7280}.attr-display{display:flex;align-items:center;gap:8px;font-size:14px}.attr-edit{display:flex;align-items:center;gap:6px}.attr-edit .input-sm{width:220px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;background:none;border-radius:4px;color:#9ca3af;cursor:pointer;font-size:13px;line-height:1}.icon-btn:hover{background:#f3f4f6;color:#374151}body.dark .icon-btn:hover{background:#2a2c45;color:#c8c8d8}.modal-overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:50}.modal-card{background:#fff;border-radius:10px;padding:22px 24px;width:340px;max-width:calc(100vw - 32px);box-shadow:0 10px 40px #00000040}body.dark .modal-card{background:#1e2030;box-shadow:0 10px 40px #00000080}.issue-card{border:1px solid #f3d0d0;background:#fef2f2;border-radius:6px;padding:8px 10px}.issue-card-step{font-size:11px;font-weight:600;text-transform:uppercase;color:#b91c1c;margin-bottom:2px}.issue-card-message{font-size:13px;color:#374151}body.dark .issue-card{border-color:#7f1d1d;background:#2a1414}body.dark .issue-card-step{color:#fca5a5}body.dark .issue-card-message{color:#c8c8d8}
