:root{--bg: #eef1f4;--surface: #ffffff;--text: #1a2332;--muted: #5c6b7a;--line: #e2e8f0;--primary: #69D84F;--primary-hover: #56c23a;--primary-dark: #3f9e2d;--primary-foreground: #173314;--primary-muted: color-mix(in srgb, var(--primary) 12%, white);--primary-border: color-mix(in srgb, var(--primary) 28%, white);--accent: var(--primary);--declared: #1e58a7;--final: var(--primary);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 4px 16px rgba(16, 24, 40, .08);--radius: 10px;--radius-lg: 14px;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:var(--text);background:var(--bg);line-height:1.5}:root[data-theme=dark]{--bg: #0f1419;--surface: #1a2028;--surface-2: #232b35;--text: #e6e9ee;--muted: #8a96a6;--line: #2c3541;--primary: #69D84F;--primary-hover: #7ee865;--primary-dark: #8fe87a;--primary-foreground: #0d260a;--primary-muted: color-mix(in srgb, var(--primary) 18%, var(--surface));--primary-border: color-mix(in srgb, var(--primary) 35%, var(--surface));--accent: var(--primary);--declared: #5b9bd5;--final: var(--primary);--bg-soft: var(--surface-2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5)}:root[data-theme=dark] body{background:var(--bg)}:root[data-theme=dark] .app-header-bar{border-bottom-color:var(--line)}:root[data-theme=dark] .header-action-btn:hover{background:var(--surface-2);border-color:var(--line)}:root[data-theme=dark] .header-user-btn{color:var(--text)}:root[data-theme=dark] .header-user-btn:hover{background:var(--surface-2);border-color:var(--line)}:root[data-theme=dark] .partner-logo-aecom,:root[data-theme=dark] .login-hero-aecom-logo,:root[data-theme=dark] .reg-partner-logo-aecom{filter:invert(1)}:root[data-theme=dark] .header-dropdown button{color:var(--text)}:root[data-theme=dark] .header-dropdown button:hover{background:var(--surface-2);color:var(--text)}:root[data-theme=dark] .header-dropdown button.header-dropdown-logout{color:#f08a8a}:root[data-theme=dark] .header-dropdown-logout:hover{background:#4a2020;color:#f5a0a0}:root[data-theme=dark] .header-dropdown-info{border-bottom-color:var(--line)}:root[data-theme=dark] .export-dropdown-menu{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .export-dropdown-menu button{color:var(--text)}:root[data-theme=dark] .export-dropdown-menu button:hover{background:var(--surface-2);color:var(--text)}:root[data-theme=dark] .competition-phase-banner{background:#1e2830!important;color:#cbd6e2}:root[data-theme=dark] .competition-phase-banner.phase-submission{background:#1a3a24!important;color:#b8e6c2}:root[data-theme=dark] .competition-phase-banner.phase-review{background:#1a2844!important;color:#b9d3f7}:root[data-theme=dark] .project-switch-bar{background:var(--surface);border-bottom-color:var(--line)}:root[data-theme=dark] .project-switch-btn{color:var(--text)}:root[data-theme=dark] .project-switch-btn:hover{background:var(--surface-2)}:root[data-theme=dark] .measure-progress-text{color:var(--muted)}:root[data-theme=dark] .measure-progress-track{background:var(--surface-2)}:root[data-theme=dark] .measure-progress-pct{color:var(--text)}:root[data-theme=dark] .app-nav-link{color:var(--muted)}:root[data-theme=dark] .app-nav-link:hover{color:var(--text)}:root[data-theme=dark] .app-nav-link.active,:root[data-theme=dark] .app-nav-link-btn.active,:root[data-theme=dark] .app-nav-category-btn.active{color:var(--text);border-bottom-color:var(--primary)}:root[data-theme=dark] .app-nav-category-item:hover{background:var(--surface-2)}:root[data-theme=dark] .app-nav-category-item.active{background:#1a3a24}:root[data-theme=dark] .reg-form-scope .reg-section{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-sm)}:root[data-theme=dark] .reg-form-scope .reg-section-title:before{background:var(--primary)}:root[data-theme=dark] .reg-form-scope .reg-input{background:var(--surface);border-color:var(--line);color:var(--text)}:root[data-theme=dark] .reg-form-scope .reg-input:hover{border-color:var(--line)}:root[data-theme=dark] .reg-form-scope .reg-input::placeholder{color:#6b7b8c}:root[data-theme=dark] .reg-form-scope .reg-input[readonly]{background:var(--surface-2);color:var(--text)}:root[data-theme=dark] .reg-form-scope .reg-input:disabled{background:var(--surface-2);color:var(--muted);border-color:var(--line)}:root[data-theme=dark] .modal select.reg-input{background-image:linear-gradient(45deg,transparent 50%,#8a96a6 50%),linear-gradient(135deg,#8a96a6 50%,transparent 50%)}:root[data-theme=dark] .reg-form-scope .reg-label-hint,:root[data-theme=dark] .reg-form-scope .reg-help,:root[data-theme=dark] .reg-form-scope .reg-field-help{color:var(--muted)}:root[data-theme=dark] .report-table th,:root[data-theme=dark] .evidence-table th,:root[data-theme=dark] .measure-list-table th,:root[data-theme=dark] .dashboard-table th{background:var(--surface-2);color:var(--muted);border-bottom-color:var(--line)}:root[data-theme=dark] .user-sort-arrow{opacity:.75}:root[data-theme=dark] .user-sort-arrow.active{opacity:1}:root[data-theme=dark] .report-table td,:root[data-theme=dark] .evidence-table td,:root[data-theme=dark] .measure-list-table td,:root[data-theme=dark] .dashboard-table td{border-bottom-color:var(--line)}:root[data-theme=dark] .report-table tr:hover td,:root[data-theme=dark] .toolbar-btn:hover,:root[data-theme=dark] .toolbar-btn-ghost:hover,:root[data-theme=dark] .lang-dropdown button:hover{background:var(--surface-2)}:root[data-theme=dark] .measure-list li button:hover,:root[data-theme=dark] .section-list li button:hover,:root[data-theme=dark] .native-date-head button:hover,:root[data-theme=dark] .native-date-foot button:hover,:root[data-theme=dark] .native-date-cell:not(:disabled):hover .native-date-d{background:var(--surface-2)}:root[data-theme=dark] .export-dropdown-menu button:hover{background:var(--surface-2)}:root[data-theme=dark] .kpi-tiers li{border-bottom-color:var(--line)}:root[data-theme=dark] .meta-card,:root[data-theme=dark] .measure-card,:root[data-theme=dark] .kpi-card,:root[data-theme=dark] .submission-summary,:root[data-theme=dark] .form-result-card,:root[data-theme=dark] .measure-detail-card,:root[data-theme=dark] .measure-decision-card,:root[data-theme=dark] .evidence-item,:root[data-theme=dark] .extra-measure-card,:root[data-theme=dark] .native-date{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-sm)}:root[data-theme=dark] .modal-dialog,:root[data-theme=dark] .header-dropdown,:root[data-theme=dark] .project-switch-menu,:root[data-theme=dark] .lang-dropdown{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .pill,:root[data-theme=dark] .meta-badge{background:var(--surface-2);border-color:var(--line);color:var(--text)}:root[data-theme=dark] .measure-status-pill.approved{background:#1a3a24;color:#b8e6c2;border-color:#2e7d32}:root[data-theme=dark] .measure-status-pill.not_approved{background:#3a1a1a;color:#f7b9b9;border-color:#c62828}:root[data-theme=dark] .measure-status-pill.pending{background:#3a321a;color:#f0d78c;border-color:#b45309}:root[data-theme=dark] .review-status-badge.approved,:root[data-theme=dark] .extra-review-badge.approved{background:#1a3a24;color:#b8e6c2}:root[data-theme=dark] .review-status-badge.rejected,:root[data-theme=dark] .extra-review-badge.rejected{background:#3a1a1a;color:#f7b9b9}:root[data-theme=dark] .review-status-badge.pending,:root[data-theme=dark] .extra-review-badge.pending{background:#3a321a;color:#f0d78c}:root[data-theme=dark] .extra-review-badge{background:var(--surface-2);color:var(--text)}:root[data-theme=dark] .review-task-item{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .review-task-item-title{color:var(--text)}:root[data-theme=dark] .review-queue-cat{background:var(--surface-2);color:var(--muted);border-color:var(--line)}:root[data-theme=dark] .review-task-item-project{background:var(--surface-2);color:var(--muted)}:root[data-theme=dark] .review-task-status{color:var(--muted)}:root[data-theme=dark] .upload-zone{border-color:var(--line);background:var(--surface-2)}:root[data-theme=dark] .upload-zone:hover{border-color:var(--primary);background:var(--surface)}:root[data-theme=dark] .upload-file-row,:root[data-theme=dark] .native-date{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .native-date-head button:hover{background:var(--surface-2)}:root[data-theme=dark] .native-date-cell:not(:disabled):hover .native-date-d{background:var(--surface-2)}:root[data-theme=dark] .native-date-cell.out{color:#4a5868}:root[data-theme=dark] .native-date-foot button:hover{background:var(--surface-2);color:var(--primary)}:root[data-theme=dark] .native-month-cell:not(:disabled):hover{background:var(--surface-2)}:root[data-theme=dark] .page-pill,:root[data-theme=dark] .page-ctrl,:root[data-theme=dark] .step-nav-btn{background:var(--surface);border-color:var(--line);color:var(--text)}:root[data-theme=dark] .page-pill:hover,:root[data-theme=dark] .page-ctrl:hover,:root[data-theme=dark] .step-nav-btn:hover{background:var(--surface-2)}:root[data-theme=dark] .page-pill.active{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}:root[data-theme=dark] .reg-root{background:var(--bg)}:root[data-theme=dark] .reg-form-title{color:var(--text)}:root[data-theme=dark] .reg-form-subtitle{color:var(--muted)}:root[data-theme=dark] .demo-account-btn{background:var(--surface);border-color:var(--line);color:var(--text)}:root[data-theme=dark] .demo-account-btn:hover{background:var(--surface-2)}:root[data-theme=dark] ::-webkit-scrollbar{width:10px;height:10px}:root[data-theme=dark] ::-webkit-scrollbar-track{background:var(--bg)}:root[data-theme=dark] ::-webkit-scrollbar-thumb{background:#2c3541;border-radius:5px}:root[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#3a4653}:root[data-theme=dark] ::selection{background:var(--primary);color:var(--primary-foreground)}:root[data-theme=dark] *:focus-visible{outline:2px solid var(--primary);outline-offset:2px}:root[data-theme=dark] select{color:var(--text)}:root[data-theme=dark] select option{background:var(--surface);color:var(--text)}:root[data-theme=dark] .report-result-card,:root[data-theme=dark] .report-result-grid>div,:root[data-theme=dark] .dashboard-card,:root[data-theme=dark] .dashboard-stat{background:var(--surface);border-color:var(--line);color:var(--text)}:root[data-theme=dark] .report-result-label{color:var(--muted)}:root[data-theme=dark] .meta-badge.impact{border-color:#b4965f;background:#2a241a;color:#e6c98f}:root[data-theme=dark] .meta-badge.quant{border-color:#4a877f;background:#1a2e2b;color:#9fd3c9}:root[data-theme=dark] .meta-badge{color:var(--muted)}:root[data-theme=dark] .kpi-chip,:root[data-theme=dark] .kpi-label,:root[data-theme=dark] .form-chip{background:var(--surface-2);color:var(--text);border-color:var(--line)}:root[data-theme=dark] .form-actions-nav,:root[data-theme=dark] .reg-submit-bar{background:var(--surface);border-top-color:var(--line);border-bottom-color:var(--line)}:root[data-theme=dark] .native-date-panel{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-md)}:root[data-theme=dark] .native-date-panel .native-date-cell:not(.out) .native-date-d{color:var(--text)}:root[data-theme=dark] .native-date-head button{color:var(--text)}:root[data-theme=dark] .review-task-group,:root[data-theme=dark] .review-task-group-header{background:var(--surface);border-color:var(--line);color:var(--text)}:root[data-theme=dark] .review-task-group-name{color:var(--text)}:root[data-theme=dark] .review-task-group-count,:root[data-theme=dark] .review-task-item-meta{color:var(--muted)}:root[data-theme=dark] .modal-form-section-title{color:var(--text)}:root[data-theme=dark] .feedback-modal,:root[data-theme=dark] .contact-modal,:root[data-theme=dark] .basic-result-modal,:root[data-theme=dark] .save-result-modal{background:var(--surface);border-color:var(--line);color:var(--text)}:root[data-theme=dark] .modal-overlay{background:#05080cbf}:root[data-theme=dark] .demo-accounts,:root[data-theme=dark] .demo-hints{color:var(--muted)}:root[data-theme=dark] .competition-phase-note{color:#f0d78c}:root[data-theme=dark] .modal,:root[data-theme=dark] .form-modal,:root[data-theme=dark] .dialog{background:var(--surface);color:var(--text);border-color:var(--line)}:root[data-theme=dark] .evidence-table tr:hover td,:root[data-theme=dark] .review-evidence-row:hover td{background:var(--surface-2)}:root[data-theme=dark] .tag-approved,:root[data-theme=dark] .badge-approved{background:#1a3a24;color:#b8e6c2}:root[data-theme=dark] .tag-rejected,:root[data-theme=dark] .badge-rejected{background:#3a1a1a;color:#f7b9b9}:root[data-theme=dark] .tag-pending,:root[data-theme=dark] .badge-pending{background:#3a321a;color:#f0d78c}:root[data-theme=dark] .tag-submitted,:root[data-theme=dark] .badge-submitted{background:#1a2844;color:#b9d3f7}:root[data-theme=dark] .login-hero{background:var(--surface);color:var(--text);border-right-color:var(--line)}:root[data-theme=dark] .login-hero-title-line1,:root[data-theme=dark] .login-hero-title-line2,:root[data-theme=dark] .login-features{color:var(--text)}:root[data-theme=dark] .login-hero-powered{color:var(--muted)}:root[data-theme=dark] .project-switch-btn{background:var(--surface);border-color:var(--line);color:var(--text)}:root[data-theme=dark] .project-switch-btn:hover{border-color:var(--primary);background:var(--surface-2);color:var(--text)}:root[data-theme=dark] .project-switch-name{color:var(--text)}:root[data-theme=dark] .project-switch-caret{color:var(--muted)}:root[data-theme=dark] .project-switch-menu button{color:var(--text)}:root[data-theme=dark] .project-switch-menu button:hover{background:var(--surface-2)}:root[data-theme=dark] .measure-description-inline{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .measure-description-inline .measure-description-text{color:var(--text)}:root[data-theme=dark] .measure-description-label{color:var(--muted)}:root[data-theme=dark] .measure-meta .meta-badge{background:var(--surface-2);border-color:var(--line);color:var(--muted)}:root[data-theme=dark] .measure-quant-panel{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-sm)}:root[data-theme=dark] .measure-quant-panel .form-field label,:root[data-theme=dark] .measure-quant-panel .field-label{color:#f2f4f7}:root[data-theme=dark] .measure-quant-panel .form-field input,:root[data-theme=dark] .measure-quant-panel .form-field select,:root[data-theme=dark] .measure-quant-panel input[type=text],:root[data-theme=dark] .measure-quant-panel input[type=number],:root[data-theme=dark] .perf-kpi-input-block .form-field-number,:root[data-theme=dark] .perf-kpi-input-block input[type=number]{background:var(--surface);border-color:var(--line);color:var(--text)}:root[data-theme=dark] .perf-kpi-input-block label,:root[data-theme=dark] .perf-kpi-input-block .form-field label{color:#f2f4f7}:root[data-theme=dark] .other-input{background:var(--surface);border-color:var(--line);color:var(--text)}:root[data-theme=dark] .measure-list li button.active{background:color-mix(in srgb,var(--cat-accent, var(--primary)) 14%,var(--surface))}:root[data-theme=dark] .nav-cat-tab{color:var(--muted)}:root[data-theme=dark] .nav-cat-tab:hover{background:var(--surface-2);color:var(--text)}:root[data-theme=dark] .nav-cat-tab.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}:root[data-theme=dark] .report-dash-panel{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-sm)}:root[data-theme=dark] .report-dash-panel-header{border-bottom-color:var(--line)}:root[data-theme=dark] .report-dash-panel-declared .report-dash-panel-header{background:color-mix(in srgb,var(--declared) 18%,var(--surface));border-bottom-color:var(--line);color:var(--text)}:root[data-theme=dark] .report-dash-panel-final .report-dash-panel-header{background:color-mix(in srgb,var(--final) 18%,var(--surface));border-bottom-color:var(--line);color:var(--text)}:root[data-theme=dark] .report-dash-panel-title{color:var(--text)}:root[data-theme=dark] .report-score-chip.final.pending{background:var(--surface-2);color:var(--muted)}:root[data-theme=dark] .report-score-chip.declared{background:color-mix(in srgb,var(--declared) 20%,var(--surface));color:var(--declared)}:root[data-theme=dark] .report-score-chip.final{background:color-mix(in srgb,var(--final) 22%,var(--surface));color:var(--final)}:root[data-theme=dark] .report-score-empty,:root[data-theme=dark] .report-dash-kpi-final .report-score-empty,:root[data-theme=dark] .report-measures-legend{color:var(--muted)}:root[data-theme=dark] .contact-modal h3,:root[data-theme=dark] .contact-modal h4{color:var(--text)}:root[data-theme=dark] .contact-modal p,:root[data-theme=dark] .contact-modal li,:root[data-theme=dark] .contact-modal a{color:var(--muted)}:root[data-theme=dark] .contact-modal .form-field label{color:var(--text)}:root[data-theme=dark] .contact-modal .form-field input,:root[data-theme=dark] .contact-modal .form-field textarea,:root[data-theme=dark] .contact-modal input,:root[data-theme=dark] .contact-modal textarea{background:var(--surface);border-color:var(--line);color:var(--text)}:root[data-theme=dark] .modal-header h3,:root[data-theme=dark] .modal-close-btn,:root[data-theme=dark] .modal-close-btn:hover{color:var(--text)}:root[data-theme=dark] .modal-form-section,:root[data-theme=dark] .modal-form-section-title{background:transparent;color:var(--text)}:root[data-theme=dark] .modal-project-block,:root[data-theme=dark] .modal-project-header,:root[data-theme=dark] .modal-project-block-head{background:var(--surface);border-color:var(--line);color:var(--text)}:root[data-theme=dark] .form-error{color:#ef8f8f}:root[data-theme=dark] .reg-section .reg-section-title,:root[data-theme=dark] .reg-section h2,:root[data-theme=dark] .reg-section h3,:root[data-theme=dark] .reg-section h4,:root[data-theme=dark] .reg-section .reg-label,:root[data-theme=dark] .reg-section label,:root[data-theme=dark] .project-switch-label{color:var(--text)}:root[data-theme=dark] .reg-form-scope .reg-contact-group{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .reg-form-scope .reg-contact-title,:root[data-theme=dark] .reg-form-scope .reg-section h3,:root[data-theme=dark] .reg-form-scope .reg-section h4,:root[data-theme=dark] .measure-list li button,:root[data-theme=dark] .measure-label{color:var(--text)}:root[data-theme=dark] .measure-no{background:var(--surface-2);color:var(--muted)}:root[data-theme=dark] .measure-label-input{background:var(--surface);color:var(--text)}:root[data-theme=dark] .measure-header h2,:root[data-theme=dark] .measure-title-wrap h2{color:var(--text)}:root[data-theme=dark] .measure-code-pill,:root[data-theme=dark] .measure-hkca-pill{background:var(--surface-2);color:var(--muted)}:root[data-theme=dark] .assessment-summary{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .assessment-summary-title{color:var(--muted)}:root[data-theme=dark] .assessment-summary-fields{background:var(--surface-2);border-color:var(--line)}:root[data-theme=dark] .assessment-summary-row dt{color:var(--muted)}:root[data-theme=dark] .assessment-summary-row dd{color:var(--text)}:root[data-theme=dark] .assessment-summary-lockwarn{color:#f0d78c;background:color-mix(in srgb,#b45309 28%,var(--surface));border-color:#8a6a20}:root[data-theme=dark] .form-actions-sticky.actions-card{background:var(--surface);border-color:var(--primary)}:root[data-theme=dark] .report-summary{background:transparent}:root[data-theme=dark] .report-summary>div{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .report-card,:root[data-theme=dark] .report-card.report-page{background:transparent}:root[data-theme=dark] .report-measures-section .card-section-title,:root[data-theme=dark] .report-dash-section .card-section-title{color:var(--text)}:root[data-theme=dark] .report-table-panel,:root[data-theme=dark] .report-table-panel .table-wrap{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .report-table-panel h2,:root[data-theme=dark] .report-table-panel h3{color:var(--text)}:root[data-theme=dark] .contact-modal input,:root[data-theme=dark] .contact-modal input[type=text],:root[data-theme=dark] .contact-modal input[type=email],:root[data-theme=dark] .contact-modal input[type=tel],:root[data-theme=dark] .contact-modal textarea{background:var(--surface);border-color:var(--line);color:var(--text)!important}:root[data-theme=dark] .contact-modal input::placeholder,:root[data-theme=dark] .contact-modal textarea::placeholder{color:var(--muted);opacity:.8}:root[data-theme=dark] .contact-modal .form-error,:root[data-theme=dark] .contact-modal .required-mark{color:#ef8f8f}:root[data-theme=dark] .modal input,:root[data-theme=dark] .modal input[type=text],:root[data-theme=dark] .modal input[type=email],:root[data-theme=dark] .modal textarea{color:var(--text)!important}:root[data-theme=dark] .reg-form-scope .reg-project-card{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .reg-form-scope .reg-project-title{color:var(--text)}:root[data-theme=dark] .reg-form-scope .reg-sub-block{background:var(--surface-2);border-color:var(--line)}:root[data-theme=dark] .project-switch-item{color:var(--text)}:root[data-theme=dark] .project-switch-item:hover{background:var(--surface-2);color:var(--text)}:root[data-theme=dark] .project-switch-item.active{background:color-mix(in srgb,var(--primary) 20%,var(--surface));color:var(--text)}:root[data-theme=dark] .project-switch-item.active .project-switch-item-name{color:var(--text)}:root[data-theme=dark] .project-role-prime{background:#1a3a24;color:#b8e6c2;border-color:#2e7d32}:root[data-theme=dark] .project-role-jv{background:#1a2844;color:#b9d3f7;border-color:#1565c0}:root[data-theme=dark] .project-switch-menu{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .token-summary-card{background:var(--surface-2);border-color:var(--line)}:root[data-theme=dark] .token-summary-card .token-summary-label{color:var(--muted)}:root[data-theme=dark] .token-summary-card strong{color:var(--text)}:root[data-theme=dark] .token-summary-card small{color:var(--muted)}:root[data-theme=dark] .token-summary-total{background:color-mix(in srgb,var(--accent, var(--final)) 18%,var(--surface));border-color:color-mix(in srgb,var(--accent, var(--final)) 35%,var(--surface))}:root[data-theme=dark] .token-summary-total .token-summary-label,:root[data-theme=dark] .token-summary-total strong{color:var(--text)}:root[data-theme=dark] .btn-secondary{background:var(--surface-2);color:var(--text);border-color:var(--line)}:root[data-theme=dark] .btn-secondary:hover{background:var(--surface);border-color:var(--primary)}:root[data-theme=dark] .declaration-block{background:var(--surface-2);border-color:var(--line);color:var(--muted)}:root[data-theme=dark] .declaration-block .declaration-text{color:var(--muted)}:root[data-theme=dark] input[type=checkbox]{accent-color:var(--primary)}:root[data-theme=dark] input[type=checkbox]:not(:checked){background-color:var(--surface);border:1px solid var(--line)}:root[data-theme=dark] .actions-card input[type=checkbox]{accent-color:var(--primary);background-color:var(--surface);border:1px solid var(--line)}:root[data-theme=dark] .kpi-tiers{background:var(--surface-2);border-color:var(--line)}:root[data-theme=dark] .kpi-tiers li{border-bottom-color:var(--line);color:#f2f4f7}:root[data-theme=dark] .kpi-tiers li.active-tier{color:var(--accent, var(--primary))}:root[data-theme=dark] .form-field input,:root[data-theme=dark] .form-field textarea,:root[data-theme=dark] .form-field select{background:var(--surface);color:var(--text);border-color:var(--line)}:root[data-theme=dark] .form-field label{color:#f2f4f7}:root[data-theme=dark] .form-field input:focus,:root[data-theme=dark] .form-field textarea:focus,:root[data-theme=dark] .form-field select:focus{background:var(--surface);border-color:var(--primary)}:root[data-theme=dark] .form-field input::placeholder,:root[data-theme=dark] .form-field textarea::placeholder{color:var(--muted);opacity:.8}:root[data-theme=dark] .form-field input:disabled,:root[data-theme=dark] .form-field textarea:disabled,:root[data-theme=dark] .form-field select:disabled{background:var(--surface-2);color:var(--muted)}:root[data-theme=dark] .option-locked-badge{background:#1a3a24;color:#b8e6c2}:root[data-theme=dark] .token-section-disabled{opacity:1}:root[data-theme=dark] .evidence-table td{color:#f2f4f7}:root[data-theme=dark] .evidence-table th{color:var(--muted)}:root[data-theme=dark] .side-nav-toggle{background:var(--surface-2);color:var(--muted);border-color:var(--line)}:root[data-theme=dark] .side-nav-toggle:hover{background:var(--surface);color:var(--text)}:root[data-theme=dark] .side-nav-search input{background:var(--surface);color:var(--text);border-color:var(--line)}:root[data-theme=dark] .side-nav-search input::placeholder{color:var(--muted);opacity:.8}:root[data-theme=dark] .readonly-banner,:root[data-theme=dark] .read-only-banner{background:color-mix(in srgb,#b45309 22%,var(--surface));border-color:#8a6a20;color:#f0d78c}:root[data-theme=dark] .readonly-banner.revision-banner{background:color-mix(in srgb,#ea580c 20%,var(--surface));border-color:#a85a20;color:#f0bd8c}:root[data-theme=dark] .readonly-banner.rejected-banner{background:color-mix(in srgb,#dc2626 20%,var(--surface));border-color:#8a2c2c;color:#f0a0a0}:root[data-theme=dark] .readonly-banner.pending-review-banner{background:color-mix(in srgb,#b45309 22%,var(--surface));border-color:#8a6a20;color:#f0d78c}:root[data-theme=dark] .readonly-banner.pending-review-effectivelyEditable-banner{background:color-mix(in srgb,#1565c0 20%,var(--surface));border-color:#2c5a8a;color:#a0c8f0}:root[data-theme=dark] .category-banner-count{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}:root[data-theme=dark] .measure-quant-panel select,:root[data-theme=dark] .measure-quant-panel input:not([type=checkbox]):not([type=radio]){background-color:var(--surface);border-color:var(--line);color:var(--text)}:root[data-theme=dark] .measure-quant-panel select option{background:var(--surface);color:var(--text)}:root[data-theme=dark] .extra-file-btn{background:var(--surface-2);color:var(--accent, #f97316);border-color:var(--accent, #f97316)}:root[data-theme=dark] .extra-file-trigger:hover:not(.is-disabled) .extra-file-btn{background:var(--accent, #f97316);color:#fff}:root[data-theme=dark] .extra-file-chosen{color:var(--muted)}:root[data-theme=dark] .upload-file-item.file-accepted{background:color-mix(in srgb,var(--primary) 14%,var(--surface));border-color:var(--primary-border)}:root[data-theme=dark] .upload-file-item.file-rejected{background:color-mix(in srgb,#dc2626 14%,var(--surface));border-color:color-mix(in srgb,#dc2626 35%,var(--surface))}:root[data-theme=dark] .upload-file-review-note{color:#f0a0a0}:root[data-theme=dark] .quant-edit-list{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .quant-edit-list-toolbar{background:var(--surface-2);border-bottom-color:var(--line)}:root[data-theme=dark] .quant-edit-list-title{color:var(--text)}:root[data-theme=dark] .quant-edit-list-add{background:var(--surface);border-color:var(--line);color:#6ee7b7}:root[data-theme=dark] .quant-edit-list-add:hover{background:color-mix(in srgb,#10b981 20%,var(--surface));border-color:#10b981}:root[data-theme=dark] .quant-edit-list-table thead th{background:var(--surface-2);color:var(--muted);border-bottom-color:var(--line)}:root[data-theme=dark] .quant-edit-list-table tbody td{border-bottom-color:var(--line)}:root[data-theme=dark] .quant-edit-list-table tbody tr:hover td{background:var(--surface-2)}:root[data-theme=dark] .quant-edit-list-col-idx{color:var(--muted)}:root[data-theme=dark] .quant-edit-list-input,:root[data-theme=dark] .quant-edit-list-input:hover:not(:disabled),:root[data-theme=dark] .quant-edit-list-input:focus{background:var(--surface);color:var(--text);border-color:var(--line)}:root[data-theme=dark] .quant-edit-list-input:focus{border-color:#10b981}:root[data-theme=dark] .quant-edit-list-input:disabled{color:var(--muted)}:root[data-theme=dark] .quant-edit-list-input option{background:var(--surface);color:var(--text)}:root[data-theme=dark] .quant-ef-other-input{background:var(--surface)!important;border-color:var(--line)!important;color:var(--text)}:root[data-theme=dark] .quant-edit-list-remove{color:var(--muted)}:root[data-theme=dark] .quant-edit-list-remove:hover{color:#f0a0a0;background:color-mix(in srgb,#dc2626 16%,var(--surface))}:root[data-theme=dark] .quant-edit-list-empty-row td{color:var(--muted)}:root[data-theme=dark] .quant-edit-list-readonly{color:var(--text)}:root[data-theme=dark] .quant-edit-list-readonly--empty{color:var(--muted)}:root[data-theme=dark] .review-result-note-block h4{color:var(--text)}:root[data-theme=dark] .review-result-note-text{background:var(--surface-2);border-color:var(--line);color:var(--text)}:root[data-theme=dark] .measure-note{background:color-mix(in srgb,#b45309 18%,var(--surface));border-color:color-mix(in srgb,#b45309 45%,var(--surface));color:#f0d78c}:root[data-theme=dark] .measure-quant-panel .field-hint{background:color-mix(in srgb,#2563eb 14%,var(--surface));border:1px solid color-mix(in srgb,#2563eb 35%,var(--surface));border-radius:8px;padding:8px 10px;color:#a9c6f2}:root[data-theme=dark] .report-dash-panel-declared,:root[data-theme=dark] .report-dash-panel-final{border-color:var(--line)}:root[data-theme=dark] .report-dash-panel-badge{background:var(--surface-2)}:root[data-theme=dark] .report-dash-panel-declared .report-dash-panel-badge{background:color-mix(in srgb,var(--declared) 22%,var(--surface));color:var(--declared)}:root[data-theme=dark] .report-dash-panel-final .report-dash-panel-badge{background:color-mix(in srgb,var(--final) 22%,var(--surface));color:var(--final)}:root[data-theme=dark] .report-dash-panel-header p{color:var(--muted)}:root[data-theme=dark] .report-dash-kpi{background:var(--surface-2);border-color:var(--line)}:root[data-theme=dark] .report-dash-kpi-highlight{background:var(--surface-2)}:root[data-theme=dark] .report-dash-kpi-declared.report-dash-kpi-highlight{border-color:color-mix(in srgb,var(--declared) 45%,var(--surface));box-shadow:inset 3px 0 0 var(--declared)}:root[data-theme=dark] .report-dash-kpi-final.report-dash-kpi-highlight{border-color:color-mix(in srgb,var(--final) 45%,var(--surface));box-shadow:inset 3px 0 0 var(--final)}:root[data-theme=dark] .report-dash-kpi-label,:root[data-theme=dark] .report-dash-kpi-final .report-score-empty{color:var(--muted)}:root[data-theme=dark] .report-th-score.declared{background:color-mix(in srgb,var(--declared) 18%,var(--surface))!important;color:var(--declared)!important}:root[data-theme=dark] .report-th-score.final{background:color-mix(in srgb,var(--final) 18%,var(--surface))!important;color:var(--final)!important}:root[data-theme=dark] .report-col-score-divider{border-left-color:color-mix(in srgb,var(--final) 25%,var(--surface))}:root[data-theme=dark] .report-status-pending_review{background:color-mix(in srgb,#b45309 20%,var(--surface));color:#f0d78c}:root[data-theme=dark] .report-status-submitted{background:color-mix(in srgb,var(--primary) 18%,var(--surface));color:#b8e6c2}:root[data-theme=dark] .report-status-rejected{background:color-mix(in srgb,#dc2626 20%,var(--surface));color:#f0a0a0}:root[data-theme=dark] .report-status-revision_requested{background:color-mix(in srgb,#ea580c 20%,var(--surface));color:#f0bd8c}:root[data-theme=dark] .modal.contact-us-modal{border:1px solid var(--primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 40%,transparent),0 24px 60px #0000008c}:root[data-theme=dark] .contact-us-card,:root[data-theme=dark] .contact-us-card-static{background:var(--surface-2);border-color:var(--line);color:var(--text)}:root[data-theme=dark] .contact-us-card:hover{background:var(--surface);border-color:var(--primary)}:root[data-theme=dark] .contact-us-card-static:hover{background:var(--surface-2);border-color:var(--line)}:root[data-theme=dark] .contact-us-card strong{color:var(--text)}:root[data-theme=dark] .dashboard-kpi-card{background:var(--surface);box-shadow:none}:root[data-theme=dark] .dashboard-kpi-card span{color:var(--muted)}:root[data-theme=dark] .hud-filter>span{color:var(--muted)}:root[data-theme=dark] .hud-filter select{background-color:var(--surface);border-color:#2fd8ff38;color:var(--text)}:root[data-theme=dark] .hud-filter select:hover{border-color:#2fd8ff}:root[data-theme=dark] .analytics-kpi-card{background:linear-gradient(135deg,#2fd8ff12,#2196f308),var(--surface);border-color:#2fd8ff38}:root[data-theme=dark] .analytics-kpi-card:after{background:linear-gradient(90deg,transparent,rgba(47,216,255,.32),transparent)}:root[data-theme=dark] .analytics-kpi-card:hover{border-color:#2fd8ff;box-shadow:0 0 0 1px #2fd8ff80,0 6px 20px #2fd8ff3d}:root[data-theme=dark] .analytics-kpi-head{color:#7fc3dd}:root[data-theme=dark] .analytics-kpi-head em{color:#5ad6f5}:root[data-theme=dark] .analytics-kpi-icon{color:#5ad6f5;background:radial-gradient(circle,#2fd8ff29,#2fd8ff00 70%);box-shadow:inset 0 0 0 1px #5ad6f573,0 0 10px #2fd8ff26}:root[data-theme=dark] .analytics-kpi-text strong{color:var(--text)}:root[data-theme=dark] .analytics-kpi-label{color:var(--muted)}:root[data-theme=dark] .analytics-kpi-delta.is-up{color:#19e3a3}:root[data-theme=dark] .analytics-kpi-delta.is-down{color:#ff6b6b}:root[data-theme=dark] .hud-panel{background:linear-gradient(180deg,#17202b,#141c26);border-color:#2fd8ff33;box-shadow:0 0 0 1px #2fd8ff0d,0 2px 10px #0006}:root[data-theme=dark] .hud-panel:before{background:linear-gradient(90deg,transparent,#2fd8ff 30%,#ffb020 70%,transparent);opacity:.9;box-shadow:0 0 6px #2fd8ff66}:root[data-theme=dark] .hud-panel-title{color:#a9e6f7}:root[data-theme=dark] .hud-gridline{stroke:#6cc8eb24}:root[data-theme=dark] .hud-axis-label{fill:#87a3b4}:root[data-theme=dark] .hud-x-label{fill:#9bb6c6}:root[data-theme=dark] .hud-y-caption,:root[data-theme=dark] .hud-bar-legend{color:var(--muted)}:root[data-theme=dark] .hud-bar-group:hover .hud-bar{filter:brightness(1.18) drop-shadow(0 0 6px rgba(47,216,255,.6))}:root[data-theme=dark] .hud-crosshair line{stroke:#6cc8eb80}:root[data-theme=dark] .hud-crosshair circle.outer{fill:#2fd8ff29;stroke:#2fd8ff}:root[data-theme=dark] .hud-crosshair circle.inner{fill:#2fd8ff}:root[data-theme=dark] .hud-tooltip{background:#0d1b28f5;border-color:#2fd8ffa6;box-shadow:0 8px 22px #0000008c,0 0 0 1px #2fd8ff26;color:var(--text)}:root[data-theme=dark] .hud-tooltip strong{color:#a9e6f7}:root[data-theme=dark] .hud-region{stroke:#a0dcf559}:root[data-theme=dark] .hud-region:hover{stroke:#bfefff}:root[data-theme=dark] .hud-callout-name{fill:#d2eefb;stroke:#08121ce6}:root[data-theme=dark] .hud-callout-meta{fill:#9bb6c6;stroke:#08121ce6}:root[data-theme=dark] .hud-map-legend{color:var(--muted)}:root[data-theme=dark] .hud-map-legend li.is-active{color:var(--text)}:root[data-theme=dark] .hud-region-stats li{color:var(--muted)}:root[data-theme=dark] .hud-region-stats .hud-region-name,:root[data-theme=dark] .hud-region-stats .hud-region-pct{color:var(--text)}:root[data-theme=dark] .project-map .leaflet-container{background:#0d151c}:root[data-theme=dark] .hud-saver-row{background:linear-gradient(135deg,#2fd8ff0d,#2196f305),var(--surface);border-color:#2fd8ff29}:root[data-theme=dark] .hud-saver-row:after{background:linear-gradient(90deg,transparent,rgba(47,216,255,.28),transparent)}:root[data-theme=dark] .hud-saver-row:hover{border-color:#2fd8ff;box-shadow:0 0 0 1px #2fd8ff73,0 4px 14px #2fd8ff2e}:root[data-theme=dark] .hud-saver-name{color:var(--text)}:root[data-theme=dark] .hud-saver-tons{color:#ffb020}:root[data-theme=dark] .hud-saver-tokens{color:var(--muted)}:root[data-theme=dark] .token-dot{border-color:#5aa9c8}:root[data-theme=dark] .token-dot:after{color:#8fd6ec}:root[data-theme=dark] .hud-saver-footnote,:root[data-theme=dark] .analytics-footer{color:var(--muted)}:root[data-theme=dark] .admin-tab{background:var(--surface);border-color:var(--line);color:var(--text)}:root[data-theme=dark] .admin-tab:hover{background:var(--surface-2)}:root[data-theme=dark] .admin-tab-badge{background:var(--surface-2);color:var(--muted)}:root[data-theme=dark] .review-detail-placeholder{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .review-detail-empty{border-color:var(--line)}:root[data-theme=dark] .review-task-panel{background:var(--surface);border-color:var(--line);box-shadow:none}:root[data-theme=dark] .review-task-panel-head{border-bottom-color:var(--line)}:root[data-theme=dark] .review-task-panel-sub,:root[data-theme=dark] .review-task-panel-hint{color:var(--muted)}:root[data-theme=dark] .review-task-sort-bar{background:var(--surface-2);border-bottom-color:var(--line)}:root[data-theme=dark] .review-task-sort-label{color:var(--muted)}:root[data-theme=dark] .review-task-sort-chip{background:var(--surface);border-color:var(--line);color:var(--muted)}:root[data-theme=dark] .review-task-sort-chip:hover{background:var(--surface);border-color:#4a5868;color:var(--text)}:root[data-theme=dark] .review-task-sort-chip.active{background:color-mix(in srgb,#1d4ed8 28%,var(--surface));border-color:#3b6fd8;color:#93b8f8}:root[data-theme=dark] .review-task-empty-state{color:var(--muted)}:root[data-theme=dark] .review-task-group-header:hover{background:var(--surface-2)}:root[data-theme=dark] .review-task-group.is-expanded .review-task-group-header{border-bottom-color:var(--line)}:root[data-theme=dark] .review-task-group-toggle{color:var(--muted)}:root[data-theme=dark] .review-task-group-list .review-task-item{border-bottom-color:var(--line)}:root[data-theme=dark] .review-task-item:hover{background:var(--surface-2)}:root[data-theme=dark] .review-task-item-chevron{color:#4a5868}:root[data-theme=dark] .review-task-item:hover .review-task-item-chevron,:root[data-theme=dark] .review-task-item-release{color:var(--muted)}:root[data-theme=dark] .review-task-status.status-submitted{background:color-mix(in srgb,#22c55e 20%,var(--surface));color:#b8e6c2}:root[data-theme=dark] .review-task-status.status-rejected{background:color-mix(in srgb,#dc2626 20%,var(--surface));color:#f0a0a0}:root[data-theme=dark] .review-task-status.status-revision_requested{background:color-mix(in srgb,#ea580c 20%,var(--surface));color:#f0bd8c}:root[data-theme=dark] .review-task-item-extra{background:color-mix(in srgb,#f59e0b 12%,var(--surface))}:root[data-theme=dark] .review-task-item-extra:hover{background:color-mix(in srgb,#f59e0b 20%,var(--surface))}:root[data-theme=dark] .review-queue-cat-extra{background:color-mix(in srgb,#f59e0b 22%,var(--surface));color:#f0bd8c}:root[data-theme=dark] .review-task-extra-detail{border-top-color:color-mix(in srgb,#f59e0b 35%,var(--line))}:root[data-theme=dark] .review-task-extra-desc{color:var(--text)}:root[data-theme=dark] .review-decision-btn:hover:not(:disabled){border-color:#4a5868}:root[data-theme=dark] .review-decision-btn.approve.active{background:color-mix(in srgb,#2e7d32 30%,var(--surface));border-color:#2e7d32;color:#8fd997}:root[data-theme=dark] .review-decision-btn.reject.active{background:color-mix(in srgb,#c62828 30%,var(--surface));border-color:#c62828;color:#f0a0a0}:root[data-theme=dark] .review-decision-btn.discuss.active{background:color-mix(in srgb,#ef6c00 30%,var(--surface));border-color:#ef6c00;color:#f0bd8c}:root[data-theme=dark] .review-assign-board,:root[data-theme=dark] .review-stats-dimension{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .review-stats-dimension-head{border-bottom-color:var(--line)}:root[data-theme=dark] .review-stats-dimension-title{color:var(--text)}:root[data-theme=dark] .review-stats-dimension-hint{color:var(--muted)}:root[data-theme=dark] .review-stats-metric{background:var(--surface-2);border-color:var(--line)}:root[data-theme=dark] .review-stats-metric-value{color:var(--text)}:root[data-theme=dark] .review-stats-metric-label{color:var(--muted)}:root[data-theme=dark] .review-stats-metric.tone-warn{background:color-mix(in srgb,#d97706 22%,var(--surface));border-color:#92600f}:root[data-theme=dark] .review-stats-metric.tone-ok{background:color-mix(in srgb,#16a34a 22%,var(--surface));border-color:#20683a}:root[data-theme=dark] .review-stats-metric.tone-info{background:color-mix(in srgb,#2563eb 22%,var(--surface));border-color:#274a86}:root[data-theme=dark] .review-assign-wait-banner{background:color-mix(in srgb,#92400e 28%,var(--surface));border-color:#6b4415;color:#f0d78c}:root[data-theme=dark] .review-assign-wait-banner--info{background:color-mix(in srgb,#1e40af 28%,var(--surface));border-color:#274a86;color:#93b8f8}:root[data-theme=dark] .donut-chart--empty{border-color:#4a5868;color:var(--muted)}:root[data-theme=dark] .donut-chart-empty-label{color:var(--muted)}:root[data-theme=dark] .donut-chart-arc path:not(.donut-chart-hit){stroke:var(--surface)}:root[data-theme=dark] .donut-chart-center-num{fill:var(--text)}:root[data-theme=dark] .donut-chart-center-label{fill:var(--muted)}:root[data-theme=dark] .donut-chart-center-top{fill:var(--text)}:root[data-theme=dark] .donut-chart-legend-item{color:var(--muted)}:root[data-theme=dark] .donut-chart-legend-item:hover,:root[data-theme=dark] .donut-chart-legend-item.is-active{background:var(--surface-2);color:var(--text)}:root[data-theme=dark] .donut-chart-legend-value{color:var(--text)}:root[data-theme=dark] .review-claim-banner-ok{background:color-mix(in srgb,#2e7d32 26%,var(--surface));border-color:#2f5c37;color:#8fd997}:root[data-theme=dark] .review-claim-banner-info{background:color-mix(in srgb,#ea580c 24%,var(--surface));border-color:#7a4a1e;color:#f0bd8c}:root[data-theme=dark] .review-claim-banner-warn{background:color-mix(in srgb,#b45309 24%,var(--surface));border-color:#6b4415;color:#f0d78c}:root[data-theme=dark] .review-claim-banner-lost{background:color-mix(in srgb,#c62828 24%,var(--surface));border-color:#6e2a2a;color:#f0a0a0}:root[data-theme=dark] .review-detail{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .review-detail-header{background:var(--surface-2);border-bottom-color:var(--line)}:root[data-theme=dark] .review-detail-title{color:var(--text)}:root[data-theme=dark] .review-detail-grid,:root[data-theme=dark] .review-section{border-bottom-color:var(--line)}:root[data-theme=dark] .review-collapsible-panel{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .review-collapsible-panel-summary{color:var(--text)}:root[data-theme=dark] .review-collapsible-panel-summary::-webkit-details-marker{color:var(--muted)}:root[data-theme=dark] .review-collapsible-panel[open] .review-collapsible-panel-summary{border-bottom-color:var(--line)}:root[data-theme=dark] .review-dl dt{color:var(--muted)}:root[data-theme=dark] .review-dl dd{color:var(--text)}:root[data-theme=dark] .review-validation-badge.pass{background:color-mix(in srgb,#2e7d32 28%,var(--surface));color:#8fd997}:root[data-theme=dark] .review-validation-badge.fail{background:color-mix(in srgb,#c62828 28%,var(--surface));color:#f0a0a0}:root[data-theme=dark] .review-validation-list{color:#f0a0a0}:root[data-theme=dark] .review-warning-list{color:#f0bd8c}:root[data-theme=dark] .review-score-card{background:var(--surface-2)}:root[data-theme=dark] .review-score-card.highlight{background:color-mix(in srgb,#2e7d32 26%,var(--surface));border-color:#2f5c37}:root[data-theme=dark] .review-decl-block{border-bottom-color:var(--line)}:root[data-theme=dark] .review-decl-grid h4{color:var(--text)}:root[data-theme=dark] .review-other-text{color:var(--muted)}:root[data-theme=dark] .review-ai-tag.pass{background:color-mix(in srgb,#2e7d32 26%,var(--surface));color:#8fd997;border-color:#2f5c37}:root[data-theme=dark] .review-ai-tag.fail{background:color-mix(in srgb,#c62828 26%,var(--surface));color:#f0a0a0;border-color:#6e2a2a}:root[data-theme=dark] .review-ai-tag.unknown,:root[data-theme=dark] .review-ai-tag.analyzing{background:var(--surface-2);color:var(--muted);border-color:var(--line)}:root[data-theme=dark] .review-ai-tag.start,:root[data-theme=dark] .review-ai-tag.error{background:color-mix(in srgb,#2563eb 24%,var(--surface));color:#93b8f8;border-color:#274a86}:root[data-theme=dark] .review-ai-spinner{border-color:#3a4653;border-top-color:var(--muted)}:root[data-theme=dark] .evidence-check-btn{background:var(--surface);border-color:var(--line);color:var(--text)}:root[data-theme=dark] .evidence-check-btn.accept.active{background:color-mix(in srgb,#2e7d32 28%,var(--surface));border-color:#2f5c37;color:#8fd997}:root[data-theme=dark] .evidence-check-btn.reject.active{background:color-mix(in srgb,#c62828 28%,var(--surface));border-color:#6e2a2a;color:#f0a0a0}:root[data-theme=dark] .review-evidence-table tbody .review-ev-col-sticky{background:#232b35}:root[data-theme=dark] .evidence-rejected td,:root[data-theme=dark] .evidence-rejected td.review-ev-col-sticky{background:color-mix(in srgb,#c62828 14%,var(--surface))}:root[data-theme=dark] .review-score-adjust{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .review-decision-section{background:var(--surface);border-top-color:var(--line)}:root[data-theme=dark] .review-decision-section .review-collapsible-panel{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .review-carbon-breakdown-panel,:root[data-theme=dark] .review-carbon-breakdown{background:var(--surface-2);border-color:var(--line);color:var(--text)}:root[data-theme=dark] .review-action-badge.action-approve{background:color-mix(in srgb,#2e7d32 28%,var(--surface));color:#8fd997}:root[data-theme=dark] .review-action-badge.action-reject{background:color-mix(in srgb,#c62828 28%,var(--surface));color:#f0a0a0}:root[data-theme=dark] .review-action-badge.action-request_revision{background:color-mix(in srgb,#ea580c 28%,var(--surface));color:#f0bd8c}:root[data-theme=dark] .sa-overview{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .sa-overview-metric{background:var(--surface-2);border-color:var(--line)}:root[data-theme=dark] .sa-overview-metric-value{color:var(--text)}:root[data-theme=dark] .sa-overview-metric-label{color:var(--muted)}:root[data-theme=dark] .sa-overview-chart-card{background:var(--surface-2);border-color:var(--line)}:root[data-theme=dark] .sa-overview-chart-title,:root[data-theme=dark] .sa-assign-board-title{color:var(--text)}:root[data-theme=dark] .sa-assign-board-hint{color:var(--muted)}:root[data-theme=dark] .sa-reviewer-table-wrap{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .sa-reviewer-table th,:root[data-theme=dark] .sa-reviewer-table td{border-bottom-color:var(--line)}:root[data-theme=dark] .sa-reviewer-table th{background:var(--surface-2);color:var(--muted)}:root[data-theme=dark] .sa-reviewer-sort-btn:hover,:root[data-theme=dark] .sa-reviewer-sort-btn.active{color:var(--text)}:root[data-theme=dark] .sa-reviewer-table tbody tr:hover{background:var(--surface-2)}:root[data-theme=dark] .sa-reviewer-table tbody tr.is-idle{color:var(--muted)}:root[data-theme=dark] .sa-reviewer-name{color:var(--text)}:root[data-theme=dark] .sa-status-pill.idle{background:var(--surface-2);color:var(--muted)}:root[data-theme=dark] .sa-status-pill.busy{background:color-mix(in srgb,#1565c0 24%,var(--surface));color:#7db5ff}:root[data-theme=dark] .review-contractor-detail{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .review-contractor-detail-head{border-bottom-color:var(--line)}:root[data-theme=dark] .review-contractor-detail-status{color:#7db5ff}:root[data-theme=dark] .review-contractor-detail-counts{color:var(--muted)}:root[data-theme=dark] .review-contractor-detail-counts span{background:var(--surface-2)}:root[data-theme=dark] .settings-phase-panel{background:var(--surface)}:root[data-theme=dark] .phase-card{color:var(--text)}:root[data-theme=dark] .phase-pill-submission{background:color-mix(in srgb,#2e7d32 22%,var(--surface));color:#8fd997;border-color:color-mix(in srgb,#2e7d32 42%,transparent)}:root[data-theme=dark] .phase-pill-review{background:color-mix(in srgb,#1565c0 24%,var(--surface));color:#7db5ff;border-color:color-mix(in srgb,#1565c0 42%,transparent)}:root[data-theme=dark] .phase-card:hover:not(:disabled){border-color:#3d4a59}:root[data-theme=dark] .phase-card.active,:root[data-theme=dark] .phase-card-submission.active{background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 12%,var(--surface)) 0%,var(--surface) 100%);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 28%,transparent)}:root[data-theme=dark] .phase-card-review.active{border-color:#4f8ff7;background:linear-gradient(180deg,color-mix(in srgb,#1565c0 14%,var(--surface)) 0%,var(--surface) 100%)}:root[data-theme=dark] .phase-card-badge{background:color-mix(in srgb,#2e7d32 22%,var(--surface));color:#8fd997}:root[data-theme=dark] .phase-card-review.active .phase-card-badge{background:color-mix(in srgb,#1565c0 24%,var(--surface));color:#7db5ff}:root[data-theme=dark] .phase-confirm-bar{background:color-mix(in srgb,#b45309 16%,var(--surface));border-color:color-mix(in srgb,#b45309 45%,transparent)}:root[data-theme=dark] .settings-phase-actionbar{background:var(--surface-2)}:root[data-theme=dark] .settings-phase-actionbar.dirty{background:color-mix(in srgb,#b45309 16%,var(--surface));border-color:color-mix(in srgb,#b45309 45%,transparent)}:root[data-theme=dark] .settings-phase-actionbar.dirty .settings-phase-actionbar-text{color:#f0bd8c}:root[data-theme=dark] .role-badge-super_admin{background:color-mix(in srgb,#b45309 22%,var(--surface));color:#f3c978}:root[data-theme=dark] .role-badge-admin{background:color-mix(in srgb,#1565c0 24%,var(--surface));color:#7db5ff}:root[data-theme=dark] .role-badge-user{background:color-mix(in srgb,#2e7d32 22%,var(--surface));color:#8fd997}:root[data-theme=dark] .user-badge-hkca{background:color-mix(in srgb,#e65100 22%,var(--surface));color:#f5a978;border-color:color-mix(in srgb,#e65100 42%,transparent)}:root[data-theme=dark] .user-badge-2025{background:color-mix(in srgb,#2e7d32 22%,var(--surface));color:#8fd997;border-color:color-mix(in srgb,#2e7d32 42%,transparent)}:root[data-theme=dark] .btn-danger{background:color-mix(in srgb,#c62828 16%,var(--surface));color:#f08a8a;border-color:color-mix(in srgb,#c62828 55%,transparent)}:root[data-theme=dark] .btn-danger:hover{background:color-mix(in srgb,#c62828 30%,var(--surface))}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;overflow-x:hidden}button,input,select,textarea{font:inherit}.app-shell{height:100vh;min-height:100vh;display:flex;flex-direction:column;overflow:hidden;--app-chrome: 154px;max-width:1600px;margin:0 auto}.app-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.app-header{position:sticky;top:0;z-index:100;background:var(--surface);box-shadow:var(--shadow-sm);overflow:visible}.app-header-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 32px;min-height:56px;border-bottom:1px solid #f0f2f5;max-width:1600px;margin:0 auto;width:100%}.app-header-brand{display:flex;align-items:center;gap:24px;min-width:0}.brand-logos{display:flex;align-items:center;flex-shrink:0}.brand-logos-row{gap:4px}.brand-logos-stacked{flex-direction:column;align-items:center;gap:4px}.brand-logos-lg.brand-logos-stacked{gap:2px;margin-bottom:32px}.brand-logos-lg.brand-logos-stacked .brand-logo-aecom{margin-top:-6px}.brand-logo-carbon-smart{display:block;height:40px;width:auto;object-fit:contain}.brand-logo-aecom{display:block;height:14px;width:auto;object-fit:contain}.brand-logo-active{display:block;height:44px;width:auto;max-width:220px;object-fit:contain;border-radius:6px}.brand-logo-hkca{display:block;height:62px;width:auto;max-width:420px;object-fit:contain;flex-shrink:0}.app-header-partners{display:flex;align-items:center;gap:10px;padding-left:14px;margin-left:6px;border-left:1px solid var(--line);flex-shrink:0}.partner-logo{display:block;width:auto;object-fit:contain}.partner-logo-carbon-smart{height:44px;border-radius:4px}.partner-logo-aecom{height:14px}@media(max-width:720px){.app-header-partners{display:none}}.brand-logos-lg{margin-bottom:16px}.brand-logos-lg .brand-logo-carbon-smart{height:158px}.brand-logos-lg .brand-logo-aecom{height:10px}.brand-logos-lg.brand-logos-stacked .brand-logo-aecom{height:11px}.brand-text{min-width:0;flex:1;display:inline-flex;flex-direction:column;align-items:flex-start}.brand-title{font-size:13px;font-weight:700;line-height:1.3;white-space:nowrap}.brand-powered-by{font-size:10px;color:var(--muted);line-height:1.2;margin-top:4px;white-space:nowrap}.brand-text-hero{width:100%}.brand-text-hero .brand-title{font-size:26px;font-weight:700;margin-bottom:6px;letter-spacing:-.02em;line-height:1.3;white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.brand-text-hero .brand-powered-by{font-size:13px;color:var(--muted);margin-bottom:28px}.app-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.header-action-group{position:relative}.header-action-btn{border:1px solid var(--line);background:var(--surface);color:var(--text);padding:7px 14px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.header-action-btn:hover{background:#f8fafc;border-color:#cbd5e1}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;border-radius:999px;cursor:pointer;outline:none;flex-shrink:0}.theme-toggle:focus-visible{box-shadow:0 0 0 2px var(--primary-border)}.theme-toggle-track{position:relative;display:block;width:50px;height:28px;border:1px solid rgba(56,120,180,.25);border-radius:999px;overflow:hidden;background:linear-gradient(180deg,#8fd0ff,#c3e6ff);transition:background .35s ease,border-color .35s ease}.theme-toggle:hover .theme-toggle-track{border-color:#388bfda6}.theme-toggle.is-dark .theme-toggle-track{background:linear-gradient(180deg,#1b2a4a,#0c1730);border-color:#94a3b84d}.theme-toggle.is-dark:hover .theme-toggle-track{border-color:#7dd3fca6}.theme-toggle-stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#e2e8f0;opacity:0;transition:opacity .3s ease}.theme-toggle-stars .s1{left:8px;top:7px}.theme-toggle-stars .s2{left:17px;top:5px;width:2.5px;height:2.5px}.theme-toggle-stars .s3{left:6px;top:18px}.theme-toggle.is-dark .theme-toggle-stars i{opacity:.95}.theme-toggle.is-dark .theme-toggle-stars .s2{animation:starTwinkle 1.8s ease-in-out infinite}@keyframes starTwinkle{0%,to{opacity:.35}50%{opacity:1}}.theme-toggle-thumb{position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,#fffef5,#fbe7ad);box-shadow:0 1px 3px #0f172a4d,inset 0 -2px 3px #f59e0b33;transition:transform .32s cubic-bezier(.34,1.45,.64,1),background .3s ease,box-shadow .3s ease}.theme-toggle.is-dark .theme-toggle-thumb{transform:translate(24px);background:radial-gradient(circle at 35% 30%,#fff,#cbd5e1);box-shadow:0 1px 4px #00000080,inset 0 -2px 3px #64748b4d}.thumb-icon{width:14px;height:14px;animation:thumbIconPop .38s cubic-bezier(.34,1.56,.64,1)}.thumb-sun{color:#f59e0b}.thumb-moon{color:#475569}@keyframes thumbIconPop{0%{transform:scale(.35) rotate(-45deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@media(prefers-reduced-motion:reduce){.theme-toggle-thumb,.theme-toggle-track,.theme-toggle-stars i,.thumb-icon{transition:none;animation:none}}.header-user-btn{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--surface);padding:4px 12px 4px 4px;border-radius:999px;cursor:pointer;transition:background .15s,border-color .15s}.header-user-btn:hover{background:#f8fafc;border-color:#cbd5e1}.header-user-meta{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;text-align:left}.user-role{font-size:11px;color:var(--muted)}.header-user-caret{font-size:10px;color:var(--muted);margin-left:2px}.header-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:160px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-md);padding:6px;z-index:200}.header-dropdown button{display:block;width:100%;text-align:left;border:none;background:transparent;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:13px}.header-dropdown button:hover{background:#f1f5f9}.header-dropdown-user{min-width:220px;padding:4px}.header-dropdown-info{padding:10px 12px 12px;border-bottom:1px solid var(--line);margin-bottom:4px}.header-dropdown-info strong{display:block;font-size:14px;margin-bottom:2px}.header-dropdown-info span{display:block;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-dropdown-divider{height:1px;background:var(--line);margin:4px 8px}.header-dropdown-logout{color:#c62828;font-weight:500;border:none;background:transparent;cursor:pointer;font-size:13px}.header-dropdown-logout:hover{background:#ffebee}.header-dropdown button.header-dropdown-messages,.header-dropdown button.header-dropdown-logout{display:block;width:100%;text-align:left;padding:9px 12px;border-radius:8px}.header-dropdown-messages{position:relative;border:none;background:none;font-size:13px;color:var(--text);cursor:pointer;transition:background .15s}.header-dropdown-messages:hover{background:#f1f5f9}.header-dropdown-messages-label{font-weight:500}.header-dropdown-unread-dot{position:absolute;left:2px;top:50%;transform:translateY(-50%);display:inline-block;width:8px;height:8px;border-radius:50%;background:#e53935;box-shadow:0 0 0 2px #e5393533;pointer-events:none}.feedback-textarea{width:100%;margin-bottom:16px;resize:vertical}.feedback-inbox-modal{width:min(720px,94vw);max-height:88vh;display:flex;flex-direction:column}.feedback-inbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.feedback-inbox-tabs{display:flex;gap:4px;margin-bottom:12px;border-bottom:1px solid var(--line)}.feedback-inbox-tab{padding:10px 16px;border:none;background:none;font-size:14px;font-weight:500;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.feedback-inbox-tab:hover{color:var(--text)}.feedback-inbox-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.feedback-inbox-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px}.feedback-inbox-page-info{font-size:13px;color:var(--muted);min-width:100px;text-align:center}.feedback-inbox-read-at{display:inline-block;margin-top:8px;font-size:11px;color:var(--muted)}.feedback-inbox-meta{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.feedback-inbox-unread-pill{padding:2px 8px;border-radius:999px;background:#fff3e0;color:#e65100;font-size:12px}.feedback-inbox-list{flex:1;overflow-y:auto;max-height:52vh;display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.feedback-inbox-item{padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#fff}.feedback-inbox-item.unread{border-color:#90caf9;background:#f8fbff;cursor:pointer}.feedback-inbox-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:13px}.feedback-inbox-item-head strong{display:block;font-size:14px}.feedback-inbox-email{display:block;color:var(--muted);font-size:12px;margin-top:2px}.feedback-inbox-item-head time{color:var(--muted);font-size:12px;white-space:nowrap}.feedback-inbox-content{margin:0;font-size:14px;line-height:1.55;white-space:pre-wrap}.feedback-inbox-new{display:inline-block;margin-top:8px;padding:2px 8px;border-radius:4px;background:#e53935;color:#fff;font-size:11px;font-weight:600}.app-nav{display:flex;align-items:stretch;gap:4px;padding:0 32px;max-width:1600px;margin:0 auto;width:100%;overflow:visible;flex-wrap:wrap}.app-nav-link{display:flex;align-items:center;padding:14px 16px;text-decoration:none;color:var(--muted);font-size:14px;font-weight:500;font-family:inherit;line-height:inherit;white-space:nowrap;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;flex-shrink:0}.app-nav-link:hover{color:var(--text)}.app-nav-link.disabled{color:var(--muted);opacity:.45;cursor:not-allowed;pointer-events:none;border-bottom-color:transparent}.app-nav-link.disabled:hover{color:var(--muted)}.profile-required-banner{grid-column:1 / -1;margin-bottom:16px;padding:12px 16px;border-radius:8px;background:#fff8e6;border:1px solid #f0d78c;color:#7a5b00;font-size:14px;line-height:1.5}.app-nav-link.active,.app-nav-link-btn.active,.app-nav-category-btn.active{color:var(--text);font-weight:600;border-bottom-color:var(--primary)}.app-nav-category-btn.active{border-bottom-color:var(--cat-color, var(--primary))}.app-nav-link-btn{border:none;background:transparent;cursor:pointer}.app-nav-group{display:flex;align-items:stretch;gap:2px;margin:8px 4px;padding:3px;background:#f1f5f9;border-radius:10px;border:1px solid #e2e8f0;flex-shrink:0}.app-nav-cat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:72px;padding:8px 10px;border-radius:8px;text-decoration:none;color:var(--muted);transition:background .15s,color .15s}.app-nav-cat:hover{background:#ffffffb3;color:var(--text)}.app-nav-cat.active{background:#fff;color:var(--text);box-shadow:0 1px 3px #10182814}.app-nav-cat-char{font-size:16px;font-weight:800;color:var(--cat-color, var(--text));line-height:1}.app-nav-cat-sub{font-size:10px;color:var(--muted);white-space:nowrap}.app-nav-cat.active .app-nav-cat-sub{color:var(--text)}.app-nav-category{position:relative;flex-shrink:0}.app-nav-category.open{z-index:250}.app-nav-category-btn{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;cursor:pointer}.app-nav-category-label{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-nav-category-caret{font-size:10px;color:var(--muted)}.app-nav-category-menu{left:0;right:auto;min-width:240px;padding:6px;z-index:300}.header-dropdown .app-nav-category-item{display:flex;align-items:center;gap:10px}.app-nav-category-item{width:100%;text-align:left;border:none;background:transparent;padding:10px;border-radius:8px;cursor:pointer}.app-nav-category-item:hover{background:#f1f5f9}.app-nav-category-item.active{background:#eef6f1}.app-nav-category-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.app-nav-category-item-text{display:flex;flex-direction:column;gap:1px;line-height:1.2}.app-nav-category-item-text strong{font-size:14px;color:var(--text)}.app-nav-category-item-text span{font-size:11px;color:var(--muted)}.header-user-chip{display:flex;align-items:center;gap:10px;padding:4px 12px 4px 4px;border-radius:999px;border:1px solid var(--line);background:#f8fafc}.header-logout-btn{color:var(--muted)}.header-logout-btn:hover{color:#c62828;border-color:#ffcdd2;background:#ffebee}.read-only-banner{padding:10px 14px;margin-bottom:16px;background:#fff8e1;border:1px solid #ffe082;border-radius:8px;color:#8d6e00;font-size:13px}.basic-form-fieldset{border:none;padding:0;margin:0;min-width:0}.basic-form-fieldset:disabled{opacity:.85}.site-header{position:sticky;top:0;z-index:100;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm)}.header-top{display:flex;align-items:center;justify-content:space-between;padding:0 24px;min-height:56px;border-bottom:1px solid #f0f2f5}.header-nav{display:flex;align-items:stretch;gap:12px;padding:10px 24px 14px;max-width:1280px;margin:0 auto;width:100%}.nav-side-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:88px;padding:10px 16px;border-radius:10px;text-decoration:none;color:var(--muted);border:1px solid transparent;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;flex-shrink:0}.nav-side-tab:hover{background:#f8fafc;color:var(--text)}.nav-side-tab.active{background:#fff;color:var(--text);border-color:var(--line);box-shadow:var(--shadow-sm);font-weight:600}.nav-side-tab.active.nav-side-report{border-color:#c5cdd8;background:#f8fafc}.nav-side-icon{font-size:18px;line-height:1}.nav-side-label{font-size:13px;font-weight:600;white-space:nowrap}.nav-4m1e-rail{flex:1;display:flex;align-items:stretch;gap:6px;padding:5px;background:#f1f5f9;border-radius:14px;border:1px solid #e2e8f0;min-width:0}.nav-cat-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px 8px;border-radius:10px;text-decoration:none;color:var(--muted);border:1px solid transparent;border-top:3px solid transparent;transition:background .15s,color .15s,box-shadow .15s,border-color .15s;min-width:0}.nav-cat-tab:hover{background:#ffffffa6;color:var(--text)}.nav-cat-tab.active{background:#fff;color:var(--text);box-shadow:0 1px 4px #10182814;border-top-color:var(--cat-color, var(--primary));font-weight:600}.nav-cat-char{font-size:20px;font-weight:800;line-height:1.1;color:var(--cat-color, var(--text));letter-spacing:.02em}.nav-cat-tab.active .nav-cat-char{transform:scale(1.05)}.nav-cat-sub{font-size:10px;font-weight:500;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;line-height:1.2}.nav-cat-tab.active .nav-cat-sub{color:var(--text);font-weight:600}.top-nav-brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-mark{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;letter-spacing:-.5px}.brand-mark-lg{width:52px;height:52px;font-size:16px;border-radius:12px;margin-bottom:20px}.top-nav-links{display:none}.top-toolbar{display:flex;align-items:center;gap:8px;flex-shrink:0;padding-left:12px}.toolbar-btn{border:1px solid var(--line);background:var(--surface);padding:7px 12px;border-radius:8px;cursor:pointer;font-size:13px;color:var(--text);display:inline-flex;align-items:center;gap:6px;transition:background .15s}.toolbar-btn:hover{background:#f4f6f8}.toolbar-btn-ghost{border-color:transparent;color:var(--muted)}.toolbar-btn-ghost:hover{background:#f4f6f8;color:var(--text)}.toolbar-icon{font-size:14px}.toolbar-label{font-size:13px}.toolbar-btn-icon{padding:7px 10px}.user-chip{display:flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border:1px solid var(--line);border-radius:999px;background:#fafbfc}.user-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.user-name{font-size:13px;font-weight:600;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lang-menu{position:relative}.lang-dropdown{position:absolute;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:140px;box-shadow:var(--shadow-md);z-index:50;overflow:hidden}.lang-dropdown button{display:block;width:100%;text-align:left;border:none;background:none;padding:10px 14px;cursor:pointer;font-size:13px}.lang-dropdown button:hover{background:#f4f6f8}.page-container{flex:1;min-height:0;overflow-y:auto;padding:28px 32px 40px;max-width:1600px;margin:0 auto;width:100%}.page-container-wide{max-width:none}.page-header{margin-bottom:24px}.page-title{font-size:26px;font-weight:700;letter-spacing:-.02em;margin-bottom:6px}.page-subtitle{font-size:14px;color:var(--muted);max-width:640px}.page-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px 32px;box-shadow:var(--shadow-sm)}.card-section-title{font-size:15px;font-weight:700;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--line)}.basic-layout{display:flex;flex-direction:column;gap:20px}.basic-form-card{min-width:0}.basic-form-stack{display:flex;flex-direction:column;gap:16px;min-width:0}.contact-review-block+.contact-review-block{margin-top:20px;padding-top:16px;border-top:1px dashed var(--line)}.contact-review-grid{margin-top:8px}.basic-account-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:32px;row-gap:20px;align-items:start}.basic-account-left{display:flex;flex-direction:column;gap:12px;min-width:0}.basic-account-grid .basic-hkca-row{margin-top:0}.basic-account-grid .form-field.basic-logo-inline>label{display:block;max-width:160px;margin-left:auto;text-align:left}.basic-logo-inline .basic-logo-inline-row{display:flex;flex-direction:column;align-items:stretch;max-width:160px;margin-left:auto;gap:12px}.basic-logo-inline .basic-logo-dropzone-square{width:100%;max-width:160px;aspect-ratio:1 / 1;min-height:0;padding:10px;margin-bottom:0;border-radius:var(--radius);border-width:2px}.basic-logo-inline .logo-preview-large{max-height:130px;max-width:130px}.basic-logo-inline .logo-placeholder{gap:8px;font-size:13px;line-height:1.35}.basic-logo-inline .logo-placeholder-icon{font-size:48px}.basic-logo-inline .basic-logo-inline-side{width:100%;max-width:220px;display:flex;flex-direction:column;align-items:stretch;gap:6px}.basic-logo-inline .btn-secondary.btn-block{padding:10px 14px;font-size:14px;margin:0;width:100%}.basic-logo-inline .save-ok,.basic-logo-inline .upload-zone-status,.basic-logo-inline .upload-zone-error{font-size:13px;text-align:left}.basic-header-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}@media(max-width:900px){.basic-header-row{grid-template-columns:1fr}}.input-readonly{background:#f5f5f5;color:#666;cursor:not-allowed}.project-map{width:100%;border-radius:8px;border:1px solid #e0e0e0;overflow:hidden;z-index:0}.dashboard-map-card{margin-bottom:0}.dashboard-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;margin-bottom:20px}.dashboard-map-aside{display:flex;flex-direction:column;gap:16px}.dashboard-side-card{padding:20px}.dashboard-side-card .card-section-title{margin-bottom:12px;font-size:15px}.dashboard-mini-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.dashboard-mini-list li{display:flex;align-items:flex-start;gap:10px}.dashboard-mini-list li div{display:flex;flex-direction:column;gap:2px;min-width:0}.dashboard-mini-list li span{font-size:12px;color:var(--muted)}.dashboard-region-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.dashboard-region-list li{display:grid;gap:2px;font-size:13px}.dashboard-region-list li span{color:var(--muted);font-size:12px}.contact-us-modal .contact-us-desc{margin:0 0 16px;color:var(--muted);font-size:14px}.contact-us-channels{display:grid;gap:12px;margin-bottom:8px}.contact-us-card{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;color:inherit;background:#fafbfc;transition:border-color .15s,background .15s}.contact-us-card:hover{border-color:var(--primary);background:#fff}.contact-us-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.contact-us-whatsapp strong{color:#128c7e}.contact-us-card-static{cursor:default}.contact-us-card-static:hover{border-color:var(--line);background:#fafbfc}.input-readonly{background:#f3f4f6;color:var(--muted);cursor:not-allowed}.basic-account-grid .basic-hkca-row{margin-top:0;width:100%}.basic-hkca-pill{display:flex!important;flex-wrap:nowrap!important;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius, 10px);background:#fff;cursor:default;transition:border-color .15s ease,background-color .15s ease;width:100%;box-sizing:border-box;-webkit-user-select:none;user-select:none;white-space:nowrap}.basic-hkca-pill input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent, #2563eb);flex-shrink:0;margin-top:2px;cursor:default}.basic-hkca-pill-text{display:flex;flex-direction:column;gap:2px;line-height:1.3;min-width:0;flex:1 1 auto;white-space:normal}.basic-hkca-pill-text strong{font-size:13.5px;font-weight:600;color:var(--text);white-space:nowrap}.basic-hkca-pill-text small{font-size:12px;color:var(--muted)}.field-hint{margin:6px 0 0;font-size:12px;color:var(--muted)}.report-summary-dual{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.report-page{display:flex;flex-direction:column;gap:32px}.report-dash-section,.report-measures-section{min-width:0}.report-dash-section .card-section-title,.report-measures-section .card-section-title{margin-bottom:12px}.report-dash-boards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.report-dash-panel{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 1px 2px #0f172a0a;min-width:0}.report-dash-panel-declared{border-color:color-mix(in srgb,var(--declared) 22%,white)}.report-dash-panel-final{border-color:color-mix(in srgb,var(--final) 22%,white)}.report-dash-panel-header{padding:12px 16px;border-bottom:1px solid var(--line)}.report-dash-panel-declared .report-dash-panel-header{background:color-mix(in srgb,var(--declared) 5%,white);border-bottom-color:color-mix(in srgb,var(--declared) 12%,white)}.report-dash-panel-final .report-dash-panel-header{background:color-mix(in srgb,var(--final) 5%,white);border-bottom-color:color-mix(in srgb,var(--final) 12%,white)}.report-dash-panel-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;margin-bottom:6px}.report-dash-panel-declared .report-dash-panel-badge{color:var(--declared);background:color-mix(in srgb,var(--declared) 12%,white)}.report-dash-panel-final .report-dash-panel-badge{color:var(--final);background:color-mix(in srgb,var(--final) 12%,white)}.report-dash-panel-header p{margin:0;font-size:12px;line-height:1.5;color:#475569}.report-dash-panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.report-dash-kpi{background:#f8fafc;border:1px solid #e8edf3;border-radius:10px;padding:14px 12px;display:flex;flex-direction:column;gap:8px;min-height:100%}.report-dash-kpi-highlight{background:#fff}.report-dash-kpi-declared.report-dash-kpi-highlight{border-color:color-mix(in srgb,var(--declared) 28%,white);box-shadow:inset 3px 0 0 var(--declared)}.report-dash-kpi-final.report-dash-kpi-highlight{border-color:color-mix(in srgb,var(--final) 28%,white);box-shadow:inset 3px 0 0 var(--final)}.report-dash-kpi-label{margin:0;font-size:12px;font-weight:600;color:#64748b;line-height:1.4}.report-dash-kpi-value{font-size:26px;font-weight:700;line-height:1.1;letter-spacing:-.03em}.report-dash-kpi-declared .report-dash-kpi-value{color:var(--declared)}.report-dash-kpi-final .report-dash-kpi-value{color:var(--final)}.report-dash-kpi-final .report-score-empty{color:#94a3b8}.report-measures-legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0 0 14px;font-size:12px;line-height:1.5;color:var(--muted)}.report-measures-legend-item.declared:before,.report-measures-legend-item.final:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.report-measures-legend-item.declared:before{background:var(--declared)}.report-measures-legend-item.final:before{background:var(--final)}.report-dash-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.report-dash-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 18px 16px;box-shadow:0 1px 2px #0f172a0a;display:flex;flex-direction:column;gap:14px;min-height:100%}.report-dash-card-highlight{border-color:color-mix(in srgb,var(--final) 25%,white);box-shadow:0 1px 2px #0f172a0a,inset 3px 0 0 var(--final)}.report-dash-card-title{margin:0;font-size:13px;font-weight:600;color:#64748b;line-height:1.4}.report-dash-unit{margin-left:4px;font-size:12px;font-weight:600;color:var(--muted)}.report-dash-single-value{font-size:30px;font-weight:700;line-height:1.1;letter-spacing:-.03em;color:#0f172a}.report-table-panel{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 1px 2px #0f172a0a}.report-table-panel .table-wrap{overflow-x:auto}.report-table-panel .report-table{border:none;border-radius:0;table-layout:fixed;width:100%}.report-table-panel .report-table th,.report-table-panel .report-table td{vertical-align:middle}.report-th-score,.report-td-score{width:84px;min-width:84px;max-width:84px;text-align:center!important;padding-left:8px;padding-right:8px}.report-th-score{font-size:12px!important;font-weight:700;line-height:1.25;white-space:normal}.report-th-score.declared{background:color-mix(in srgb,var(--declared) 6%,white)!important;color:var(--declared)!important}.report-th-score.final{background:color-mix(in srgb,var(--final) 6%,white)!important;color:var(--final)!important}.report-col-score-divider{border-left:1px solid color-mix(in srgb,var(--final) 15%,white)}.report-th-kind{display:block;font-size:10px;font-weight:600;letter-spacing:.02em;opacity:.85;margin-bottom:2px;line-height:1.2}.report-td-score{text-align:center!important}.report-td-score .report-score-chip{margin:0 auto}.report-th-status,.report-td-status{width:108px;min-width:108px;text-align:center!important}.report-th-action,.report-td-action{width:92px;min-width:92px;text-align:center!important}.report-td-no{width:48px;min-width:48px;font-weight:600;color:#64748b;text-align:center!important}.report-table-panel .report-table th:first-child{width:48px;min-width:48px;text-align:center!important}.report-score-chip{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;padding:4px 10px;border-radius:8px;font-size:13px;font-weight:700;line-height:1.2}.report-score-chip.declared{background:color-mix(in srgb,var(--declared) 8%,white);color:var(--declared)}.report-score-chip.final{background:color-mix(in srgb,var(--final) 8%,white);color:var(--final)}.report-score-chip.final.pending{background:#f1f5f9;color:#94a3b8}.report-score-chip .report-score-empty{font-size:13px;font-weight:600;min-width:0}.report-score-empty{display:inline-block;min-width:1ch;font-size:26px;font-weight:600;line-height:1;letter-spacing:0;color:#94a3b8;text-align:center}.report-td-measure{min-width:200px;font-weight:500;word-break:break-word}.report-sort-btn{display:inline-flex;align-items:center;gap:4px;margin:0;padding:0;border:none;background:transparent;font:inherit;font-weight:inherit;color:inherit;cursor:pointer;text-align:inherit;max-width:100%}.report-sort-btn:hover,.report-sort-btn.active{color:#0f172a}.report-th-score .report-sort-btn:hover,.report-th-score .report-sort-btn.active{color:inherit;filter:brightness(.85)}.report-sort-btn-stack{flex-direction:column;align-items:center;gap:2px;width:100%}.report-sort-btn-stack .report-sort-btn-label{display:flex;flex-direction:column;align-items:center;line-height:1.25}.report-sort-btn-label{min-width:0}.report-sort-dir{flex-shrink:0;font-size:10px;line-height:1;opacity:.4}.report-sort-btn.active .report-sort-dir{opacity:1;color:#2563eb}.report-th-score .report-sort-btn.active .report-sort-dir{color:inherit;opacity:.9}.report-table-empty{text-align:center;color:var(--muted);padding:32px 16px!important}@media(max-width:960px){.report-dash-boards{grid-template-columns:1fr}.report-dash-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.report-dash-grid{grid-template-columns:1fr}.report-measures-legend{flex-direction:column;gap:6px}}.report-summary-block{border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:#fafbfc}.report-summary-heading{margin:0 0 12px;font-size:15px;font-weight:700}.report-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(max-width:960px){.dashboard-map-layout,.report-summary-dual{grid-template-columns:1fr}}.competition-dates-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:16px 0}.competition-dates-block h3{margin:0 0 10px;font-size:14px;font-weight:600}.competition-dates-actions{margin-bottom:12px}.competition-phase-current{margin:12px 0;font-size:14px;color:var(--muted)}@media(max-width:768px){.competition-dates-grid{grid-template-columns:1fr}}.basic-aside{display:flex;flex-direction:column;gap:16px}.logo-card{padding:24px}.logo-dropzone{border:2px dashed var(--line);border-radius:var(--radius);padding:24px;text-align:center;cursor:pointer;background:#fafbfc;margin-bottom:12px;transition:border-color .15s,background .15s;min-height:160px;display:flex;align-items:center;justify-content:center}.logo-dropzone:hover{border-color:#aab4c0;background:#f4f6f8}.logo-preview-large{max-width:100%;max-height:120px;object-fit:contain}.logo-placeholder{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--muted);font-size:13px}.logo-placeholder-icon{font-size:36px;opacity:.6}.tip-card{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 8%,white),#f8fafc);border:1px solid var(--primary-border);border-radius:var(--radius-lg);padding:20px}.tip-card-title{font-size:13px;font-weight:700;margin-bottom:12px;color:var(--primary-dark)}.tip-list{list-style:none;font-size:13px;color:var(--muted)}.tip-list li{padding:6px 0 6px 16px;position:relative}.tip-list li:before{content:"·";position:absolute;left:0;color:var(--primary);font-weight:700}.save-ok{color:var(--primary-dark);font-size:14px;font-weight:600}.workspace{display:flex;flex:1;min-height:0;width:100%;overflow:hidden;position:relative}.side-nav{position:fixed;top:var(--app-chrome, 154px);left:0;bottom:0;width:300px;background:var(--surface);border-right:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;transition:width .2s;z-index:40}.side-nav.collapsed{width:52px}.side-nav-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;border-bottom:1px solid var(--line);flex-shrink:0;background:var(--surface);z-index:2}.side-nav-title{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px;min-width:0;flex:1;line-height:1.3}.side-nav-cat{flex-shrink:0;min-width:28px;height:28px;padding:0 6px;border-radius:6px;color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;white-space:nowrap}.side-nav-title-text{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-nav-toggle{border:1px solid var(--line);background:#fafbfc;border-radius:6px;cursor:pointer;font-size:14px;padding:4px 8px;color:var(--muted)}.side-nav-search{padding:12px 16px;border-bottom:1px solid var(--line);flex-shrink:0;background:var(--surface);z-index:2}.side-nav-search input{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-size:13px;background:#fafbfc}.side-nav-search input:focus{outline:none;border-color:var(--primary);background:#fff}.measure-list{list-style:none;padding:8px;margin:0;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.side-nav-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.measure-list li button{width:100%;text-align:left;border:none;background:none;padding:10px 12px;cursor:pointer;font-size:13px;border-radius:8px;display:flex;align-items:flex-start;gap:10px;transition:background .12s;margin-bottom:2px}.measure-list li button:hover{background:#f4f6f8}.measure-list li button.active{background:color-mix(in srgb,var(--cat-accent, var(--primary)) 12%,white);font-weight:600}.measure-no{flex-shrink:0;width:26px;height:26px;border-radius:6px;background:#eef1f4;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;color:var(--muted)}.measure-list li button.active .measure-no{background:var(--cat-accent, var(--primary));color:#fff}.measure-label{line-height:1.4;flex:1}.measure-label-input{flex:1;font:inherit;color:inherit;line-height:1.4;padding:2px 8px;border:1px dashed var(--cat-accent, var(--primary));border-radius:6px;background:#fff;outline:none;min-width:0;transition:border .12s,box-shadow .12s}.measure-label-input::placeholder{color:var(--muted);opacity:.75}.measure-label-input:focus{border-style:solid;box-shadow:0 0 0 3px color-mix(in srgb,var(--cat-accent, var(--primary)) 18%,transparent)}.side-nav-empty{padding:20px;text-align:center;color:var(--muted);font-size:13px}.workspace-main{flex:1;min-height:0;min-width:0;margin-left:300px;padding:24px 28px 32px;overflow-y:auto;overflow-x:hidden;background:var(--bg);transition:margin-left .2s}.workspace:has(.side-nav.collapsed) .workspace-main{margin-left:52px}.category-banner{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-left-width:4px;border-radius:var(--radius);padding:16px 20px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.category-banner-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.category-banner-title{font-size:16px;font-weight:700}.category-banner-desc{font-size:13px;color:var(--muted);margin-top:2px}.category-banner-count{margin-left:auto;font-size:12px;font-weight:600;color:var(--muted);background:#f4f6f8;padding:6px 12px;border-radius:999px;white-space:nowrap}.form-actions-nav{display:flex;align-items:center;gap:10px;justify-content:flex-start;flex-wrap:nowrap}.nav-actions-right{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;flex:1 1 auto;min-width:0}.nav-status-group{display:inline-flex;align-items:center;gap:7px;margin-left:2px;font-size:11px;flex:1 1 220px;min-width:160px;flex-wrap:wrap;row-gap:4px}.nav-status-group:empty{display:none}.nav-status-group .submit-time-label{font-size:11px;white-space:nowrap}.nav-status-group .status-badge{padding:2px 8px;font-size:11px;border-radius:6px;white-space:nowrap}.nav-status-group .save-ok{font-size:11px;font-weight:600;white-space:normal;overflow-wrap:anywhere}.form-actions-main:empty{display:none}.form-actions-main{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-start}.btn-prev-category{display:inline-flex;align-items:center;gap:8px;background:var(--surface);color:var(--prev-accent, var(--primary));border:1px solid var(--prev-accent, var(--line));padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;font-family:inherit;transition:background .15s ease,border-color .15s ease;--prev-accent: #1e58a7}.btn-prev-category:hover{background:color-mix(in srgb,var(--prev-accent) 8%,var(--surface))}.btn-prev-category .btn-prev-target{font-weight:700}.btn-prev-category .btn-prev-arrow{transition:transform .15s ease}.btn-prev-category:hover .btn-prev-arrow{transform:translate(-3px)}.btn-next-category{display:inline-flex;align-items:center;gap:8px;background:var(--next-accent, var(--primary));color:#fff;border:none;padding:11px 22px;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;font-family:inherit;transition:background .15s ease,filter .15s ease;--next-accent: #1e58a7}.btn-next-category:hover{background:color-mix(in srgb,var(--next-accent) 85%,#000)}.btn-next-category .btn-next-target{font-weight:700}.btn-next-category .btn-next-arrow{transition:transform .15s ease}.btn-next-category:hover .btn-next-arrow{transform:translate(3px)}.form-actions-nav>.btn-prev-category,.form-actions-nav>.btn-next-measure,.form-actions-nav .nav-actions-right>.btn-next-category{flex:0 0 auto;width:118px;min-height:54px;justify-content:center;padding:8px 10px;font-size:13px;line-height:1.25;white-space:normal;text-align:center;overflow:visible}.form-actions-nav .nav-actions-right>.btn-secondary,.form-actions-nav .nav-actions-right>.btn-primary{flex:0 0 auto;width:104px;min-height:54px;justify-content:center;padding:8px 6px;font-size:14px;white-space:nowrap}.btn-prev-category .btn-nav-label,.btn-next-category .btn-nav-label,.btn-next-measure .btn-nav-label{min-width:0;white-space:normal;line-height:1.25}.btn-next-measure{display:inline-flex;flex-direction:column;align-items:center;gap:2px;background:var(--measure-accent, var(--primary));color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-family:inherit;transition:background .15s ease,filter .15s ease;--measure-accent: #1e58a7}.btn-next-measure:hover{background:color-mix(in srgb,var(--measure-accent) 85%,#000)}.btn-next-measure .btn-next-measure-arrow{transition:transform .15s ease}.btn-next-measure:hover .btn-next-measure-arrow{transform:translateY(3px)}@media(max-width:1100px){.form-actions-nav{flex-wrap:wrap}.form-actions-nav .nav-actions-right{flex:1 1 100%;flex-wrap:wrap}.form-actions-nav .nav-actions-right .nav-status-group{flex:1 1 100%;min-width:0}}@media(max-width:720px){.btn-prev-category .btn-prev-target,.btn-next-category .btn-next-target{display:none}}.measure-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px 32px 24px;box-shadow:var(--shadow-sm)}.measure-header{margin-bottom:28px}.measure-header-top{display:flex;gap:8px;margin-bottom:10px}.measure-code-pill,.measure-hkca-pill{font-size:11px;font-weight:700;padding:4px 10px;border-radius:6px;background:#f4f6f8;color:var(--muted);font-family:ui-monospace,monospace}.measure-header h2,.measure-title-wrap h2{font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.35;margin:0}.measure-title-wrap{margin-bottom:14px}.measure-title-row{display:inline-block;width:fit-content;max-width:100%;position:relative;vertical-align:top}.measure-title-row.has-desc-icon h2{padding-right:22px}.measure-desc-trigger{position:absolute;top:0;right:0;z-index:2;line-height:0}.measure-desc-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:3px;background:transparent;color:#a0aec0;cursor:help;vertical-align:top;transition:color .15s ease,background .15s ease}.measure-desc-icon:before{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px}.measure-desc-icon:hover,.measure-desc-icon:focus-visible{color:var(--accent, var(--primary));background:#1e58a714;outline:none}.measure-desc-popover{visibility:hidden;opacity:0;pointer-events:none;position:absolute;z-index:50;top:calc(100% + 4px);left:calc(100% + 2px);right:auto;width:fit-content;min-width:280px;max-width:min(640px,calc(100vw - 48px));max-height:none;overflow-y:visible;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 16px #0f172a1a,0 0 0 1px #0f172a0a;transition:opacity .15s ease,visibility .15s ease}.measure-desc-popover:before{content:"";position:absolute;top:-10px;left:0;width:24px;height:10px}.measure-desc-trigger:hover .measure-desc-popover,.measure-desc-trigger:focus-within .measure-desc-popover{visibility:visible;opacity:1;pointer-events:auto}.measure-desc-popover-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:8px}.measure-desc-popover-body{font-size:14px;line-height:1.65;color:var(--text-secondary);white-space:pre-line}.measure-description{display:none}.measure-description-text{margin:0;font-size:14px;line-height:1.6;color:var(--text-secondary);white-space:pre-line}.measure-description-expanded .measure-description-text{display:block;overflow:visible;white-space:pre-line}.measure-description-toggle{display:none}.measure-meta{display:flex;flex-wrap:wrap;gap:8px}.meta-badge{font-size:12px;padding:5px 12px;border-radius:999px;background:#fafbfc;border:1px solid var(--line)}.meta-badge.impact{border-color:#e8d5a8;background:#fffbf0}.meta-badge.quant{border-color:#a8d5d5;background:#f0faf9}.meta-badge.tokens{font-family:ui-monospace,monospace;font-size:11px}.empty-state{text-align:center;padding:80px 24px;color:var(--muted)}.empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.5}.form-grid{display:grid;gap:20px}.form-grid-2{grid-template-columns:1fr 1fr}.form-field-span-2,.form-field-full{grid-column:1 / -1}.form-field-narrow{max-width:280px;margin-bottom:24px}.form-grid-compact{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:flex-start}.form-field-number,.form-field-date,.form-field-select{flex:0 0 auto;width:auto;max-width:100%}.form-field-number label,.form-field-date label,.form-field-select label{white-space:nowrap}.form-field-number input[type=number]{width:160px;max-width:100%}.form-field-date input[type=date],.form-field-date .native-date{width:200px;max-width:100%}.form-field-select select{width:100%;min-width:180px}.form-field-text-block{flex:1 1 100%;max-width:560px}.form-field label{display:block;font-size:13px;font-weight:600;margin-bottom:8px;color:var(--text)}.form-field input,.form-field textarea,.form-field select{width:100%;border:1px solid var(--line);border-radius:8px;padding:11px 14px;font-size:14px;background:#fafbfc;transition:border-color .15s,background .15s}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:none;border-color:var(--primary);background:#fff}.form-field textarea{min-height:120px;resize:vertical}.password-input-wrap{position:relative}.password-input-wrap input{padding-right:44px}.password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:#8a97a3;cursor:pointer;transition:color .15s,background .15s}.password-toggle:hover{color:var(--primary);background:#1f8a6814}.password-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.form-error{color:#c62828;font-size:13px;margin-bottom:12px}.btn-primary{background:var(--primary);color:var(--primary-foreground);border:none;padding:11px 24px;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;transition:background .15s}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-secondary{background:#f1f5f9;color:var(--text);border:1px solid #cbd5e1;padding:11px 24px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;box-shadow:var(--shadow-sm);transition:background .15s,border-color .15s}.btn-secondary:hover{background:#e2e8f0;border-color:#94a3b8}.btn-secondary:disabled{opacity:.45;cursor:not-allowed}.btn-block{width:100%}.form-actions{display:flex;align-items:center;gap:14px}.form-actions-card{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.form-actions-sticky{position:sticky;bottom:0;background:linear-gradient(transparent 40%,var(--surface));padding:8px 0 4px;margin-top:8px;flex-direction:column;align-items:stretch;gap:12px}.form-actions-sticky.actions-card{background:var(--surface);border:1px solid color-mix(in srgb,var(--primary) 55%,#ffffff);border-radius:12px;padding:6px 12px 8px;gap:4px;margin-top:28px;box-shadow:var(--shadow-sm)}.actions-toggle-bar{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;align-self:flex-start;padding:0 4px 2px;background:none;border:none;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.2px;transition:color .15s ease}.actions-toggle-bar:hover{color:var(--primary-dark)}.actions-toggle-chevron{display:inline-block;font-size:15px;font-weight:700;line-height:1;color:var(--primary-dark);transition:transform .25s ease}.form-actions-sticky:not(.is-collapsed) .actions-toggle-chevron{transform:rotate(180deg)}.form-actions-sticky.actions-card.is-collapsed{padding-bottom:6px}.actions-panel-body{display:grid;grid-template-rows:1fr;min-height:0;opacity:1;visibility:visible;transition:grid-template-rows .28s ease,opacity .22s ease,visibility 0s linear 0s}.form-actions-sticky.is-collapsed{gap:0}.form-actions-sticky.is-collapsed .actions-panel-body{grid-template-rows:0fr;opacity:0;visibility:hidden;pointer-events:none;transition:grid-template-rows .28s ease,opacity .22s ease,visibility 0s linear .28s}.actions-panel-inner{overflow:hidden;min-height:0;display:flex;flex-direction:column;gap:6px}.site-activities-group{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.site-activity-toggle{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);cursor:pointer;font-size:13px;color:var(--text);transition:border-color .15s,background .15s,box-shadow .15s}.site-activity-toggle:hover:not(:disabled){border-color:var(--accent, #1e58a7)}.site-activity-toggle.active{border-color:var(--accent, #1e58a7);background:#eef5fc;color:#1e58a7}.site-activity-toggle:disabled{cursor:not-allowed;opacity:.6}.site-activity-toggle-box{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1.5px solid currentColor;border-radius:4px;flex-shrink:0}.site-activity-toggle.active .site-activity-toggle-box{background:var(--accent, #1e58a7);border-color:var(--accent, #1e58a7);color:#fff}.site-activity-toggle-label{-webkit-user-select:none;user-select:none}.site-activities-other{margin-top:10px}.site-activities-other.has-error input{border-color:#dc2626}.site-activities-other input{width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:6px;font-size:13px}.site-activities-other input:focus{outline:none;border-color:var(--accent, #1e58a7)}.native-date{position:relative;display:block}.native-date>input[type=text]{width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:6px;font-size:13px;background:var(--surface);cursor:pointer;color:var(--text)}.native-date>input[type=text]:disabled{opacity:.6;cursor:not-allowed}.native-date>input[type=text]:focus{outline:none;border-color:var(--accent, #1e58a7)}.native-date-panel{position:absolute;z-index:50;top:100%;left:0;margin-top:4px;width:280px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px #00000029;padding:10px 12px 8px;font-size:13px;color:var(--text);-webkit-user-select:none;user-select:none}.native-date-head{display:flex;align-items:center;justify-content:space-between;padding:2px 0 6px}.native-date-head button{border:0;background:transparent;font-size:18px;line-height:1;width:28px;height:28px;border-radius:6px;cursor:pointer;color:inherit}.native-date-head button:hover{background:#eef2f7}.native-date-title{font-weight:600;color:inherit}.native-date-weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:6px 0 4px;color:#64748b;font-size:11px;text-transform:uppercase}.native-date-wd{text-align:center}.native-date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.native-date-cell{border:0;background:transparent;padding:0;cursor:pointer;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;border-radius:6px;min-height:30px}.native-date-cell.out{color:#cbd5e1}.native-date-cell:disabled{cursor:not-allowed;opacity:.35}.native-date-d{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:13px;transition:background .12s,color .12s}.native-date-cell:not(:disabled):hover .native-date-d{background:#eef2f7}.native-date-d.today{outline:1px solid var(--accent, #1e58a7)}.native-date-d.selected{background:var(--accent, #1e58a7)!important;color:#fff!important}.native-date-foot{display:flex;justify-content:space-between;margin-top:6px;padding-top:6px;border-top:1px solid var(--line)}.native-date-foot button{border:0;background:transparent;cursor:pointer;color:#475569;padding:4px 8px;border-radius:6px;font-size:12px}.native-date-foot button:hover{background:#eef2f7;color:var(--accent, #1e58a7)}.native-month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:6px 0 4px}.native-month-cell{border:0;background:transparent;padding:8px 6px;cursor:pointer;border-radius:6px;font-size:12px;color:var(--text);transition:background .12s,color .12s}.native-month-cell:disabled{cursor:not-allowed;opacity:.35}.native-month-cell:not(:disabled):hover{background:#eef2f7}.native-month-cell.current{outline:1px solid var(--accent, #1e58a7)}.native-month-cell.selected{background:var(--accent, #1e58a7);color:#fff}.export-dropdown{position:relative;display:inline-block}.export-dropdown-menu{position:absolute;right:0;top:100%;margin-top:4px;min-width:160px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 12px #0000001f;z-index:20;display:flex;flex-direction:column;overflow:hidden}.export-dropdown-menu button{border:0;background:transparent;text-align:left;padding:8px 14px;font-size:13px;cursor:pointer}.export-dropdown-menu button:hover{background:var(--bg-soft, #f1f5f9)}.measure-note{background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius);padding:12px 16px;font-size:13px;margin-bottom:20px;color:#92400e}.measure-description-inline{background:#f8fafc;border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;margin-bottom:16px}.measure-description-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:8px}.measure-description-inline .measure-description-text{margin:0;padding-left:20px;font-size:14px;line-height:1.65;color:var(--text-secondary);white-space:pre-line;overflow-wrap:break-word;word-break:break-word;text-indent:0}.token-section{border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:20px;overflow:hidden;box-shadow:var(--shadow-sm)}.token-section-header{background:var(--accent, #ccc);color:#fff;padding:14px 20px;font-weight:700;font-size:14px;display:flex;justify-content:space-between;align-items:center}.token-section-header .badge{background:#ffffff38;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600}.token-section-body{padding:20px 24px}.token-section-disabled{opacity:.55}.token-section-disabled .token-section-body{pointer-events:none;-webkit-user-select:none;user-select:none}.token-section-disabled .token-section-header{opacity:1}.section-hint{font-size:13px;color:var(--muted);margin-bottom:16px;line-height:1.6}.evidence-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.evidence-table th,.evidence-table td{border-bottom:1px solid var(--line);padding:14px 16px;text-align:left;vertical-align:top}.evidence-table tr:last-child td{border-bottom:none}.evidence-table th{background:#f8fafc;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.evidence-table td:last-child{min-width:260px}.evidence-table tr.evidence-row.row-option-disabled td{color:var(--muted);opacity:.55;cursor:not-allowed;pointer-events:none}.kpi-tiers{margin-top:20px;padding:16px 20px;background:#f8fafc;border-radius:var(--radius);border:1px solid var(--line)}.kpi-tiers-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:10px}.kpi-tiers ul{list-style:none;font-size:13px}.kpi-tiers li{padding:6px 0;border-bottom:1px dashed #e8ecf0}.kpi-tiers li:last-child{border-bottom:none}.kpi-tiers li.active-tier{color:var(--accent, var(--primary));font-weight:600}.kpi-preview{margin-top:12px;font-size:14px;font-weight:600;color:var(--accent, var(--final))}.perf-kpi-input-block{margin-top:20px;display:inline-block;width:fit-content;max-width:100%}.perf-kpi-input-block .form-field-number{flex:unset;width:fit-content;max-width:100%}.perf-kpi-input-block .form-field-number label{white-space:nowrap}.perf-kpi-input-block .form-field-number input[type=number]{width:100%;min-width:0;max-width:100%}@media(max-width:720px){.perf-kpi-input-block .form-field-number label{white-space:normal}}.perf-kpi-evidence-block{margin-top:20px}.perf-kpi-evidence-block .section-hint{margin-top:0;margin-bottom:16px}.other-input{margin-top:10px;width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:13px}.field-hint{font-size:11px}.required-hint{color:#c62828;margin-top:6px}.token-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.token-summary-card{text-align:center;padding:20px 16px;background:#f8fafc;border-radius:var(--radius);border:1px solid var(--line)}.token-summary-total{background:color-mix(in srgb,var(--accent, var(--final)) 8%,white);border-color:color-mix(in srgb,var(--accent, var(--final)) 25%,white)}.token-summary-label{display:block;font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.token-summary strong{display:block;font-size:32px;font-weight:700;margin-top:6px;letter-spacing:-.02em}.token-summary small{font-size:13px;color:var(--muted)}.assessment-summary{margin-top:24px;padding:20px;background:#f8fafc;border:1px solid var(--line);border-radius:var(--radius)}.assessment-summary-title{font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px}.assessment-summary-scores{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.assessment-summary-fields{margin:18px 0 0;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:calc(var(--radius) - 2px)}.assessment-summary-row{display:flex;gap:12px;align-items:flex-start;padding:6px 0;border-bottom:1px dashed var(--line)}.assessment-summary-row:last-child{border-bottom:none}.assessment-summary-row dt{flex:0 0 160px;font-size:13px;font-weight:600;color:var(--muted)}.assessment-summary-row dd{flex:1 1 auto;font-size:14px;color:var(--text);word-break:break-word}.assessment-summary-lockwarn{margin:14px 0 0;padding:10px 14px;font-size:13px;font-weight:600;color:#b45309;background:color-mix(in srgb,#f59e0b 12%,white);border:1px solid color-mix(in srgb,#f59e0b 35%,white);border-radius:calc(var(--radius) - 2px)}.upload-zone-wrap{margin-top:4px}.upload-zone-label{font-size:13px;font-weight:600;margin-bottom:8px}.required-mark{color:#e53935;margin-left:2px}.upload-zone{border:2px dashed #cbd5e1;border-radius:var(--radius);padding:24px 16px;text-align:center;cursor:pointer;background:#fafbfc;transition:border-color .15s,background .15s}.upload-zone:hover,.upload-zone.drag-over{border-color:#94a3b8;background:#f1f5f9}.upload-zone.disabled{opacity:.55;cursor:not-allowed}.upload-zone-icon{color:#94a3b8;margin-bottom:8px;display:flex;justify-content:center}.upload-zone-text{font-size:13px;color:var(--text);margin-bottom:4px}.upload-zone-limit{font-size:11px;color:var(--muted)}.upload-zone-status{font-size:12px;color:var(--muted);margin-top:8px}.upload-zone-input{display:none}.upload-zone-error{font-size:12px;color:#c62828;margin-top:8px}.upload-file-list{list-style:none;margin-top:10px}.upload-file-item{display:flex;align-items:center;gap:8px;font-size:12px;padding:8px 0;border-bottom:1px solid #eef1f4;flex-wrap:wrap}.upload-file-item a{color:var(--primary);text-decoration:none;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-file-size{color:var(--muted);font-size:11px}.upload-file-remove{border:none;background:none;color:#c62828;cursor:pointer;font-size:18px;padding:0 4px}.report-card{padding:28px 32px}.report-card.report-page{gap:32px}.report-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}.report-kpi{text-align:center;padding:24px 16px;border-radius:var(--radius-lg);background:#f8fafc;border:1px solid var(--line)}.report-kpi strong{font-size:36px;font-weight:700;display:block;margin-top:8px;letter-spacing:-.02em}.report-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.report-table th,.report-table td{border-bottom:1px solid var(--line);padding:12px 16px;text-align:left}.report-table tr:last-child td{border-bottom:none}.report-table th{background:#f8fafc;font-weight:600;font-size:12px;color:var(--muted)}.report-status{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.report-status-pending_review{background:#fff8e1;color:#f57f17}.report-status-submitted{background:#e8f5e9;color:#2e7d32}.report-status-rejected{background:#ffebee;color:#c62828}.quant-cell{max-width:280px;font-size:12px;line-height:1.5}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-hero{background:#fff;color:var(--text);display:flex;align-items:center;justify-content:center;padding:48px;border-right:1px solid var(--border)}.login-hero-inner{max-width:480px;width:100%;display:flex;flex-direction:column;align-items:center}.login-hero-brand{margin-bottom:0;display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.login-hero-hkca-row{display:flex;justify-content:center}.login-hero-hkca-logo{display:block;height:140px;width:auto;object-fit:contain;flex-shrink:0}.login-hero-logos-row{--login-cs-h: 80px;display:flex;align-items:flex-end;gap:16px;justify-content:center;margin-bottom:0;position:relative}.login-hero-cs-logo{display:block;height:var(--login-cs-h);width:auto;flex-shrink:0;margin-right:24px}.login-hero-aecom-logo{display:block;height:16px;width:auto;flex-shrink:0;margin-left:24px;transform:translateY(-27px)}.login-hero-title-block{width:100%;text-align:center}.login-hero-title-line1,.login-hero-title-line2{font-size:28px;font-weight:700;letter-spacing:-.02em;color:var(--text);line-height:1.3;margin:0}.login-hero-title-line2{margin-bottom:6px}.login-hero-title-line1:last-of-type{margin-bottom:6px}.login-hero-powered{font-size:13px;color:var(--muted);margin:0 0 28px;line-height:1.6}.login-hero h1{font-size:28px;font-weight:700;margin-bottom:12px;letter-spacing:-.02em;color:var(--text)}.login-hero p{font-size:15px;color:var(--muted);line-height:1.6;margin-bottom:28px}.login-features{list-style:none;font-size:14px;color:var(--text);align-self:flex-start}.login-features li{padding:8px 0 8px 20px;position:relative}.login-features li:before{content:"✓";position:absolute;left:0;font-weight:700;color:var(--accent, var(--primary))}.login-panel{display:flex;align-items:center;justify-content:center;padding:48px;background:var(--bg)}.login-card{background:var(--surface);padding:40px;border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-md);border:1px solid var(--line)}.login-card h2{font-size:22px;font-weight:700;margin-bottom:6px}.login-card-sub{font-size:14px;color:var(--muted);margin-bottom:28px}.login-card .form-field{margin-bottom:18px}.demo-hints{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.demo-accounts{display:flex;flex-direction:column;gap:4px;margin-top:8px;font-family:ui-monospace,monospace;font-size:11px}.demo-account-btn{padding:0;border:none;background:none;text-align:left;font:inherit;color:inherit;cursor:pointer}.demo-account-btn:hover{color:var(--accent);text-decoration:underline}.admin-grid{display:grid;gap:4px}.admin-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.admin-swatch{width:14px;height:14px;border-radius:4px;flex-shrink:0}.admin-cat-label{flex:1;font-weight:600;font-size:14px}.admin-check{font-size:13px;display:flex;align-items:center;gap:8px;cursor:pointer}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--surface);border-radius:var(--radius-lg);padding:28px;width:440px;max-width:90vw;box-shadow:var(--shadow-md)}.modal-form{width:480px}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.modal-header h3{margin-bottom:4px;font-size:18px}.modal-subtitle{font-size:13px;color:var(--muted);line-height:1.5}.modal-close{border:none;background:transparent;color:var(--muted);font-size:24px;line-height:1;cursor:pointer;padding:0 4px;flex-shrink:0}.modal-close:hover{color:var(--text)}.modal-feedback{padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:16px}.modal-feedback-ok{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.modal-feedback-err{background:#ffebee;color:#c62828;border:1px solid #ef9a9a}.modal h3{margin-bottom:16px;font-size:18px}.modal-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-top:20px}.modal-actions-buttons{display:flex;justify-content:flex-end;gap:10px}.modal-actions-feedback{margin-bottom:0;width:100%}.user-mgmt-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}.user-mgmt-title{margin-bottom:4px}.user-mgmt-hint{margin:0}.user-mgmt-meta{font-size:13px;color:var(--muted);margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}.table-wrap{overflow-x:auto}.user-mgmt-table .empty-cell{text-align:center;color:var(--muted);padding:32px 16px}.user-email-cell{font-family:ui-monospace,monospace;font-size:13px}.user-mgmt-table th,.user-mgmt-table td{padding:8px 10px}.user-mgmt-table th:nth-child(n+5){text-align:right;white-space:nowrap}.user-mgmt-table td:nth-child(n+5){text-align:right;white-space:nowrap}.user-mgmt-table td.table-actions{justify-content:flex-end}.user-contractor-cell{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.role-badge-super_admin{background:#fef3c7;color:#92400e}.role-badge-admin{background:#dbeafe;color:#1e40af}.role-badge-user{background:#dcfce7;color:#166534}@media(max-width:1024px){.basic-layout{grid-template-columns:1fr}.basic-aside{flex-direction:row;flex-wrap:wrap}.logo-card,.tip-card{flex:1;min-width:260px}.nav-cat-sub{display:none}.nav-side-label{font-size:12px}.header-nav{gap:8px;padding:8px 16px 12px}.nav-side-tab{min-width:64px;padding:8px 10px}}@media(max-width:768px){.login-page{grid-template-columns:1fr}.login-hero{display:none}.form-grid-2,.token-summary{grid-template-columns:1fr}.assessment-summary-scores{grid-template-columns:repeat(2,1fr)}.assessment-summary-row{flex-direction:column;gap:2px}.assessment-summary-row dt{flex:none}.report-summary{grid-template-columns:1fr}.user-name,.toolbar-label{display:none}.page-container{padding:20px 32px}.measure-panel{padding:20px 16px}.header-top{padding:0 16px}.header-nav{flex-wrap:wrap}.nav-4m1e-rail{order:3;flex-basis:100%}.nav-cat-char{font-size:16px}}.readonly-banner{background:#fff8e1;border:1px solid #ffe082;border-radius:8px;padding:12px 16px;margin-bottom:16px;font-size:14px;color:#6d4c00}.upload-meta-row{display:flex;gap:12px;margin-bottom:10px;flex-wrap:wrap}.form-field-inline{flex:1;min-width:140px}.form-field-inline label{font-size:12px}.form-field-inline select{width:100%;padding:6px 8px;font-size:13px}.upload-file-meta{font-size:11px;color:#666;margin-left:6px}.status-badge.submitted{background:#e8f5e9;color:#2e7d32;padding:6px 12px;border-radius:6px;font-size:13px}.status-badge.pending{background:#fff8e1;color:#f57f17;padding:6px 12px;border-radius:6px;font-size:13px}.status-badge.rejected{background:#ffebee;color:#c62828;padding:6px 12px;border-radius:6px;font-size:13px}.pending-review-banner{background:#fff8e1;border-color:#ffe082}.pending-review-editable-banner{background:#e3f2fd;border-color:#90caf9;color:#1565c0}.pending-review-editable-banner p{margin:0 0 6px}.pending-review-editable-banner p:last-child{margin-bottom:0}.rejected-banner{background:#ffebee;border-color:#ef9a9a}.review-card-head{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-bottom:6px}.review-card-meta{color:var(--muted);font-size:13px}.review-card-title{margin-bottom:8px;font-weight:600}.review-card-scores{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--muted);margin-bottom:12px}.mod-request-panel{margin-top:16px;padding:16px;border:1px solid #e0e0e0;border-radius:8px;background:#fafafa}.mod-request-panel textarea{width:100%;margin:8px 0}.form-error-block{margin-top:12px}.validation-error-panel{background:#ffebee;border:1px solid #ef9a9a;border-radius:8px;padding:12px 16px;margin-top:12px}.validation-error-title{margin:0 0 8px;font-weight:600;color:#c62828;font-size:14px}.validation-error-list{margin:0;padding-left:20px;color:#c62828;font-size:13px}.validation-error-list li{margin-bottom:4px}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap}.admin-tabs-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.review-queue-refresh-btn{flex-shrink:0;margin-left:auto}.admin-tab{display:inline-flex;align-items:center;padding:8px 16px;border:1px solid #ddd;border-radius:8px;background:#fff;cursor:pointer;font-size:14px}.admin-tab.active{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.mod-review-card{border:1px solid #e8e8e8;border-radius:8px;padding:14px;margin-top:12px}.review-workspace{display:grid;grid-template-columns:minmax(280px,340px) 1fr;gap:16px;align-items:start;min-height:520px}.review-workspace--stacked{grid-template-columns:1fr;gap:12px;min-height:auto}.review-detail-pane--full{width:100%;min-width:0}.review-assign-board--stats{padding-bottom:14px}.review-stats-dimensions{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:4px}.review-stats-dimension{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px 18px 18px;display:flex;flex-direction:column;gap:14px}.review-stats-dimension-head{padding-bottom:10px;border-bottom:1px solid #e2e8f0}.review-stats-dimension-title{margin:0 0 4px;font-size:15px;font-weight:650;color:#0f172a}.review-stats-dimension-hint{margin:0;font-size:12px;color:#64748b;line-height:1.4}.review-stats-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.review-stats-metric{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px 12px 10px;display:flex;flex-direction:column;gap:4px;min-height:72px}.review-stats-metric.tone-warn{border-color:#fcd34d;background:#fffbeb}.review-stats-metric.tone-ok{border-color:#86efac;background:#f0fdf4}.review-stats-metric.tone-info{border-color:#93c5fd;background:#eff6ff}.review-stats-metric-value{font-size:22px;font-weight:700;color:#0f172a;letter-spacing:-.02em;line-height:1.15}.review-stats-metric-label{font-size:12px;color:#64748b;line-height:1.35}.review-stats-dimension-chart{display:flex;justify-content:center;padding-top:4px}.review-assign-wait-banner{margin-top:12px;padding:12px 14px;border-radius:8px;background:#fffbeb;border:1px solid #fde68a;font-size:13px;color:#92400e;line-height:1.5}.review-assign-wait-banner p{margin:0}.review-assign-wait-banner--info{background:#eff6ff;border-color:#93c5fd;color:#1e40af}.review-assign-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;align-items:start}.review-assign-chart-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px}.review-assign-chart-title{margin:0 0 10px;font-size:13px;font-weight:600;color:#334155}.donut-chart{display:flex;flex-direction:column;align-items:center;gap:10px}.donut-chart--empty{display:flex;align-items:center;justify-content:center;border:1px dashed #cbd5e1;border-radius:50%;color:#94a3b8;font-size:13px}.donut-chart-canvas{position:relative;display:flex;align-items:center;justify-content:center}.donut-chart-canvas svg{display:block;overflow:visible}.donut-chart-arc{cursor:pointer;transition:opacity .18s ease,transform .18s ease}.donut-chart-arc path:not(.donut-chart-hit){transition:fill .18s ease,stroke-width .18s ease,filter .18s ease,d .18s ease}.donut-chart-arc.is-dimmed{opacity:.38}.donut-chart-arc.is-active{opacity:1}.donut-chart-hit{pointer-events:all}.donut-chart-tooltip{position:absolute;left:50%;bottom:2px;transform:translate(-50%);display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:#0f172aeb;color:#fff;font-size:12px;line-height:1;white-space:nowrap;pointer-events:none;box-shadow:0 6px 16px #0f172a2e;z-index:2}.donut-chart-tooltip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.donut-chart-tooltip-label{color:#e2e8f0}.donut-chart-tooltip-value{font-weight:700}.donut-chart-tooltip-pct{color:#94a3b8;font-variant-numeric:tabular-nums}.donut-chart-center-top{font-size:8px;font-weight:600;fill:#64748b;text-transform:uppercase;letter-spacing:.06em}.donut-chart-center-num{font-size:18px;font-weight:700;fill:#0f172a;transition:fill .15s ease}.donut-chart-center-label{font-size:10px;fill:#64748b;text-transform:uppercase;letter-spacing:.04em}.donut-chart-legend{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:6px}.donut-chart-legend-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#475569;padding:4px 6px;margin:0 -6px;border-radius:8px;cursor:pointer;transition:background .15s ease,opacity .15s ease,color .15s ease}.donut-chart-legend-item:hover,.donut-chart-legend-item.is-active{background:#f1f5f9;color:#0f172a}.donut-chart-legend-item.is-dimmed{opacity:.45}.donut-chart-legend-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.donut-chart-legend-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.donut-chart-legend-value{font-weight:600;color:#0f172a;font-variant-numeric:tabular-nums}.review-assign-kpi-strip{display:flex;flex-direction:column;gap:10px;justify-content:center}.review-assign-kpi{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}.review-assign-kpi--warn{border-color:#fde68a;background:#fffbeb}.review-assign-kpi--ok{border-color:#bbf7d0;background:#f0fdf4}.review-assign-kpi-value{font-size:24px;font-weight:700;color:#0f172a;line-height:1.1}.review-assign-kpi-label{font-size:12px;color:#64748b}.review-task-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0f172a0a}.review-task-panel-head{padding:12px 20px 0;border-bottom:1px solid #f1f5f9}.review-task-panel-sub{margin:8px 0 0;padding-bottom:12px;font-size:12px;color:#94a3b8}.review-task-panel-hint{max-width:52rem;line-height:1.5;color:#64748b}.review-task-sort-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 20px;background:#fafbfc;border-bottom:1px solid #f1f5f9}.review-task-sort-label{font-size:12px;color:#94a3b8;margin-right:4px}.review-task-sort-chip{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;font-size:12px;color:#64748b;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.review-task-sort-chip:hover{border-color:#cbd5e1;color:#334155}.review-task-sort-chip.active{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8;font-weight:600}.review-task-sort-dir{font-size:11px;opacity:.85}.review-task-empty-state{padding:48px 20px;text-align:center;color:#94a3b8;font-size:14px}.review-task-groups{padding:8px 12px 16px;display:flex;flex-direction:column;gap:16px}.review-task-group{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.review-task-group-header{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:color-mix(in srgb,var(--contractor-accent, #64748b) 8%,#f8fafc);border:none;border-bottom:1px solid transparent;text-align:left;font:inherit;color:inherit;cursor:pointer}.review-task-group.is-expanded .review-task-group-header{border-bottom-color:#e2e8f0}.review-task-group-header:hover{background:color-mix(in srgb,var(--contractor-accent, #64748b) 14%,#f8fafc)}.review-task-group-toggle{width:16px;flex-shrink:0;font-size:10px;color:#64748b;text-align:center}.review-task-group-dot{width:10px;height:10px;border-radius:50%;background:var(--contractor-accent, #64748b);flex-shrink:0}.review-task-group-name{font-size:14px;font-weight:600;color:#0f172a;min-width:0;flex:1}.review-task-group-count{font-size:12px;color:#64748b;margin-left:auto}.review-task-group-release{font-size:12px;margin-left:8px}.review-task-group-list,.review-task-flat-list{display:flex;flex-direction:column}.review-task-flat-list{padding:8px 12px 16px;gap:8px}.review-task-item{display:flex;align-items:stretch;width:100%;text-align:left;border:none;background:#fff;cursor:pointer;font:inherit;color:inherit;position:relative;transition:background .12s}.review-task-group-list .review-task-item{border-bottom:1px solid #f1f5f9}.review-task-group-list .review-task-item:last-child{border-bottom:none}.review-task-flat-list .review-task-item{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.review-task-item:hover{background:#f8fafc}.review-task-item-accent{width:4px;flex-shrink:0;background:var(--contractor-accent, #cbd5e1)}.review-task-item-main{flex:1;min-width:0;padding:12px 14px}.review-task-item-top{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:4px}.review-task-item-contractor{font-size:12px;font-weight:600;color:var(--contractor-accent, #475569)}.review-task-item-title{margin:0 0 6px;font-size:14px;font-weight:500;color:#0f172a;line-height:1.4}.review-task-item-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:#64748b}.review-task-item-time{color:#94a3b8}.review-task-item-tail{display:flex;align-items:center;gap:8px;padding:0 14px;flex-shrink:0}.review-task-item-release{font-size:12px;color:#64748b;white-space:nowrap}.review-task-item-release:hover{color:#dc2626}.review-task-item-chevron{font-size:22px;line-height:1;color:#cbd5e1;font-weight:300}.review-task-item:hover .review-task-item-chevron{color:#94a3b8}.review-task-item-extra{flex-wrap:wrap;background:#fffdf8}.review-task-item-extra:hover{background:#fff8ec}.review-task-extra-head{border:0;background:none;padding:12px 14px;text-align:left;font:inherit;color:inherit;cursor:pointer;flex:1 1 auto;min-width:0}.review-queue-cat-extra{background:#fff3e0;color:#b26a00}.review-task-item-chevron.is-open{display:inline-block;color:#f59e0b;transform:rotate(90deg)}.review-task-extra-detail{flex:1 1 100%;padding:4px 14px 14px 22px;border-top:1px dashed #f0e3c8}.review-task-extra-desc{margin:8px 0;font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:#334155}.review-task-extra-files{display:flex;flex-wrap:wrap;gap:6px 16px;margin:6px 0 4px}.review-task-extra-actions{margin-top:10px;display:flex;flex-direction:column;gap:8px;max-width:520px}.review-task-status{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.review-task-status.status-submitted{background:#dcfce7;color:#166534}.review-task-status.status-rejected{background:#fee2e2;color:#991b1b}.review-task-status.status-revision_requested{background:#fef3c7;color:#92400e}.review-contractor-detail{background:#fff;border:1px solid #e2e8f0;border-radius:12px;border-top:3px solid var(--contractor-accent, #3b82f6);padding:16px 18px 20px}.review-contractor-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f1f5f9}.review-contractor-detail-status{margin:0 0 4px;font-size:13px;font-weight:600;color:#1d4ed8}.review-contractor-detail-counts{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:#64748b}.review-contractor-detail-counts span{background:#f1f5f9;border-radius:999px;padding:4px 10px}.review-detail-page-head{margin-bottom:16px}.review-back-link{display:inline-block;margin-bottom:8px;font-size:14px;color:#64748b;text-decoration:none}.review-back-link:hover{color:#1d4ed8}.review-detail-page-title{margin:0;font-size:22px}.sa-dashboard{display:flex;flex-direction:column;gap:20px}.sa-dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.sa-dashboard-head-text{max-width:640px}.sa-dashboard-title{margin:0 0 6px;font-size:20px;font-weight:700;color:#0f172a;letter-spacing:-.02em}.sa-dashboard-subtitle{margin:0;font-size:13px;line-height:1.5;color:#64748b}.sa-overview{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px 18px 18px;display:flex;flex-direction:column;gap:14px}.sa-overview-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.sa-overview-summary{display:flex;flex-wrap:wrap;gap:10px}.sa-overview-metric{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px 16px 10px;display:flex;flex-direction:column;gap:4px;min-width:120px}.sa-overview-metric-value{font-size:22px;font-weight:700;color:#0f172a;letter-spacing:-.02em;line-height:1.15}.sa-overview-metric-label{font-size:12px;color:#64748b;line-height:1.35}.sa-overview-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.sa-overview-chart-card{border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;padding:14px 16px 16px;display:flex;flex-direction:column;gap:10px;align-items:center}.sa-overview-chart-title{margin:0;align-self:stretch;font-size:13px;font-weight:700;color:#0f172a}.sa-overview-chart-card .donut-chart{width:100%}.sa-assign-board{display:flex;flex-direction:column;gap:12px}.sa-assign-board-head{display:flex;flex-direction:column;gap:4px}.sa-assign-board-title{margin:0;font-size:16px;font-weight:700;color:#0f172a}.sa-assign-board-hint{margin:0;font-size:13px;line-height:1.45;color:#64748b}.sa-reviewer-table-wrap{border:1px solid #e2e8f0;border-radius:12px;overflow:auto;background:#fff}.sa-reviewer-table{width:100%;border-collapse:collapse;font-size:13px}.sa-reviewer-table th,.sa-reviewer-table td{padding:12px 14px;text-align:left;border-bottom:1px solid #f1f5f9;white-space:nowrap}.sa-reviewer-table th{font-size:12px;font-weight:600;color:#64748b;background:#f8fafc}.sa-reviewer-sort-btn{display:inline-flex;align-items:center;gap:4px;margin:0;padding:0;border:none;background:transparent;font:inherit;font-weight:600;color:inherit;cursor:pointer;white-space:nowrap}.sa-reviewer-sort-btn:hover,.sa-reviewer-sort-btn.active{color:#0f172a}.sa-reviewer-sort-dir{font-size:11px;color:#2563eb}.sa-reviewer-table tbody tr{cursor:pointer;transition:background .12s}.sa-reviewer-table tbody tr:hover{background:#f8fafc}.sa-reviewer-table tbody tr.is-idle{color:#64748b}.sa-reviewer-table tbody tr:last-child td{border-bottom:none}.sa-reviewer-name{font-weight:600;color:#0f172a;white-space:normal!important;min-width:140px}.sa-reviewer-chevron{color:#94a3b8;font-size:18px;font-weight:500;text-align:right;width:28px}.sa-reviewer-empty{text-align:center!important;color:#94a3b8;padding:28px 14px!important}.sa-status-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.sa-status-pill.idle{background:#f1f5f9;color:#64748b}.sa-status-pill.busy{background:#dbeafe;color:#1d4ed8}.sa-reviewer-detail{display:flex;flex-direction:column;gap:16px}.sa-reviewer-detail-stats{display:flex;align-items:stretch;flex-wrap:wrap;gap:0;padding:16px 18px;background:#fff;border:1px solid #e2e8f0;border-radius:12px}.sa-reviewer-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.sa-reviewer-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #f1f5f9}.sa-reviewer-section-head h2{margin:0;font-size:14px;font-weight:700;color:#0f172a}.sa-reviewer-section-body{display:flex;flex-direction:column;gap:8px;padding:12px}.sa-assign-lane-count{flex-shrink:0;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:#e2e8f0;color:#0f172a;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.sa-assign-card{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-left:3px solid var(--contractor-accent, #94a3b8);border-radius:10px;background:#fff;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s}.sa-assign-card:hover{border-color:#cbd5e1;box-shadow:0 1px 2px #0f172a0f}.sa-assign-card-main{min-width:0;flex:1}.sa-assign-card-title{margin:0;font-size:13px;font-weight:600;color:#0f172a;line-height:1.35;word-break:break-word}.sa-assign-card-meta{margin:4px 0 0;font-size:11px;color:#64748b;line-height:1.35}.sa-assign-card-badge{flex-shrink:0;font-size:11px;font-weight:600;padding:3px 7px;border-radius:999px;white-space:nowrap}.sa-assign-card-badge.tone-warn{background:#fef3c7;color:#b45309}.sa-assign-card-badge.tone-info{background:#dbeafe;color:#1d4ed8}.sa-assign-card-badge.tone-ok{background:#dcfce7;color:#15803d}.sa-assign-empty{margin:0;padding:18px 8px;font-size:12px;color:#94a3b8;text-align:center}.review-super-panel{display:flex;flex-direction:column;gap:12px}.review-super-section-title{margin:0 0 10px;font-size:15px;font-weight:600;color:#0f172a}.review-super-reviewers{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px 16px}.review-super-reviewer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.review-super-reviewer-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:border-color .15s,background .15s,box-shadow .15s}.review-super-reviewer-card:hover{border-color:#cbd5e1;background:#fff}.review-super-reviewer-card.active{border-color:#93c5fd;background:#eff6ff;box-shadow:0 1px 3px #2563eb1f}.review-super-reviewer-name{font-size:14px;font-weight:600;color:#0f172a}.review-super-reviewer-stats{font-size:12px;color:#64748b}.review-super-reviewer-slots{font-size:11px;color:#94a3b8;margin-top:2px}.review-super-task-panel{margin-top:0}.review-super-filter-bar{display:flex;flex-wrap:wrap;gap:8px;padding:10px 20px;background:#fafbfc;border-bottom:1px solid #f1f5f9}.review-super-filter-count{margin-left:4px;opacity:.7}.review-super-assignee{font-size:12px;color:#1d4ed8;background:#dbeafe;border-radius:999px;padding:2px 8px;font-weight:500}.review-super-assignee--pool{color:#92400e;background:#fef3c7}.review-assign-board{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px 16px 16px}.review-assign-board-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.review-assign-board-toolbar--actions-only{justify-content:flex-end;align-items:center}.review-assign-board-title{margin:0 0 4px;font-size:15px;font-weight:600}.review-assign-board-stats{margin:0}.review-assign-board-actions{display:flex;gap:8px;flex-wrap:wrap}.review-assign-lanes{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px;max-height:200px}.review-assign-lane{flex:0 0 min(260px,85vw);min-width:200px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:8px}.review-assign-lane--pool{border-color:#cbd5e1}.review-assign-lane-title{margin:0;font-size:12px;font-weight:600;color:#475569;display:flex;flex-direction:column;gap:2px}.review-assign-lane-count{font-weight:500;color:#64748b}.review-assign-lane-cards{display:flex;flex-direction:column;gap:6px;overflow-y:auto;max-height:140px}.review-assign-lane-empty{margin:0;font-size:12px}.review-assign-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;text-align:left;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;background:#fafbfc;cursor:pointer;font:inherit}.review-assign-card:hover{border-color:#94a3b8;background:#fff}.review-assign-card.active{border-color:var(--final, #1a7f4b);background:#f0faf4;box-shadow:0 0 0 1px var(--final, #1a7f4b)}.review-assign-card-title{font-size:13px;font-weight:600;color:#1e293b;line-height:1.3}.review-assign-card-meta{font-size:11px;color:#64748b}.review-assign-release{font-size:11px;color:#dc2626;margin-top:2px}.review-assign-release:hover{text-decoration:underline}.review-assign-admin-chips{display:flex;flex-wrap:wrap;gap:8px}.review-assign-board--admin .review-assign-card{flex:0 1 auto;min-width:160px;max-width:280px}.review-measure-strip{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:10px 14px}.review-measure-strip-heading{margin:0 0 8px;font-size:13px;font-weight:600;color:#334155}.review-measure-strip-count{font-weight:500;color:#64748b;margin-left:6px}.review-measure-strip-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.review-measure-strip-tab{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;padding:6px 12px;border:1px solid #e2e8f0;border-radius:999px;background:#fafbfc;cursor:pointer;font:inherit;font-size:12px;max-width:280px}.review-measure-strip-tab.active{border-color:var(--final, #1a7f4b);background:#f0faf4}.review-measure-strip-tab-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-assign-modal{width:min(760px,94vw);max-height:70vh;overflow-y:auto}.review-assign-modal-list{list-style:none;margin:12px 0;padding:0;display:flex;flex-direction:column;gap:8px}.review-assign-modal-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer}.review-assign-modal-row.disabled{opacity:.5;cursor:not-allowed}.review-assign-modal-row-main{display:flex;flex-direction:column;gap:2px;font-size:13px}.review-assign-modal-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;margin-bottom:12px}.review-assign-modal-preview-title{margin:0;font-size:12px;font-weight:600}.review-assign-modal-preview ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.review-assign-modal-preview li{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.review-assign-modal-preview select{min-width:140px}.review-queue{background:#fff;border:1px solid #e8e8e8;border-radius:10px;padding:16px;max-height:calc(100vh - 220px);overflow:auto;position:sticky;top:16px}.review-queue-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:4px}.review-queue-head-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.btn-sm{font-size:12px;padding:4px 10px}.review-queue-more-hint{font-size:12px;color:var(--muted);margin-bottom:8px}.review-claim-badge{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:600}.review-claim-badge.mine{background:#e3f2fd;color:#1565c0}.review-claim-banner{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:13px}.review-claim-banner-ok{background:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9}.review-claim-banner-info{background:#fff3e0;color:#e65100;border:1px solid #ffcc80}.review-claim-banner-warn{background:#fff8e1;color:#f57f17;border:1px solid #ffe082}.review-claim-banner-lost{background:#fce4ec;color:#c62828;border:1px solid #f8bbd0}.review-claim-banner-title{font-weight:600;margin:0 0 6px}.review-queue-head h2{font-size:15px;font-weight:600;margin:0}.review-queue-count{font-size:12px;color:var(--muted)}.review-queue-hint{font-size:12px;margin-bottom:12px}.review-queue-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.review-queue-item{width:100%;text-align:left;border:1px solid #ececec;border-radius:8px;padding:12px;background:#fafafa;cursor:pointer;transition:border-color .15s,background .15s}.review-queue-item:hover{border-color:#ccc;background:#fff}.review-queue-item.active{border-color:#1a1a2e;background:#fff;box-shadow:0 0 0 1px #1a1a2e}.review-queue-item-top{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.review-queue-item-title{font-size:13px;font-weight:600;margin:0 0 4px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.review-queue-item-meta{font-size:12px;color:var(--muted);margin:0 0 6px}.review-queue-item-scores{display:flex;gap:10px;font-size:12px;font-weight:500;color:#333}.review-queue-item-time{display:block;margin-top:6px;font-size:11px;color:var(--muted)}.review-carbon-hint{margin-top:4px;font-size:12px}.btn-link{border:none;background:none;padding:0;color:var(--primary);font-size:12px;cursor:pointer;text-decoration:underline}.btn-link:hover{opacity:.85}.review-queue-claim-timer{display:block;margin-top:4px;font-size:11px;font-weight:600;color:var(--final);font-variant-numeric:tabular-nums}.review-queue-empty{padding:24px 0;text-align:center}.review-queue-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border, #e0e0e0)}.review-queue-page-info{font-size:12px;color:var(--muted);min-width:64px;text-align:center}.admin-tab-badge{display:inline-flex;min-width:18px;height:18px;align-items:center;justify-content:center;margin-left:6px;padding:0 5px;border-radius:9px;background:#e2e8f0;color:#475569;font-size:11px;font-weight:600}.admin-tab.active .admin-tab-badge{background:#ffffff40;color:inherit}.review-detail-pane{min-width:0}.review-detail-placeholder{background:#fff;border:1px dashed #ddd;border-radius:10px;padding:48px 24px;text-align:center;color:var(--muted)}.review-detail-empty{border-style:solid;border-color:#e8e8e8}.review-detail{background:#fff;border:1px solid #e8e8e8;border-radius:10px;overflow:visible}.review-detail-header{padding:20px 24px;border-left:4px solid var(--final);border-bottom:1px solid #eee;background:#fafafa}.review-detail-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;align-items:center}.review-queue-cat{font-size:12px;color:var(--muted)}.review-detail-title{font-size:18px;font-weight:600;margin:0 0 6px;line-height:1.35}.review-detail-sub{margin:0;font-size:13px;color:var(--muted)}.review-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 24px;border-bottom:1px solid #eee}.review-detail-grid .review-collapsible-section{padding:0;border-bottom:none}.review-section{padding:12px 24px;border-bottom:1px solid #eee}.review-collapsible-section{padding:12px 24px}.review-section-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#666;margin:0 0 12px}.review-dl{display:grid;gap:8px;margin:0}.review-dl>div{display:grid;grid-template-columns:100px 1fr;gap:8px;font-size:13px}.review-dl dt{color:var(--muted);margin:0}.review-dl dd{margin:0;font-weight:500}.review-validation-badge{display:inline-block;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:600;margin-bottom:10px}.review-validation-badge.pass{background:#e8f5e9;color:#2e7d32}.review-validation-badge.fail{background:#ffebee;color:#c62828}.review-validation-list{margin:0;padding-left:18px;font-size:13px;color:#c62828}.review-validation-list li{margin-bottom:4px}.review-score-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.review-score-card{background:#f5f5f5;border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:4px}.review-score-card span{font-size:12px;color:var(--muted)}.review-score-card strong{font-size:22px;font-weight:700}.review-score-card small{font-size:11px;color:var(--muted)}.review-score-card.highlight{background:#e8f5e9;border:1px solid #c8e6c9}.review-kpi-line{margin:12px 0 0;font-size:13px}.review-collapsible-panel{border:1px solid #e2e8f0;border-radius:10px;background:#fafbfc;overflow:hidden}.review-collapsible-panel-summary{display:list-item;padding:12px 16px;font-size:15px;font-weight:600;color:#1e293b;cursor:pointer;line-height:1.4;list-style-position:inside;-webkit-user-select:none;user-select:none}.review-collapsible-panel-summary::-webkit-details-marker{color:#64748b}.review-collapsible-panel[open] .review-collapsible-panel-summary{border-bottom:1px solid #e2e8f0}.review-collapsible-panel-body{padding:12px 16px 16px}.review-decl-grid{display:grid;grid-template-columns:1fr;gap:0;padding:0}.review-decl-block{padding:14px 0;border-bottom:1px solid #eef2f6}.review-decl-block:last-child{padding-bottom:0;border-bottom:none}.review-decl-grid h4{font-size:13px;margin:0 0 8px;font-weight:600}.review-check-list{margin:0;padding-left:18px;font-size:13px}.review-check-list li{margin-bottom:4px}.review-other-text{margin:8px 0 0;font-size:12px;color:var(--muted)}.review-evidence-table{font-size:13px;table-layout:auto;width:max-content;min-width:100%;overflow:visible;border:none;border-radius:0}.review-evidence-table-wrap{overflow-x:auto;overflow-y:visible;position:relative;max-width:100%;border:1px solid var(--line);border-radius:var(--radius);isolation:isolate}.review-evidence-table-wrap.has-check-col{--review-check-col-width: 88px;--review-action-col-width: 72px}.review-evidence-table-wrap:not(.has-check-col){--review-check-col-width: 0px;--review-action-col-width: 72px}.review-evidence-table .review-ev-col-sticky{position:sticky;z-index:4;background:#fff;background-clip:padding-box;box-shadow:-8px 0 12px -8px #0f172a2e}.review-evidence-table thead .review-ev-col-sticky{background:#f8fafc;z-index:5}.review-evidence-table .review-ev-col-sticky-check{right:0;min-width:var(--review-check-col-width);width:var(--review-check-col-width);max-width:var(--review-check-col-width)}.review-evidence-table .review-ev-col-sticky-action{right:var(--review-check-col-width);min-width:var(--review-action-col-width);width:var(--review-action-col-width);white-space:nowrap}.review-evidence-table .review-ev-col-nowrap{white-space:nowrap}.review-evidence-table .review-ev-col-filename{max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-evidence-table .review-ev-col-proof{min-width:180px;max-width:280px}.review-evidence-table .review-ev-col-ai{min-width:90px;text-align:center}.review-ai-tag{display:inline-block;padding:2px 10px;border-radius:10px;font-size:11px;font-weight:600;border:1px solid transparent;white-space:nowrap;cursor:default}button.review-ai-tag{cursor:pointer;transition:filter .15s ease}button.review-ai-tag:hover{filter:brightness(.95)}.review-ai-tag.pass{background:#4caf501a;color:#2e7d32;border-color:#4caf5066}.review-ai-tag.fail{background:#c6282814;color:#c62828;border-color:#c6282866}.review-ai-tag.unknown{background:#f1f5f9;color:#94a3b8;border-color:#e2e8f0}.review-ai-tag.start{background:#3b82f614;color:#2563eb;border-color:#3b82f666;cursor:pointer;transition:filter .15s ease}.review-ai-tag.start:hover{filter:brightness(.95)}.review-ai-tag.analyzing{display:inline-flex;align-items:center;gap:4px;background:#f1f5f9;color:#64748b;border-color:#e2e8f0;cursor:default}.review-ai-spinner{display:inline-block;width:10px;height:10px;border:1.5px solid #cbd5e1;border-top-color:#64748b;border-radius:50%;animation:ai-spin .6s linear infinite}@keyframes ai-spin{to{transform:rotate(360deg)}}.review-ai-tag.error{background:#c6282814;color:#c62828;border-color:#c6282866;cursor:pointer}.review-ai-tag.error:hover{filter:brightness(.95)}.review-ai-modal{max-width:560px}.review-ai-modal-body{padding:0 20px 8px;max-height:60vh;overflow-y:auto}.review-ai-modal-file{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #f1f5f9;margin-bottom:12px}.review-ai-modal-filename{font-size:13px;font-weight:600;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.review-ai-modal-row{display:flex;gap:8px;font-size:13px;margin-bottom:6px}.review-ai-modal-label{flex-shrink:0;color:#8a93a2;font-weight:500}.review-ai-modal-value{color:#2f3640;font-weight:600}.review-ai-modal-meta{font-size:10px;color:#9aa3b2;margin-bottom:12px}.review-ai-modal-section{margin-top:14px}.review-ai-modal-section-title{font-size:11px;font-weight:700;color:#5b6472;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.review-ai-warnings{list-style:none;margin:0;padding:0}.review-ai-warnings li{color:#c62828;font-size:12px;line-height:1.5;margin-top:4px;padding-left:16px;position:relative}.review-ai-warnings li:before{content:"!";position:absolute;left:0;top:1px;width:12px;height:12px;border-radius:50%;background:#c62828;color:#fff;font-size:9px;font-weight:700;text-align:center;line-height:12px}.review-ai-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 24px;margin:0}.review-ai-field{display:flex;gap:8px;font-size:12px;line-height:1.5;min-width:0}.review-ai-field dt{flex:0 0 auto;color:#8a93a2;font-weight:500;white-space:nowrap}.review-ai-field dd{margin:0;color:#2f3640;font-weight:600;word-break:break-word;min-width:0}.review-ai-notes{font-size:11px;color:#8a93a2;font-style:italic;line-height:1.5}.review-ev-measure-code{display:inline-block;font-family:ui-monospace,monospace;font-size:12px;font-weight:600;color:#1565c0;white-space:nowrap}.review-sort-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:0;font:inherit;font-weight:600;color:inherit;cursor:pointer;white-space:nowrap}.review-sort-btn:hover,.review-sort-btn.active{color:var(--final)}.review-sort-icon{font-size:10px;line-height:1;opacity:.45}.review-sort-btn.active .review-sort-icon{opacity:1}.review-file-link{color:var(--final);font-weight:500;text-decoration:none}.review-file-link:hover{text-decoration:underline}.review-result-meta{margin-bottom:14px}.review-result-note-block{margin-top:14px}.review-result-note-block h4{margin:0 0 8px;font-size:14px;font-weight:600;color:#0f172a}.review-result-note-text{margin:0;padding:12px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;line-height:1.55;color:#334155;white-space:pre-wrap}.review-decision-section{padding:12px 24px 20px;background:#f8f9fa;border-top:2px solid #1a1a2e;border-bottom:none}.review-decision-section .review-collapsible-panel{background:#fff;border-color:#cbd5e1}.validation-warning-list{margin:8px 0 0;padding-left:20px;color:#e65100;font-size:13px}.revision-banner{background:#fff3e0;border-color:#ffcc80}.revision-file-group{margin:10px 0;padding:10px 12px;border-radius:6px;font-size:13px}.revision-file-group-accepted{background:#e8f5e9;border:1px solid #a5d6a7}.revision-file-group-rejected{background:#ffebee;border:1px solid #ef9a9a}.revision-file-group-title{margin:0 0 6px;font-weight:600}.revision-file-list{list-style:none;margin:0;padding:0}.revision-file-list li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:4px 0}.revision-file-name{font-weight:500}.revision-file-context{color:var(--muted);font-size:12px}.revision-file-note{color:#c62828;font-size:12px}.upload-file-badge{font-size:11px;padding:1px 6px;border-radius:4px;font-weight:600}.badge-accepted{background:#c8e6c9;color:#1b5e20}.badge-rejected{background:#ffcdd2;color:#b71c1c}.upload-file-item.file-accepted{background:#f1f8e9;border-color:#c5e1a5}.upload-file-item.file-rejected{background:#fff5f5;border-color:#ef9a9a}.upload-file-review-note{font-size:11px;color:#c62828;margin-left:4px}.upload-zone-ai-status{color:var(--primary);font-weight:500}.upload-file-ai-warnings{list-style:none;margin:4px 0 0;padding:0;width:100%}.upload-file-ai-info{margin-top:4px;padding:6px 10px;background:#f0f7ff;border-left:3px solid #2196f3;border-radius:3px;width:100%;box-sizing:border-box}.upload-file-ai-info .ai-info-type{display:inline-block;font-size:12px;font-weight:600;color:#1565c0;margin-bottom:3px}.upload-file-ai-info .ai-info-fields{list-style:none;margin:0;padding:0}.upload-file-ai-info .ai-info-fields li{font-size:12px;line-height:1.5;color:#424242}.upload-file-ai-info .ai-info-key{color:#757575;font-weight:500}.upload-file-ai-info .ai-info-notes{font-size:11px;color:#757575;margin-top:3px;font-style:italic}.upload-file-ai-warnings li{color:#c62828;font-size:12px;line-height:1.45;margin-top:3px;padding-left:14px;position:relative}.upload-file-ai-warnings li:before{content:"!";position:absolute;left:0;top:0;width:11px;height:11px;border-radius:50%;background:#c62828;color:#fff;font-size:9px;font-weight:700;text-align:center;line-height:11px;margin-top:2px}.upload-file-ai-analyzing-tag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:10px;background:#69d84f1f;color:var(--primary);font-size:10px;border:1px solid rgba(105,216,79,.4)}.upload-file-ai-skipped-tag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:10px;background:#f1f5f9;color:#94a3b8;font-size:10px;border:1px solid #e2e8f0}.upload-file-ai-passed-toggle{display:inline-flex;align-items:center;gap:4px;margin:2px 0 0 6px;padding:1px 8px;border-radius:10px;background:#4caf501a;color:#2e7d32;font-size:10px;border:1px solid rgba(76,175,80,.4);cursor:pointer;align-self:flex-start;transition:background .15s ease}.upload-file-ai-passed-toggle:hover{background:#4caf502e}.upload-file-ai-passed-toggle .ai-passed-chevron{transition:transform .15s ease}.upload-file-ai-passed-toggle.expanded .ai-passed-chevron{transform:rotate(90deg)}.upload-file-ai-passed-toggle.issue{background:#c6282814;color:#c62828;border-color:#c6282866}.upload-file-ai-passed-toggle.issue:hover{background:#c6282826}.upload-file-ai-info.passed{background:#f1f8e9;border-left-color:#4caf50}.upload-file-ai-info.passed .ai-info-type{color:#2e7d32}.upload-zone-locked-hint{font-size:12px;color:#666;margin-bottom:8px;padding:6px 10px;background:#f5f5f5;border-radius:4px}.option-locked-badge{margin-left:8px;font-size:11px;color:#1b5e20;background:#c8e6c9;padding:1px 6px;border-radius:4px}.review-records-list{display:flex;flex-direction:column;gap:16px}.review-record-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px 20px;border-left:4px solid #90a4ae}.review-record-card.action-approve{border-left-color:#2e7d32}.review-record-card.action-reject{border-left-color:#c62828}.review-record-card.action-request_revision{border-left-color:#ef6c00}.review-record-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.review-record-badges{display:flex;gap:8px;align-items:center}.review-action-badge{font-size:12px;font-weight:600;padding:2px 8px;border-radius:4px}.review-action-badge.action-approve{background:#e8f5e9;color:#1b5e20}.review-action-badge.action-reject{background:#ffebee;color:#b71c1c}.review-action-badge.action-request_revision{background:#fff3e0;color:#e65100}.review-record-time{font-size:12px;color:var(--muted)}.review-record-title{margin:0 0 4px;font-size:16px}.review-record-meta{margin:0 0 8px;font-size:13px;color:var(--muted)}.review-record-scores{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;margin-bottom:8px}.review-record-note{margin:6px 0;font-size:13px}.review-record-evidence-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:10px}.review-record-evidence-table th,.review-record-evidence-table td{border:1px solid #e8e8e8;padding:6px 10px;text-align:left}.review-record-evidence-table th{background:#fafafa}.review-ev-token{display:inline-block;font-size:11px;color:#666;margin-right:6px}.review-ev-note{display:block;font-size:11px;color:#c62828;margin-top:2px}.review-record-fix-keys{margin-top:10px;padding:10px 12px;background:#fff8e1;border:1px solid #ffe082;border-radius:6px;font-size:13px}.review-record-fix-title{margin:0 0 4px;font-weight:600;color:#e65100}.review-fix-list{margin:8px 0 0;padding-left:20px}.review-fix-list li{margin:4px 0}.audit-filter-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.review-audit-section{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px 20px 20px}.review-audit-section-head{margin-bottom:14px}.review-audit-section-title{margin:0 0 4px;font-size:16px;font-weight:650;color:#0f172a}.review-audit-section-hint{margin:0;font-size:13px;color:#64748b;line-height:1.45}.audit-filter-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid #ddd;border-radius:6px;background:#fff;font-size:13px;cursor:pointer}.audit-filter-tab.active{font-weight:600;border-color:#333;background:#f5f5f5}.audit-filter-tab.action-approve.active{border-color:#2e7d32;background:#e8f5e9;color:#1b5e20}.audit-filter-tab.action-request_revision.active{border-color:#ef6c00;background:#fff3e0;color:#e65100}.audit-filter-tab.action-reject.active{border-color:#c62828;background:#ffebee;color:#b71c1c}.audit-filter-count{font-size:11px;padding:1px 6px;border-radius:10px;background:#00000014}.competition-phase-banner{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:10px 32px;font-size:13px;border-bottom:1px solid #e0e0e0;max-width:1600px;margin:0 auto;width:100%}.competition-phase-banner.phase-submission{background:#e8f5e9;color:#1b5e20}.competition-phase-banner.phase-review{background:#e3f2fd;color:#0d47a1}.competition-phase-note{opacity:.85}.project-switch-bar{display:flex;align-items:center;gap:10px;padding:8px 32px;position:relative;z-index:50;font-size:13px;border-bottom:1px solid #e0e0e0;background:#fff8e1;color:#5d4037;max-width:1600px;margin:0 auto;width:100%}.project-switch-label{font-weight:600}.project-switch-group{position:relative}.project-switch-btn{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;background:#fff;border:1px solid #d7ccc8;border-radius:8px;color:#5d4037;cursor:pointer;font-size:13px;line-height:1.3;max-width:520px}.project-switch-btn:hover{border-color:#a1887f;background:#fffde7}.project-switch-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:360px}.project-switch-caret{font-size:10px;opacity:.75}.project-switch-menu{left:0;right:auto;min-width:280px;max-width:520px;max-height:360px;overflow-y:auto}.project-switch-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:9px 14px;background:transparent;border:0;border-radius:6px;text-align:left;cursor:pointer;color:#37474f;font-size:13px}.project-switch-item:hover{background:#f5f5f5}.project-switch-item.active{background:#fff8e1;color:#5d4037;font-weight:600}.project-switch-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.project-role-tag{display:inline-block;padding:2px 8px;font-size:11px;font-weight:600;border-radius:999px;line-height:1.4;flex-shrink:0}.measure-progress-bar{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.measure-progress-text{font-size:13px;font-weight:600;color:#5d4037;white-space:nowrap}.measure-progress-track{width:120px;height:8px;background:#e0e0e0;border-radius:999px;overflow:hidden}.measure-progress-fill{height:100%;background:linear-gradient(90deg,#66bb6a,#43a047);border-radius:999px;transition:width .3s ease}.measure-progress-pct{font-size:13px;font-weight:600;color:#2e7d32;white-space:nowrap;min-width:36px}.project-role-prime{background:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9}.project-role-jv{background:#e3f2fd;color:#1565c0;border:1px solid #bbdefb}.user-badge{display:inline-block;padding:3px 9px;font-size:12px;font-weight:600;border-radius:999px;line-height:1.4}.user-badge-hkca{background:#fff3e0;color:#e65100;border:1px solid #ffe0b2}.user-badge-2025{background:#e8f5e9;color:#1b5e20;border:1px solid #c8e6c9}.user-sort-btn{display:inline-flex;align-items:center;gap:5px;padding:2px 4px;border:none;border-radius:6px;background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer;transition:color .15s,background .15s}.user-sort-btn:hover{color:var(--primary);background:#1f8a6814}.user-sort-arrow{font-size:11px;opacity:.35;line-height:1}.user-sort-arrow.active{opacity:1;color:var(--primary)}@media(max-width:720px){.project-switch-bar{padding:8px 16px;flex-wrap:wrap}.app-header-bar{padding:0 16px}.competition-phase-banner{padding:10px 16px}.project-switch-name{max-width:180px}}.review-warning-list{margin:8px 0 0;padding-left:18px;color:#e65100;font-size:13px}.review-score-adjust{margin:12px 0;padding:12px;background:#fff;border:1px solid #e0e0e0;border-radius:8px}.review-score-adjust h4{margin:0 0 10px;font-size:14px}.review-score-adjust-grid{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:12px}.review-carbon-auto{margin-top:16px;padding-top:16px;border-top:1px solid var(--line, #e8e8e8)}.review-carbon-auto-header{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.review-carbon-auto-header label{font-size:13px;font-weight:600;margin:0}.review-carbon-auto-value{font-size:20px;font-variant-numeric:tabular-nums;color:var(--final, #1a7f4b)}.review-carbon-breakdown-panel{margin-top:10px;padding:10px 12px;background:#f8faf9;border:1px solid #dce8e2;border-radius:8px;font-size:12px;line-height:1.55;color:#334155}.review-carbon-breakdown-panel summary{display:list-item;font-size:12px;font-weight:600;color:var(--muted, #64748b);cursor:pointer;margin:0 0 8px;line-height:1.4}.review-carbon-breakdown-panel[open] summary{margin-bottom:8px}.review-carbon-breakdown-panel .review-carbon-hint{margin:0 0 8px;font-size:11px;line-height:1.5}.review-carbon-breakdown-panel .review-carbon-formula{margin:0 0 8px;font-size:12px;line-height:1.5}.review-carbon-breakdown-panel .review-carbon-formula span{font-size:11px;margin-bottom:2px}.review-carbon-breakdown-panel .review-carbon-steps-title{margin:0 0 4px;font-size:11px}.review-carbon-breakdown-panel .review-carbon-steps{margin:0;padding-left:18px;font-size:12px;line-height:1.55}.review-carbon-breakdown-panel .review-carbon-steps li+li{margin-top:2px}.review-carbon-breakdown{margin-top:12px;padding:12px 14px;background:#f8faf9;border:1px solid #dce8e2;border-radius:8px;font-size:13px}.review-carbon-formula{margin:0 0 10px;line-height:1.5}.review-carbon-formula span{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:4px}.review-carbon-steps-title{margin:0 0 6px;font-size:12px;font-weight:600;color:var(--muted)}.review-carbon-steps{margin:0;padding-left:20px;line-height:1.6}.review-carbon-steps li+li{margin-top:4px}.evidence-check-btns{display:flex;gap:6px}.evidence-check-btn{width:32px;height:32px;border:1px solid #ccc;border-radius:6px;background:#fff;cursor:pointer;font-size:16px;line-height:1}.evidence-check-btn.accept.active{background:#e8f5e9;border-color:#2e7d32;color:#2e7d32}.evidence-check-btn.reject.active{background:#ffebee;border-color:#c62828;color:#c62828}.evidence-rejected td,.evidence-rejected td.review-ev-col-sticky{background:#fff8f8}.status-badge.revision{background:#fff3e0;color:#e65100}@media(max-width:960px){.review-workspace{grid-template-columns:1fr}.review-queue{max-height:280px;position:static}.review-detail-grid,.review-decl-grid,.review-score-cards{grid-template-columns:1fr}}.dashboard-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.dashboard-kpi-card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 1px 4px #0000000f;display:flex;flex-direction:column;gap:4px}.dashboard-kpi-card span{font-size:13px;color:#666}.dashboard-kpi-card strong{font-size:28px}.dashboard-kpi-card.highlight{border-left:4px solid var(--final)}.analytics-page{padding-bottom:24px}.analytics-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}.hud-filter{display:flex;flex-direction:column;gap:4px;min-width:180px;flex:1 1 180px}.hud-filter>span{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.hud-filter select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:8px 32px 8px 12px;font-size:13px;color:var(--text);background-color:var(--surface);border:1px solid #bcd9e8;border-radius:4px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%234a7e96' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:border-color .2s ease,box-shadow .2s ease}.hud-filter select:hover{border-color:#2fd8ff}.hud-filter select:focus{outline:none;border-color:#2fd8ff;box-shadow:0 0 0 3px #2fd8ff2e}.analytics-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}.analytics-kpi-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:11px 14px 12px;background:linear-gradient(135deg,#f4fafe,#eaf3fa);border:1px solid #c3deee;border-radius:6px;overflow:hidden;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}.analytics-kpi-card:after{content:"";position:absolute;top:0;bottom:0;left:-80%;width:55%;background:linear-gradient(90deg,transparent,rgba(47,216,255,.22),transparent);pointer-events:none;transition:left .55s ease}.analytics-kpi-card:hover{border-color:#2fd8ff;box-shadow:0 0 0 1px #2fd8ff59,0 6px 16px #2fd8ff29;transform:translateY(-2px)}.analytics-kpi-card:hover:after{left:130%}.analytics-kpi-head{display:flex;align-items:baseline;gap:5px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#2a6a8a}.analytics-kpi-head em{font-style:normal;color:#177fa8}.analytics-kpi-head span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-kpi-body{display:flex;align-items:center;gap:12px}.analytics-kpi-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;color:#1093b8;background:radial-gradient(circle,#2fd8ff1a,#2fd8ff00 70%);box-shadow:inset 0 0 0 1px #1093b859}.analytics-kpi-icon svg{width:40px;height:40px}.analytics-kpi-text{display:flex;flex-direction:column;gap:1px;min-width:0}.analytics-kpi-text strong{font-size:30px;font-weight:700;line-height:1.1;color:#0b2c42;font-variant-numeric:tabular-nums}.analytics-kpi-label{font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-kpi-delta{font-size:10.5px;font-weight:600;letter-spacing:.02em}.analytics-kpi-delta.is-up{color:#13a573}.analytics-kpi-delta.is-down{color:#d9534f}.analytics-board{display:grid;grid-template-columns:1.05fr 1.45fr 1.15fr;grid-template-rows:auto auto;gap:14px}.hud-panel{position:relative;background:var(--surface);border:1px solid #c9dfed;border-radius:8px;padding:14px 16px 16px;box-shadow:0 1px 3px #0b3c5a0d;min-width:0}.hud-panel:before{content:"";position:absolute;top:0;left:12px;right:12px;height:2px;background:linear-gradient(90deg,transparent,#2fd8ff 30%,#ffb020 70%,transparent);opacity:.55}.hud-panel--map{grid-row:span 2}.hud-panel-title{display:flex;align-items:center;gap:6px;margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#0e4a68}.hud-panel-title:before{content:"";width:6px;height:6px;background:#2fd8ff;border-radius:1px;box-shadow:0 0 6px #2fd8ffb3}.trophy-glyph{font-size:14px;line-height:1}.hud-chart{position:relative}.hud-gridline{stroke:#0d4a681f;stroke-width:1}.hud-axis-label{fill:#7490a0;font-size:10px}.hud-x-label{fill:#5e7c8c;font-size:10.5px;font-weight:600}.hud-y-caption{position:absolute;top:-2px;left:0;font-size:10px;color:var(--muted)}.hud-bar-legend{position:absolute;top:-2px;right:0;display:flex;gap:12px;font-size:10.5px;color:var(--muted)}.hud-bar-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:4px;vertical-align:-1px}.hud-bar{transform-box:fill-box;transform-origin:center bottom;animation:hudBarGrow .7s cubic-bezier(.22,1,.36,1) backwards}.hud-bar--perf{animation-name:hudBarGrowAlt}@keyframes hudBarGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes hudBarGrowAlt{0%{transform:scaleY(0)}60%{transform:scaleY(1.08)}to{transform:scaleY(1)}}.hud-bar-group{transition:opacity .2s ease}.hud-bar-group:hover .hud-bar{filter:brightness(1.12) drop-shadow(0 0 5px rgba(47,216,255,.5))}.hud-bar-group.is-dimmed{opacity:.35}.hud-trend-area{opacity:0;animation:hudFade .8s .35s ease forwards}.hud-trend-line{stroke-dasharray:1;stroke-dashoffset:1;animation:hudDraw 1.3s .1s ease forwards}@keyframes hudFade{to{opacity:1}}@keyframes hudDraw{to{stroke-dashoffset:0}}.hud-crosshair line{stroke:#177fa873;stroke-width:1;stroke-dasharray:3 3}.hud-crosshair circle.outer{fill:#2fd8ff24;stroke:#2fd8ff;stroke-width:1.4}.hud-crosshair circle.inner{fill:#2fd8ff}.hud-tooltip{position:absolute;top:26px;transform:translate(-50%);z-index:5;min-width:120px;padding:8px 10px;background:#fffffff7;border:1px solid #2fd8ff;border-radius:4px;box-shadow:0 6px 18px #0b3c5a29;display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--text);pointer-events:none}.hud-tooltip strong{font-size:11.5px;color:#0e4a68}.hud-tooltip i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px;vertical-align:-1px}.hud-map-schematic{display:flex;flex-direction:column;gap:8px}.hud-region{stroke:#ffffffbf;stroke-width:1;transition:filter .2s ease,opacity .2s ease;cursor:default}.hud-region:hover{stroke:#fff;stroke-width:1.4;filter:brightness(1.12) drop-shadow(0 0 8px rgba(47,216,255,.55))}.hud-map-schematic svg:has(.hud-region:hover) .hud-region:not(:hover){opacity:.45}.hud-callout{cursor:default;transition:opacity .2s ease}.hud-callout-name{fill:#0e4a68;font-size:12px;font-weight:700;stroke:#ffffffe6;stroke-width:3px;paint-order:stroke}.hud-callout-meta{fill:#4c6c7c;font-size:10.5px;font-weight:600;stroke:#ffffffe6;stroke-width:3px;paint-order:stroke}.hud-callout.is-dimmed{opacity:.35}.hud-map-legend{display:flex;flex-wrap:wrap;gap:6px 12px;margin:0;padding:0;list-style:none;font-size:11px;color:var(--muted)}.hud-map-legend li{display:inline-flex;align-items:center;gap:5px;cursor:default;transition:opacity .2s ease}.hud-map-legend i{width:10px;height:10px;border-radius:2px}.hud-map-legend li.is-active{color:var(--text);font-weight:700}.hud-map-legend li.is-dimmed{opacity:.4}.hud-region-stats{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:5px}.hud-region-stats li{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.hud-region-stats i{width:9px;height:9px;border-radius:2px;flex-shrink:0}.hud-region-stats .hud-region-name{flex:1;color:var(--text)}.hud-region-stats .hud-region-count{color:var(--muted)}.hud-region-stats .hud-region-pct{font-weight:600;color:var(--text);min-width:48px;text-align:right}.hud-saver-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.hud-saver-row{position:relative;display:grid;grid-template-columns:26px minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px 10px;background:linear-gradient(135deg,#f7fbfe,#eef5fa);border:1px solid #dce9f2;border-radius:4px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.hud-saver-row:after{content:"";position:absolute;top:0;bottom:0;left:-70%;width:50%;background:linear-gradient(90deg,transparent,rgba(47,216,255,.18),transparent);pointer-events:none;transition:left .5s ease}.hud-saver-row:hover{border-color:#2fd8ff;box-shadow:0 0 0 1px #2fd8ff4d,0 4px 12px #2fd8ff1f;transform:translate(2px)}.hud-saver-row:hover:after{left:120%}.hud-medal{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;font-size:11px;font-weight:700;background:#12324a;color:#7edff5;font-variant-numeric:tabular-nums}.medal-1{background:linear-gradient(135deg,#b87b00,#ffc531);color:#4a2e00;box-shadow:0 0 8px #ffb42880}.medal-2{background:linear-gradient(135deg,#5c6b7a,#a9b7c4);color:#fff}.medal-3{background:linear-gradient(135deg,#8a4d1e,#c9803e);color:#fff}.hud-saver-name{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-saver-tons{font-size:12px;font-weight:700;color:#e0821a;font-variant-numeric:tabular-nums;white-space:nowrap}.hud-saver-tokens{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.token-dot{width:15px;height:15px;border-radius:50%;border:1.2px solid #6aa9c2;position:relative;flex:none}.token-dot:after{content:"B";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;font-style:normal;color:#3e7d97}.hud-saver-footnote{margin:10px 0 0;text-align:center;font-size:10.5px;color:var(--muted)}.analytics-footer,.app-footer{margin-top:18px;text-align:center;font-size:13px;letter-spacing:.04em;color:var(--muted);padding:12px 0 18px}@media(max-width:1280px){.analytics-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:1100px){.analytics-board{grid-template-columns:1fr 1fr}.hud-panel--map{grid-row:auto;grid-column:span 2}}@media(max-width:720px){.analytics-kpis{grid-template-columns:repeat(2,1fr)}.analytics-board{grid-template-columns:1fr}.hud-panel--map{grid-column:auto}}.rank-badge{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;background:#1a1a2e;color:#fff;border-radius:50%;font-size:13px;font-weight:600}.report-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.report-export-btns{display:flex;gap:8px}.report-kpi-carbon small{font-size:12px;color:#666}.login-managed-note{font-size:12px;color:#888;margin:-8px 0 16px;line-height:1.5}.login-organizer-note{font-size:13px;color:var(--muted);margin:-8px 0 16px;line-height:1.5;white-space:nowrap}.login-organizer-note a{color:var(--primary);text-decoration:none;font-weight:600}.login-organizer-note a:hover{text-decoration:underline}.submit-action-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:14px}.submit-time-label{font-size:13px;color:var(--muted);white-space:nowrap}.declaration-block{display:flex;align-items:flex-start;gap:8px;width:100%;margin-top:0;padding:8px 12px;background:var(--bg-soft, #f7f8fa);border:1px solid var(--line, #e4e7eb);border-radius:8px;cursor:pointer;font-size:10px;line-height:1.45;color:var(--muted);box-sizing:border-box}.declaration-block input[type=checkbox]{margin-top:1px;flex-shrink:0;width:14px;height:14px;cursor:pointer}.declaration-block .declaration-text{text-align:left;word-break:break-word}.admin-settings-tabs{margin-bottom:20px}.admin-tab-panel{margin-top:0}.admin-visibility-section{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.admin-visibility-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.admin-visibility-actions{display:flex;gap:10px;justify-content:flex-end}.role-badge-btn{border:none;background:none;padding:0;cursor:pointer;border-radius:6px}.role-badge-btn:hover .role-badge{outline:2px solid color-mix(in srgb,var(--primary) 35%,transparent);outline-offset:2px}.user-row-editing{background:#f8fafc}.modal-form-wide{width:min(640px,94vw);max-height:90vh;overflow-y:auto}.modal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-bottom:16px}.modal-steps{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid #eef1f4;padding-bottom:12px}.modal-step{padding:6px 14px;border:1px solid #d0d7de;border-radius:20px;background:#fff;font-size:13px;cursor:pointer;color:#57606a;transition:all .15s}.modal-step:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.modal-step.active{background:var(--primary);border-color:var(--primary);color:#fff}.modal-step:disabled{opacity:.5;cursor:not-allowed}.modal-form-section{margin-bottom:16px}.modal-form-section-title{font-size:14px;font-weight:600;color:#24292f;margin:16px 0 8px;padding-bottom:4px;border-bottom:1px solid #eef1f4}.modal-project-block{border:1px solid #eef1f4;border-radius:8px;padding:12px 16px;margin-bottom:12px;background:#fafbfc}.modal-projects-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-projects-header .modal-form-section-title{margin-top:0}.modal-project-block-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.modal-project-tag{display:inline-block;padding:2px 10px;border-radius:10px;background:#eef4ff;color:var(--primary);font-size:12px;font-weight:600}.modal-project-remove{border:none;background:none;color:#cf222e;font-size:12px;cursor:pointer;padding:2px 6px;border-radius:4px}.modal-project-remove:hover:not(:disabled){background:#ffebe9}.modal-contact-block{border:1px dashed #d0d7de;border-radius:6px;padding:8px 12px;margin:8px 0;background:#fff}.modal-contact-title{font-size:12px;font-weight:600;color:#57606a;margin:0 0 4px}.form-field-full{grid-column:1 / -1}.form-field-with-check{display:flex;align-items:center;gap:8px}.form-field-with-check input[type=text],.form-field-with-check input:not([type]),.form-field-with-check select{flex:1}.form-inline-check{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#57606a;white-space:nowrap;cursor:pointer}@media(max-width:560px){.modal-form-grid{grid-template-columns:1fr}}.form-field-readonly{display:flex;align-items:center;min-height:38px}.user-edit-visibility-panel{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.user-visibility-editor{margin-top:8px}.user-visibility-editor.compact{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.user-visibility-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.user-visibility-title{font-size:14px;font-weight:600;margin:0 0 4px}.admin-user-form{margin-bottom:16px}.admin-settings-page .admin-page-header{margin-bottom:20px}.settings-phase-panel{background:linear-gradient(135deg,#f8fafc,#fff 55%);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px 28px;margin-bottom:24px;box-shadow:var(--shadow-sm)}.settings-phase-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.settings-phase-live{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.settings-phase-live-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.settings-phase-title{font-size:17px;font-weight:700;margin:0 0 6px;letter-spacing:-.01em}.settings-phase-desc{font-size:13px;color:var(--muted);margin:0;max-width:560px;line-height:1.55}.phase-pill{display:inline-flex;align-items:center;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:600;white-space:nowrap;flex-shrink:0}.phase-pill-submission{background:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9}.phase-pill-review{background:#e3f2fd;color:#1565c0;border:1px solid #bbdefb}.settings-phase-dates-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.settings-date-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.settings-date-card h3,.settings-date-card h4{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.phase-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.phase-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;padding:18px 20px;border-radius:12px;border:2px solid var(--line);background:var(--surface);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.phase-card:hover:not(:disabled){border-color:#cbd5e1;box-shadow:var(--shadow-sm)}.phase-card.active{border-color:var(--primary);background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 6%,white),#fff);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 12%,white);cursor:default}.phase-card-submission.active{border-color:var(--primary);background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 6%,white),#fff)}.phase-card-review.active{border-color:#1565c0;background:linear-gradient(180deg,#f5f9ff,#fff)}.phase-card:disabled:not(.active){opacity:.72}.phase-card-head{display:flex;align-items:center;gap:10px;width:100%}.phase-card-title{font-size:16px;font-weight:700}.phase-card-badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;background:#e8f5e9;color:#2e7d32}.phase-card-review.active .phase-card-badge{background:#e3f2fd;color:#1565c0}.phase-card-desc{margin:0;font-size:13px;color:var(--muted);line-height:1.5}.phase-card-range{margin:0;font-size:12px;font-weight:600;color:var(--text)}.phase-card-action{margin-top:4px;font-size:12px;font-weight:600;color:var(--primary-dark)}.phase-confirm-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px;padding:14px 16px;border-radius:10px;border:1px solid #ffe082;background:#fff8e1}.phase-confirm-bar strong{display:block;margin-bottom:4px;font-size:14px}.phase-confirm-bar p{margin:0;font-size:13px;color:var(--muted)}.phase-confirm-actions{display:flex;gap:8px}.settings-phase-dates-section{margin-bottom:16px}.settings-phase-dates-head{margin-bottom:12px}.settings-phase-dates-head h3{margin:0 0 4px;font-size:15px;font-weight:700}.settings-phase-dates-head p{margin:0;font-size:13px;color:var(--muted)}.settings-phase-actionbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 16px;border-radius:10px;border:1px solid var(--line);background:#f8fafc}.settings-phase-actionbar.dirty{border-color:#ffe082;background:#fffdf5}.settings-phase-actionbar-text{font-size:13px;color:var(--muted)}.settings-phase-actionbar.dirty .settings-phase-actionbar-text{color:#e65100;font-weight:600}.app-toast-host{position:fixed;right:24px;bottom:24px;z-index:500;max-width:min(420px,calc(100vw - 32px));animation:toast-in .22s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.app-toast{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:12px;box-shadow:0 10px 30px #10182829;border:1px solid transparent}.app-toast-ok{background:#edf7ed;border-color:#c8e6c9;color:#1b5e20}.app-toast-err{background:#ffebee;border-color:#ef9a9a;color:#b71c1c}.app-toast-info{background:#e3f2fd;border-color:#bbdefb;color:#0d47a1}.app-toast-icon{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;background:#ffffffa6}.app-toast-text{flex:1;font-size:14px;line-height:1.45;padding-top:1px}.app-toast-close{border:none;background:none;color:inherit;opacity:.55;font-size:18px;line-height:1;cursor:pointer;padding:0 2px}.app-toast-close:hover{opacity:1}.settings-date-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings-phase-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:16px;border-top:1px solid var(--line)}.settings-phase-summary{font-size:13px;color:var(--muted);margin:0}.settings-phase-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.phase-segmented{display:inline-flex;padding:3px;background:#eef1f4;border-radius:10px;border:1px solid var(--line)}.phase-segment{padding:8px 16px;border:none;background:transparent;border-radius:8px;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.phase-segment:hover:not(:disabled){color:var(--text)}.phase-segment.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);font-weight:600}.phase-segment:disabled{cursor:default;opacity:1}.settings-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start}.settings-nav{display:flex;flex-direction:column;gap:4px;position:sticky;top:88px}.settings-nav-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:12px 14px;border:1px solid transparent;border-radius:var(--radius);background:transparent;text-align:left;cursor:pointer;transition:background .15s,border-color .15s}.settings-nav-item:hover{background:#ffffffb3;border-color:var(--line)}.settings-nav-item.active{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-sm);border-left:3px solid var(--final);padding-left:12px}.settings-nav-label{font-size:14px;font-weight:600;color:var(--text)}.settings-nav-desc{font-size:11px;color:var(--muted);line-height:1.4}.settings-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;min-height:420px}.settings-panel-header{padding:22px 28px 18px;border-bottom:1px solid var(--line);background:#fafbfc}.settings-panel-header h2{font-size:18px;font-weight:700;margin:0 0 4px;letter-spacing:-.01em}.settings-panel-header p{font-size:13px;color:var(--muted);margin:0}.settings-panel-body{padding:24px 28px 28px}.settings-panel-body-flush{padding:0}.settings-panel-body-flush .settings-table-wrap{border:none;border-radius:0}.settings-toolbar{margin-bottom:20px}.settings-toolbar-split{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.settings-role-field{max-width:280px}.settings-meta-line{font-size:13px;color:var(--muted);margin-top:6px}.settings-visibility-group+.settings-visibility-group{margin-top:24px}.settings-group-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 8px}.settings-visibility-list{list-style:none;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.settings-visibility-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;background:var(--surface);border-bottom:1px solid var(--line)}.settings-visibility-row:last-child{border-bottom:none}.user-edit-hkca-row{margin-top:4px;border:1px solid var(--line);border-radius:var(--radius);border-bottom:1px solid var(--line)}.user-visibility-reset{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:500;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:999px;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s,background .15s}.user-visibility-reset span{font-size:14px;line-height:1}.user-visibility-reset:hover{color:var(--final);border-color:var(--final);background:#16a34a0f}.user-visibility-reset:active{color:var(--final);border-color:var(--final);background:#16a34a24;transform:scale(.96)}.user-visibility-reset:disabled{opacity:.45;cursor:not-allowed}.settings-visibility-label{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500}.settings-switch{display:flex;align-items:center;gap:10px;cursor:pointer;flex-shrink:0}.settings-switch input{position:absolute;opacity:0;width:0;height:0}.settings-switch-track{position:relative;width:44px;height:24px;background:#cbd5e1;border-radius:999px;transition:background .2s}.settings-switch-track:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .2s}.settings-switch input:checked+.settings-switch-track{background:var(--final)}.settings-switch input:checked+.settings-switch-track:after{transform:translate(20px)}.settings-switch-text{font-size:12px;color:var(--muted);min-width:2em}.settings-panel-actions{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.settings-table-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow:auto}.admin-user-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px}.admin-user-page-info{font-size:13px;color:var(--muted);min-width:100px;text-align:center}.settings-note-field{max-width:480px;margin-bottom:16px}.settings-mod-list{display:flex;flex-direction:column;gap:12px}.settings-mod-card{border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;background:#fafbfc}.settings-mod-card-head{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;color:var(--muted);margin-bottom:10px}.settings-mod-id{font-weight:700;color:var(--text)}.settings-mod-reason{font-size:14px;line-height:1.55;margin:0 0 14px}.settings-mod-actions{display:flex;gap:8px}.settings-audit-time{white-space:nowrap;font-size:13px}.settings-audit-code{font-size:12px;background:#f1f5f9;padding:2px 6px;border-radius:4px}.settings-audit-detail{font-size:13px;max-width:360px}@media(max-width:960px){.settings-layout{grid-template-columns:1fr}.settings-nav{position:static;flex-direction:row;flex-wrap:wrap;gap:8px}.settings-nav-item{flex:1 1 140px}.settings-nav-item.active{border-left:1px solid var(--line);border-bottom:3px solid var(--final);padding-left:14px}.settings-nav-desc{display:none}.phase-card-grid,.settings-phase-dates-grid{grid-template-columns:1fr}.settings-phase-footer,.settings-phase-controls{flex-direction:column;align-items:stretch}.phase-segmented{width:100%}.phase-segment{flex:1;text-align:center}}.action-flash{padding:10px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.action-flash-ok{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.action-flash-err{background:#ffebee;color:#c62828;border:1px solid #ef9a9a}.btn-sm{padding:4px 10px;font-size:13px}.btn-danger{padding:8px 16px;border:1px solid #c62828;border-radius:8px;background:#fff;color:#c62828;cursor:pointer;font-size:14px}.btn-danger:hover{background:#ffebee}.btn-danger:disabled{opacity:.45;cursor:not-allowed}.table-input{width:100%;padding:4px 8px;border:1px solid #ddd;border-radius:4px;font-size:13px}.table-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.quant-rows-editor{display:flex;flex-direction:column;gap:12px}.quant-summation-panel{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.quant-summation-scheme{max-width:520px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.quant-edit-list{border:1px solid var(--line, #e2e8f0);border-radius:8px;background:#fff;overflow:hidden}.quant-edit-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#f8fafc;border-bottom:1px solid var(--line, #e2e8f0)}.quant-edit-list-title{margin:0;font-size:13px;font-weight:600;color:#0f172a;letter-spacing:.01em}.quant-edit-list-add{flex-shrink:0;padding:4px 10px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#047857;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.quant-edit-list-add:hover{background:#ecfdf5;border-color:#6ee7b7}.quant-edit-list-scroll{overflow-x:auto}.quant-edit-list-table{width:100%;border-collapse:collapse;font-size:12px;table-layout:auto}.quant-edit-list-table thead th{padding:8px 10px;text-align:left;font-weight:500;color:#64748b;background:#fafafa;border-bottom:1px solid var(--line, #e2e8f0);white-space:nowrap;vertical-align:bottom;line-height:1.35}.quant-edit-list-table tbody td{padding:4px 6px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.quant-edit-list-table tbody tr:last-child td{border-bottom:none}.quant-edit-list-table tbody tr:hover td{background:#f8fafc}.quant-edit-list-col-idx{width:36px;min-width:36px;text-align:center;color:#94a3b8;font-variant-numeric:tabular-nums;font-size:11px}.quant-edit-list-col-actions{width:40px;min-width:40px;text-align:center}.quant-edit-list-input{width:100%;min-width:88px;padding:6px 8px;border:1px solid transparent;border-radius:4px;background:transparent;font-size:12px;color:#0f172a;transition:border-color .15s,background .15s,box-shadow .15s}.quant-edit-list-input:hover:not(:disabled){background:#fff;border-color:#e2e8f0}.quant-edit-list-input:focus{outline:none;background:#fff;border-color:#10b981;box-shadow:0 0 0 2px #10b98126}.quant-edit-list-input:disabled{color:#94a3b8;cursor:not-allowed}.quant-ef-select-wrap{display:flex;flex-direction:column;gap:4px;min-width:140px}.quant-ef-other-input{background:#fff!important;border-color:#e2e8f0!important}.quant-edit-list-remove{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:transparent;color:#94a3b8;font-size:18px;line-height:1;cursor:pointer;transition:color .15s,background .15s}.quant-edit-list-remove:hover{color:#dc2626;background:#fef2f2}.quant-edit-list-empty-row td{padding:20px 14px;text-align:center;color:#94a3b8;font-size:12px}.quant-edit-list--readonly .quant-edit-list-toolbar{margin-bottom:0}.quant-edit-list-readonly{display:block;font-size:13px;color:#1e293b;line-height:1.4;word-break:break-word}.quant-edit-list-readonly--empty{color:#94a3b8}.review-quant-content .quant-edit-list{margin-bottom:0}.review-quant-data-list--after-table{margin-top:12px}.review-quant-label{font-weight:600}.review-quant-value{margin-left:.15em}.quant-row-card{border:1px solid var(--border, #e0e0e0);border-radius:8px;padding:12px;background:#fafafa}.quant-row-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.quant-add-row{align-self:flex-start}.measure-quant-panel{display:grid;grid-template-columns:1fr;gap:16px 24px;margin-top:4px;padding:20px;border:1px solid var(--line);border-radius:10px;background:#fff}.measure-quant-panel--two-col{grid-template-columns:repeat(2,minmax(280px,1fr))}.measure-quant-panel .form-field{margin:0;min-width:0;overflow:hidden}.measure-quant-panel .form-field-date{overflow:visible}.measure-quant-panel .form-field label{word-break:break-word;overflow-wrap:break-word;white-space:normal}.measure-quant-panel .form-field-number,.measure-quant-panel .form-field-date{flex:unset;width:auto;max-width:none}.measure-quant-scheme-field{grid-column:1 / -1;width:fit-content;max-width:100%}.measure-quant-scheme-stack{grid-column:1 / -1;display:flex;flex-direction:column;align-items:stretch;width:fit-content;max-width:100%;gap:16px}.measure-quant-scheme-stack .measure-quant-scheme-field{width:auto}.measure-quant-scheme-stack .measure-quant-scheme-width-field{width:100%}.measure-quant-scheme-stack .measure-quant-scheme-width-field input[type=number]{width:100%;min-width:0;box-sizing:border-box}.measure-quant-aligned-field,.measure-quant-inline-field{grid-column:1 / -1;width:fit-content;max-width:100%}.measure-quant-label-fit-field{display:inline-grid;grid-template-columns:max-content;grid-column:1 / -1;width:max-content;max-width:100%}.measure-quant-label-fit-field label{white-space:nowrap}.measure-quant-label-fit-field input[type=number],.measure-quant-label-fit-field input[type=date],.measure-quant-label-fit-field input[type=month]{width:100%;min-width:10ch;max-width:100%;box-sizing:border-box}.measure-quant-inline-field label{white-space:nowrap}.measure-quant-inline-field input[type=number],.measure-quant-inline-field input[type=date],.measure-quant-inline-field input[type=month]{width:100%;min-width:0}.measure-quant-panel--compact{grid-template-columns:1fr}.measure-quant-compact-row{grid-column:1 / -1;display:grid;grid-template-columns:repeat(var(--quant-cols, 2),minmax(260px,1fr));gap:16px 20px;align-items:start}.measure-quant-compact-row--label-fit{grid-template-columns:max-content;width:max-content;max-width:100%}.measure-quant-panel--compact .measure-quant-compact-row .measure-quant-inline-field,.measure-quant-panel--compact .measure-quant-compact-row .measure-quant-compact-cell{grid-column:auto;width:auto;max-width:none}.measure-quant-panel--compact .measure-quant-compact-row .measure-quant-scheme-field{grid-column:auto;width:auto}.measure-quant-evidence-block{margin-top:24px}@media(max-width:720px){.measure-quant-inline-field label{white-space:normal}.measure-quant-label-fit-field{width:100%;grid-template-columns:minmax(0,1fr)}.measure-quant-label-fit-field label{white-space:normal}.measure-quant-compact-row--label-fit{width:100%;grid-template-columns:minmax(0,1fr)}.measure-quant-scheme-stack{width:100%}}.measure-quant-panel .form-field-text-block{grid-column:1 / -1}.measure-quant-panel .measure-quant-scheme-select,.measure-quant-panel .measure-quant-aligned-field input[type=number]{width:min(480px,100%);min-width:280px;max-width:100%}.measure-quant-panel input[type=number],.measure-quant-panel input[type=date],.measure-quant-panel input[type=month],.measure-quant-panel select,.measure-quant-panel textarea{min-height:42px;box-sizing:border-box}.measure-quant-panel .form-field-number:not(.measure-quant-aligned-field):not(.measure-quant-inline-field):not(.measure-quant-label-fit-field):not(.measure-quant-scheme-width-field) input[type=number],.measure-quant-panel .form-field-date input[type=date],.measure-quant-panel .form-field-date input[type=month],.measure-quant-panel .form-field-date .native-date,.measure-quant-panel select:not(.measure-quant-scheme-select),.measure-quant-panel textarea{width:100%}.measure-quant-panel textarea{min-height:96px}@media(max-width:1200px){.measure-quant-compact-row{grid-template-columns:repeat(var(--quant-cols, 2),minmax(220px,1fr))}}@media(max-width:960px){.measure-quant-panel--two-col,.measure-quant-compact-row{grid-template-columns:1fr}.measure-quant-label-fit-field{width:100%}.measure-quant-label-fit-field label,.measure-quant-inline-field label{white-space:normal;word-break:break-word}}@media(max-width:720px){.measure-quant-panel,.measure-quant-panel--two-col{grid-template-columns:1fr}.measure-quant-scheme-field,.measure-quant-aligned-field{width:100%}.measure-quant-panel .measure-quant-scheme-select,.measure-quant-panel .measure-quant-aligned-field input[type=number]{width:100%;min-width:0}.measure-quant-compact-row{grid-template-columns:1fr;gap:12px}}.emission-factors-panel{margin-top:8px}.emission-factors-toggle{font-size:.9rem}.emission-factors-table-wrap{margin-top:8px;overflow-x:auto}@media print{html,body{height:auto!important;overflow:visible!important;background:#fff!important;color:#0f172a!important;font-family:Songti SC,STSong,Heiti SC,STHeiti,Microsoft YaHei,SimSun,sans-serif!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}@page{margin:12mm}.app-shell,.app-main,.page-container,.page-container-wide,.report-printable,.report-card,.report-page,.report-table-panel,.report-table-panel .table-wrap,.report-dash-panel{height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important}.app-shell,.app-main{display:block!important}.app-header,.competition-phase-banner,.site-header,.no-print,.form-actions,.feedback-modal{display:none!important}.page-container{padding:0!important;max-width:none!important;margin:0!important}.report-card{box-shadow:none!important;border:none!important}.report-dash-section{break-inside:avoid;page-break-inside:avoid}.report-measures-section{break-inside:auto;page-break-inside:auto;margin-top:16px}.report-sort-btn{display:contents!important}.report-table-panel .report-table{table-layout:auto!important;width:100%!important}.report-table th,.report-table td{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;color:#0f172a!important}.report-td-measure{min-width:12rem!important;max-width:none!important;word-break:break-word!important}.report-th-score,.report-td-score,.report-th-status,.report-td-status,.report-td-no{width:auto!important;min-width:0!important;max-width:none!important}.report-table tr{break-inside:avoid;page-break-inside:avoid}.report-score-chip,.report-status{border:1px solid #cbd5e1!important;background:#fff!important;color:#0f172a!important}.report-score-chip.declared{color:#1e58a7!important}.report-score-chip.final{color:#1a7f4b!important}}@media(max-width:900px){.dashboard-kpis{grid-template-columns:repeat(2,1fr)}}.measure-carbon-formula-panel,.measure-carbon-breakdown-panel{margin-bottom:12px;padding:10px 12px;border:1px solid var(--border, #e2e8f0);border-radius:8px;background:#f8fafc}.measure-quant-context{margin-bottom:12px;padding:10px 12px;border-left:3px solid #3b82f6;background:#eff6ff;border-radius:0 8px 8px 0;font-size:13px;line-height:1.5}.measure-quant-context-label{margin:0 0 4px;color:#334155}.measure-quant-context-value{margin:0 0 6px;font-weight:600;color:#0f172a}.measure-quant-context-link{font-size:13px}.measure-carbon-formula-text{white-space:pre-wrap;font-size:13px;line-height:1.5;margin:8px 0 0;font-family:inherit}.measure-carbon-defaults{margin-top:8px}.measure-carbon-breakdown-formula{margin:8px 0;font-size:13px}.measure-carbon-breakdown-steps{margin:8px 0 0;padding-left:1.25rem;font-size:13px;line-height:1.6}.review-decision-group{display:flex;gap:10px;flex-wrap:wrap}.review-decision-btn{flex:1 1 140px;padding:10px 14px;border-radius:8px;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;font-size:14px;font-weight:600;color:var(--muted);transition:border-color .15s ease,background .15s ease,color .15s ease}.review-decision-btn:hover:not(:disabled){border-color:#b9c4d0}.review-decision-btn:disabled{opacity:.5;cursor:not-allowed}.review-decision-btn.approve.active{border-color:#2e7d32;background:#e8f5e9;color:#2e7d32}.review-decision-btn.reject.active{border-color:#c62828;background:#ffebee;color:#c62828}.review-decision-btn.discuss.active{border-color:#ef6c00;background:#fff3e0;color:#e65100}.review-comment-required>label{color:#e65100}.review-comment-required textarea{border-color:#f0a25e}.extra-review-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.6}.extra-review-badge.pending{background:#fff3e0;color:#b26a00}.extra-review-badge.approved{background:#e8f5e9;color:#2e7d32}.extra-review-badge.rejected{background:#ffebee;color:#c62828}.extra-side-nav .measure-no{background:#f97316;color:#fff}.extra-side-nav .measure-list button.active .measure-label,.extra-banner .category-banner-title{color:#ea580c}.extra-item-title{margin:6px 0 2px;font-size:20px;color:#ea580c}.extra-item-project{color:var(--muted);font-size:13px}.extra-base-token-card{margin-top:14px;border-top:3px solid #f97316}.extra-section-title{color:#ea580c}.extra-base-token-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}@media(max-width:900px){.extra-base-token-grid{grid-template-columns:1fr}}.extra-desc-input{min-height:170px}.extra-file-input{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.extra-file-meta{display:flex;flex-direction:column;gap:2px;margin-top:8px;font-size:13px}.extra-save-btn{background:#f97316;border-color:#f97316;color:#fff}.extra-save-btn:hover:not(:disabled){background:#ea580c;border-color:#ea580c}.extra-file-trigger{display:inline-flex;align-items:center;gap:30px;cursor:pointer;-webkit-user-select:none;user-select:none}.extra-file-trigger.is-disabled{cursor:not-allowed;opacity:.7}.extra-file-btn{display:inline-block;padding:8px 16px;background:#fff;border:1px solid var(--accent, #f97316);border-radius:6px;color:var(--accent, #f97316);font-size:13px;font-weight:600;line-height:1.3;transition:background .12s,color .12s,border-color .12s}.extra-file-trigger:hover:not(.is-disabled) .extra-file-btn{background:var(--accent, #f97316);color:#fff}.extra-file-chosen{font-size:13px;color:var(--muted, #6b7280);line-height:1.4;align-self:center;margin-left:8px}.extra-file-hint{margin-top:4px}.extra-file-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.extra-file-list-head{font-size:12px;font-weight:600;color:var(--accent, #2563eb);padding-top:6px;border-top:1px dashed var(--line);margin-top:4px}.extra-file-list-new .extra-file-list-head{--accent: #2563eb;color:var(--accent)}.extra-file-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;background:#fffaf5;border:1px solid #fed7aa;border-radius:8px}.extra-file-list-new .extra-file-row{background:#eff6ff;border-color:#bfdbfe}.extra-file-link{flex:1 1 auto;min-width:0;font-size:13px;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}a.extra-file-link:hover{color:#ea580c;text-decoration:underline}.extra-file-pending{color:#1e40af;font-style:italic}.extra-file-row-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.extra-file-size{font-size:12px}.extra-file-remove{border:1px solid #fecaca;background:#fff;color:#dc2626;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1;padding:0;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.extra-file-remove:hover:not(:disabled){background:#fee2e2;border-color:#ef4444;color:#b91c1c}.extra-file-remove:disabled{opacity:.4;cursor:not-allowed}.extra-review-note-card{margin-top:14px}.extra-review-list{--extra-accent: #f97316}.extra-review-head{margin-bottom:14px}.extra-review-title{font-size:18px;color:#ea580c;border-left:4px solid var(--extra-accent);padding-left:10px}.extra-review-group{margin-bottom:18px}.extra-review-group-title{display:flex;align-items:center;gap:8px}.extra-review-dot{width:10px;height:10px;border-radius:3px;background:var(--extra-accent)}.extra-review-items{display:flex;flex-direction:column}.extra-review-item{display:flex;gap:18px;justify-content:space-between;padding:14px 4px;border-top:1px solid var(--line)}.extra-review-item:first-child{border-top:0}.extra-review-item-main{flex:1 1 auto;min-width:0}.extra-review-item-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.extra-item-name{font-weight:700}.extra-review-item-desc{margin:8px 0;font-size:14px;white-space:pre-wrap;word-break:break-word}.extra-review-item-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px}.extra-review-item-actions{flex:0 0 260px;display:flex;flex-direction:column;gap:8px}.extra-review-note-input{width:100%;resize:vertical;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit;font-size:13px}.extra-review-btns{display:flex;gap:8px}.extra-review-btns .review-decision-btn{flex:1 1 0;font-size:13px;padding:8px 10px}@media(max-width:860px){.extra-review-item{flex-direction:column}.extra-review-item-actions{flex-basis:auto;width:100%}}.reg-form-scope .req-mark{color:#d64545;margin-left:2px}.reg-form-scope .reg-optional-mark{color:var(--muted);font-weight:400;font-size:12.5px}.reg-form-scope .reg-section{padding:18px 18px 12px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fbfcfd;margin-bottom:16px;box-shadow:0 1px 2px #10182808}.reg-form-scope .reg-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}.reg-form-scope .reg-section-title{margin:0 0 14px;font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--text);display:flex;align-items:center;gap:10px}.reg-form-scope .reg-section-title:before{content:"";width:4px;height:18px;border-radius:2px;background:var(--primary);flex-shrink:0}.reg-form-scope .reg-hint{margin:4px 0 0;font-size:12.5px;color:var(--muted);line-height:1.5}.reg-form-scope .reg-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}.reg-form-scope .reg-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 16px}.reg-form-scope .reg-field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;min-width:0}.reg-form-scope .reg-field-no-label{justify-content:flex-end}.reg-form-scope .reg-field-no-label>*:first-child{margin-top:0}.reg-form-scope .reg-label{font-size:13px;font-weight:600;color:var(--text)}.reg-form-scope .reg-label-hint{font-size:12px;font-weight:400;color:var(--muted);margin-left:6px}.reg-form-scope .reg-input{width:100%;height:42px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);padding:0 8px;font-size:14px;color:var(--text);transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;outline:none}.reg-form-scope .reg-input::placeholder{color:#9aa8b3;font-size:11px}.reg-form-scope .reg-input:hover{border-color:#c6d0dc}.reg-form-scope .reg-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-muted)}.reg-form-scope .reg-input[readonly]{background:var(--bg);color:var(--muted);cursor:default}.reg-form-scope .reg-input:disabled{background:var(--bg);border-color:var(--line);color:#9aa8b3;cursor:not-allowed}.reg-form-scope .reg-input:disabled:hover{border-color:var(--line)}.reg-form-scope .reg-phone-field{display:flex;align-items:stretch;width:100%}.reg-form-scope .reg-phone-prefix{display:flex;align-items:center;padding:0 10px;border:1px solid var(--line);border-right:0;border-radius:var(--radius) 0 0 var(--radius);background:var(--bg);color:var(--muted);font-size:14px;white-space:nowrap;transition:border-color .15s ease}.reg-form-scope .reg-phone-input{border-radius:0 var(--radius) var(--radius) 0}.reg-form-scope .reg-phone-input:focus{box-shadow:none}.reg-form-scope .reg-phone-field:focus-within .reg-phone-prefix{border-color:var(--primary)}.reg-form-scope .reg-phone-field:focus-within .reg-phone-input{box-shadow:0 0 0 3px var(--primary-muted)}.modal select.reg-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:36px}.reg-form-scope .reg-textarea{height:auto;padding:10px 14px;line-height:1.5;resize:vertical}.reg-form-scope .reg-error{margin:0;font-size:12.5px;color:#d64545;line-height:1.45}.reg-form-scope .reg-error-absolute{position:absolute;left:0;right:0;bottom:-18px}.reg-form-scope .reg-error-inline{margin:0}.reg-form-scope .reg-password-wrap{position:relative}.reg-form-scope .reg-input-has-eye{padding-right:44px}.reg-form-scope .reg-eye-btn{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:8px;background:transparent;color:#64748b;cursor:pointer;transition:color .15s ease,background-color .15s ease}.reg-form-scope .reg-eye-btn:hover{color:var(--primary-dark);background:var(--primary-muted)}.reg-form-scope .reg-eye-btn:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.reg-form-scope .reg-hkca-row{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none;height:100%;transition:border-color .15s ease,background-color .15s ease}.reg-form-scope .reg-hkca-row:hover{border-color:var(--primary-border);background:var(--primary-muted)}.reg-form-scope .reg-hkca-row span{display:flex;flex-direction:column;gap:2px}.reg-form-scope .reg-hkca-row strong{font-size:13.5px}.reg-form-scope .reg-hkca-row small{font-size:12px;color:var(--muted)}.reg-form-scope .reg-hkca-compact{height:42px;padding:0 12px;min-height:0}.reg-form-scope .reg-hkca-compact .reg-hkca-compact-text{flex-direction:column;gap:0;line-height:1.2}.reg-form-scope .reg-hkca-compact strong{font-size:12.5px}.reg-form-scope .reg-hkca-compact small{font-size:10.5px;line-height:1.2}.reg-form-scope .reg-hkca-compact input[type=checkbox]{width:15px!important;height:15px!important}.reg-form-scope .reg-alert{border-radius:var(--radius);padding:10px 14px;font-size:13.5px;margin:6px 0 10px}.reg-form-scope .reg-alert-error{background:#fdf0f0;border:1px solid #f1c9c9;color:#b12a2a}.reg-form-scope .reg-checkbox-row{display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none;height:42px;width:100%;transition:border-color .15s ease,background-color .15s ease}.reg-form-scope .reg-checkbox-row:hover{border-color:var(--primary-border)}.reg-form-scope .reg-checkbox-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-dark);flex:none}.reg-form-scope .reg-checkbox-row span{display:flex;flex-direction:column;gap:2px;min-width:0}.reg-form-scope .reg-checkbox-row strong{font-size:13.5px}.reg-form-scope .reg-checkbox-row small{font-size:11px;color:var(--muted)}.reg-form-scope .reg-seg-group{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius);padding:3px;background:var(--bg);gap:3px}.reg-form-scope .reg-seg{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:7px 16px;font-size:13.5px;font-weight:600;color:var(--muted);border-radius:8px;cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.reg-form-scope .reg-seg-radio{position:absolute;opacity:0;pointer-events:none}.reg-form-scope .reg-seg:hover{color:var(--primary-dark)}.reg-form-scope .reg-seg-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.reg-form-scope .reg-contractor-layout{display:grid;grid-template-columns:1fr 200px;gap:20px;align-items:start}.reg-form-scope .reg-contractor-main{min-width:0}.reg-form-scope .reg-contractor-logo{display:flex;flex-direction:column;gap:6px}.reg-form-scope .reg-logo-dropzone{border:1.5px dashed #c6d0dc;border-radius:var(--radius-lg);background:var(--bg);min-height:160px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s ease,background-color .15s ease;text-align:center;padding:14px}.reg-form-scope .reg-logo-dropzone:hover{border-color:var(--primary);background:var(--primary-muted)}.reg-form-scope .reg-logo-placeholder{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--muted);font-size:13px;font-weight:600}.reg-form-scope .reg-logo-placeholder small{font-weight:400;font-size:11.5px;color:#8896a6}.reg-form-scope .reg-logo-icon{font-size:30px;line-height:1}.reg-form-scope .reg-logo-preview{max-width:100%;max-height:140px;object-fit:contain;border-radius:8px;background:var(--surface);padding:6px}.reg-form-scope .reg-activity-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.reg-form-scope .reg-activity-item{display:flex;align-items:center;gap:6px;padding:0 10px;height:32px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font-size:12.5px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s ease,background-color .15s ease;box-sizing:border-box}.reg-form-scope .reg-activity-item input[type=checkbox]{width:13px;height:13px;accent-color:var(--primary-dark);flex:none;flex-shrink:0}.reg-form-scope .reg-activity-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1;line-height:1.2}.reg-form-scope .reg-activity-item:hover{border-color:var(--primary-border)}.reg-form-scope .reg-activity-checked{border-color:var(--primary);background:var(--primary-muted)}.reg-form-scope .reg-others-box{margin-top:12px;padding:14px;border:1px solid var(--primary-border);background:var(--primary-muted);border-radius:var(--radius)}.reg-form-scope .reg-project-card{margin-top:14px;border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 18px 16px;background:#fbfcfd}.reg-form-scope .reg-project-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.reg-form-scope .reg-project-title{margin:0;font-size:15px;font-weight:700;color:var(--text)}.reg-form-scope .reg-sub-block{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.reg-form-scope .reg-sub-block-title{margin:0 0 10px;font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--muted)}.reg-form-scope .reg-joint-box{margin-top:10px;padding:14px 14px 12px;border:1px solid var(--primary-border);background:var(--primary-muted);border-radius:12px}.reg-form-scope .reg-joint-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}.reg-form-scope .reg-joint-title{margin:0;font-size:14px;font-weight:700;color:var(--primary-dark)}.reg-form-scope .reg-joint-grid{display:flex;flex-direction:column;gap:8px}.reg-form-scope .reg-joint-row{display:grid;grid-template-columns:28px 1fr 1fr;gap:8px;align-items:center}.reg-form-scope .reg-joint-idx{width:26px;height:26px;border-radius:50%;background:var(--surface);border:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.reg-form-scope .reg-contact-group{margin-bottom:18px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fbfcfd}.reg-form-scope .reg-contact-title{margin:0 0 12px;font-size:14px;font-weight:700;color:var(--text)}.reg-form-scope .reg-map-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.reg-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.reg-topbar{position:sticky;top:0;z-index:100;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm)}.reg-topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 32px;min-height:56px}.reg-topbar-brand{display:flex;align-items:center;gap:12px;min-width:0}.reg-topbar-hkca{display:block;height:38px;width:auto;object-fit:contain;flex-shrink:0}.reg-topbar-title{font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reg-topbar-right{display:flex;align-items:center;gap:16px;flex-shrink:0}.reg-topbar-back{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.reg-topbar-back:hover{background:var(--primary-muted);border-color:var(--primary-border)}.reg-topbar-partners{display:flex;align-items:center;gap:10px;padding-left:14px;border-left:1px solid var(--line)}.reg-partner-logo{display:block;width:auto;object-fit:contain}.reg-partner-logo-carbon-smart{height:36px;border-radius:4px}.reg-partner-logo-aecom{height:12px}.reg-root{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:24px 32px;display:flex;flex-direction:column;gap:16px}.reg-card{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:36px 40px 32px}.reg-header{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.reg-title{margin:0;font-size:26px;font-weight:700;letter-spacing:-.02em;color:var(--text)}.reg-subtitle{margin:0;color:var(--muted);font-size:14px}.reg-footer{font-size:12px;color:var(--muted);padding:8px 0 18px;text-align:center}.reg-btn{height:42px;padding:0 18px;border-radius:var(--radius);font-size:14px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;-webkit-user-select:none;user-select:none}.reg-btn:disabled{opacity:.55;cursor:not-allowed}.reg-btn-primary{background:var(--primary);color:var(--primary-foreground);border-color:transparent;box-shadow:var(--shadow-sm)}.reg-btn-primary:hover:not(:disabled){background:var(--primary-hover)}.reg-btn-secondary{background:var(--surface);color:var(--primary-dark);border-color:var(--primary-border)}.reg-btn-secondary:hover:not(:disabled){background:var(--primary-muted);border-color:var(--primary)}.reg-btn-sm{height:36px;padding:0 14px;font-size:13px}.reg-btn-lg{height:48px;padding:0 28px;font-size:15px;letter-spacing:.2px}.reg-submit-bar{position:sticky;bottom:0;margin:18px -40px -32px;padding:16px 40px;background:var(--surface);border-top:1px solid var(--line);border-radius:0 0 var(--radius-lg) var(--radius-lg);display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;box-shadow:0 -4px 16px #1018280f;z-index:5}.reg-hint-left{margin:0;font-size:13px;color:var(--muted)}.reg-submit-right{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.reg-submit-error{margin:0;max-width:520px;animation:regShake .3s ease}@keyframes regShake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media(max-width:720px){.reg-topbar-inner{padding:0 14px}.reg-topbar-partners{display:none}.reg-root{padding:20px 12px 14px}.reg-card{padding:22px 18px 20px;border-radius:12px}.reg-title{font-size:21px}.reg-submit-bar{margin:18px -18px -20px;padding:14px 18px;border-radius:0 0 12px 12px}}.basic-result-modal{max-width:440px}.basic-result-body{display:flex;flex-direction:column;align-items:center;gap:12px;padding:10px 4px 4px;text-align:center}.basic-result-icon{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700;color:#fff;flex-shrink:0}.basic-result-ok .basic-result-icon{background:#16a34a}.basic-result-err .basic-result-icon{background:#dc2626}.basic-result-message{margin:0;font-size:14px;line-height:1.6;color:var(--text, #1f2937);word-break:break-word}.basic-result-details{margin:0;padding:10px 14px;list-style:none;width:100%;text-align:left;background:#dc26260f;border:1px solid rgba(220,38,38,.2);border-radius:8px;display:flex;flex-direction:column;gap:6px}.basic-result-details li{font-size:13px;line-height:1.5;color:#b91c1c;word-break:break-word}.basic-result-details li:before{content:"• "}
