:root{--ink:#172033;--muted:#64748b;--line:#e5eaf2;--primary:#c8202f;--navy:#16243b;--bg:#f4f7fb;--card:#fff;--success:#139b67}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}.shell{min-height:100vh;display:grid;grid-template-columns:244px 1fr}.sidebar{background:var(--navy);color:#dce5f2;padding:26px 16px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;color:white;font-weight:700;font-size:17px}.brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--primary);font-size:20px}.tenant{font-size:12px;color:#90a0b8;padding:16px 10px;border-bottom:1px solid #2a3950;margin:0 0 14px}nav{display:grid;gap:5px}.nav-item{border:0;background:transparent;color:#b4c1d3;text-align:left;padding:12px 11px;border-radius:8px;font:inherit;cursor:pointer}.nav-item:hover,.nav-item.active{background:#263852;color:white}.sidebar-footer{margin-top:auto;border-top:1px solid #2a3950;padding:16px 9px 0;font-size:12px;color:#9caac0}.dot,.status-dot{width:8px;height:8px;display:inline-block;border-radius:50%;background:var(--success);margin-right:7px}main{padding:0 36px 90px;max-width:1500px;width:100%;margin:auto}.topbar{min-height:126px;display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:12px;color:var(--primary);font-weight:700;letter-spacing:.08em;margin:0 0 5px;text-transform:uppercase}h1{font-size:28px;margin:0}h2{font-size:22px;margin:0 0 7px}h3{font-size:16px;margin:0 0 18px}.actor{display:flex;align-items:center;gap:9px}.avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#fee4e6;color:var(--primary);font-weight:700}.actor small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.compact{padding:6px 9px;font-size:12px}.page{display:none}.page.active{display:block}.notice{padding:18px 20px;background:#fff3f4;border:1px solid #ffdadd;border-radius:12px;display:flex;align-items:center;gap:18px}.notice span{color:#6f4b51;font-size:14px;flex:1}.notice button,button{font:inherit;cursor:pointer;border-radius:7px;padding:9px 13px;border:1px solid transparent}.notice button,.primary{background:var(--primary);color:#fff}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.cards article,.panel{background:var(--card);border:1px solid var(--line);border-radius:12px}.cards article{padding:18px}.cards span{display:block;font-size:13px;color:var(--muted)}.cards strong{display:block;font-size:23px;margin:9px 0 7px}.cards small{color:#8190a5;font-size:12px}.panel{padding:22px}.panel-head{margin-bottom:13px}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:0;margin:0;list-style:none}.timeline li{display:flex;gap:10px;align-items:flex-start;border-right:1px dashed #cbd5e1;padding-right:8px}.timeline li:last-child{border:0}.timeline b{display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:50%;background:#fce9eb;color:var(--primary);font-size:13px}.timeline strong,.timeline span{display:block;font-size:13px}.timeline span{font-size:12px;color:var(--muted);line-height:1.55;margin-top:3px}.section-intro{margin:0 0 18px}.section-intro>p:last-child{color:var(--muted);margin:0;line-height:1.7;max-width:760px}.two-col{display:grid;grid-template-columns:minmax(320px,1.2fr) minmax(280px,.8fr);gap:18px}.form{display:grid;gap:12px}.form label,.login-card label{font-size:13px;color:#43526a;font-weight:600}.form input,.form select,.form textarea,.login-card input{width:100%;margin-top:6px;border:1px solid #cfd8e6;border-radius:7px;padding:9px 10px;background:#fff;font:14px inherit;color:var(--ink)}.form textarea{min-height:82px;resize:vertical}.form-actions{display:flex;gap:9px}.secondary{background:#fff;border-color:#cbd5e1;color:#334155}.checklist ol,.guide ul{margin:0;padding-left:20px;color:#48576d;line-height:2}.hint{margin:18px 0 0;padding:10px;border-radius:7px;background:#f8fafc;color:#64748b;font-size:13px;line-height:1.6}.guide h3+ul{margin-bottom:18px}.api-result{position:fixed;right:28px;bottom:24px;width:min(500px,calc(100vw - 40px));background:#172033;color:#eaf1fb;border-radius:10px;box-shadow:0 12px 36px #17203344;padding:12px 15px}.api-result>div{font-size:12px}.api-result pre{max-height:120px;overflow:auto;white-space:pre-wrap;margin:7px 0 0;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:#b9cae3}.login-layer{position:fixed;inset:0;z-index:2;display:grid;place-items:center;padding:18px;background:#16243bee}.login-layer.hidden{display:none}.login-card{width:min(390px,100%);display:grid;gap:13px;padding:30px;background:#fff;border-radius:14px;box-shadow:0 22px 70px #070e1b66}.login-card .brand-mark{width:36px;height:36px}.login-card h2{margin:-5px 0 0}.login-card>p:not(.eyebrow){margin:0 0 6px;color:var(--muted);font-size:14px;line-height:1.6}.login-card small{color:var(--muted);line-height:1.5}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{display:none}main{padding:0 18px 110px}.cards,.timeline{grid-template-columns:repeat(2,1fr)}.timeline li:nth-child(2){border:0}.topbar{min-height:98px}.two-col{grid-template-columns:1fr}}@media(max-width:560px){.cards,.timeline{grid-template-columns:1fr}.timeline li{border:0}.actor{display:none}.notice{align-items:flex-start;flex-wrap:wrap}.notice span{flex-basis:100%}}
.nav-item{display:flex;justify-content:space-between;align-items:center;gap:8px}.nav-badge{font-size:10px;color:#fbc5ca;border:1px solid #69414a;border-radius:999px;padding:2px 6px}.actor .actor-meta{font-size:11px;color:#94a3b8}.todo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.todo-card{min-height:250px;display:flex;flex-direction:column;align-items:flex-start}.todo-card h3{margin:2px 0 10px}.todo-card>p:not(.eyebrow){margin:0 0 20px;color:var(--muted);font-size:14px;line-height:1.65;flex:1}.todo-icon{width:34px;height:34px;display:grid;place-items:center;background:#fce9eb;color:var(--primary);border-radius:9px;font-weight:700;margin-bottom:14px}.todo-empty{color:var(--muted)}.todo-empty h3{color:var(--ink);margin-bottom:6px}.todo-empty p{margin:0;line-height:1.6}.todo-integration-note{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:15px 18px;background:#f8fafc;color:var(--muted);font-size:13px;line-height:1.6}.todo-integration-note strong{color:var(--ink);white-space:nowrap}.todo-integration-note code{color:#475569}@media(max-width:900px){.todo-grid{grid-template-columns:1fr}}@media(max-width:560px){.todo-integration-note{display:block}.todo-integration-note strong{display:block;margin-bottom:5px}}
.template-actions{display:flex;align-items:center;gap:12px;padding:12px;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc;color:var(--muted);font-size:12px;line-height:1.55}.template-actions .secondary{white-space:nowrap}.form input[type="file"]{padding:8px;background:#f8fafc}.form code,.hint code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:#475569}.allocation-summary>p:not(.eyebrow):not(.hint){color:var(--muted);font-size:14px;line-height:1.65}.allocation-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.allocation-metrics div{padding:12px 10px;background:#f8fafc;border-radius:8px}.allocation-metrics span{display:block;color:var(--muted);font-size:12px}.allocation-metrics strong{display:block;margin-top:5px;font-size:22px}.metric-success{color:var(--success)}.metric-danger{color:#c2414c}.import-issues{margin:16px 0;padding:14px;background:#fff5f5;border:1px solid #ffe0e0;border-radius:8px}.import-issues h4{margin:0 0 9px;color:#9f2530;font-size:13px}.import-issues ul{max-height:205px;overflow:auto;margin:0;padding:0;list-style:none}.import-issues li{display:flex;gap:10px;padding:9px 0;border-top:1px solid #ffe2e2;font-size:13px;color:#6f4b51}.import-issues li:first-child{border:0}.import-issues li b{white-space:nowrap;color:#9f2530}.import-issues li span{line-height:1.5}@media(max-width:560px){.template-actions{display:block}.template-actions .secondary{margin-bottom:8px}.allocation-metrics{grid-template-columns:1fr}.import-issues li{display:block}.import-issues li b{display:block;margin-bottom:3px}}
.demo-panel{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(110deg,#fff 45%,#fff3f4)}.demo-panel h3{margin:0 0 7px}.demo-panel>div>p:last-child{margin:0;color:var(--muted);font-size:13px;line-height:1.65;max-width:760px}.system-list{margin-top:18px}@media(max-width:560px){.demo-panel{display:block}.demo-panel .primary{margin-top:14px}}
.import-governance,.import-precheck,.quality-gate-panel{margin-top:18px}.mapping-toolbar,.quality-toolbar{display:flex;align-items:end;gap:9px;flex-wrap:wrap}.mapping-toolbar label,.quality-toolbar label{display:grid;gap:5px;color:#43526a;font-size:12px;font-weight:700}.mapping-toolbar input,.quality-toolbar input{height:36px;min-width:180px;border:1px solid #cfd8e6;border-radius:7px;padding:7px 9px;font:13px inherit}.mapping-status-card,.quality-gate-summary{margin-top:15px}.mapping-overview,.preview-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 15px;background:#f8fafc;border:1px solid #e6edf5;border-radius:9px}.mapping-overview b{display:block}.mapping-overview small{display:block;margin-top:4px;color:var(--muted);font-size:12px}.mapping-facts{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}.mapping-facts span{padding:8px 11px;border-radius:7px;background:#fff5f5;color:#6f4b51;font-size:12px}.mapping-facts b{margin-left:4px;color:#a51d2b}.preview-summary{justify-content:flex-start;font-size:13px;color:#475569}.row-issue-ledger{margin-top:13px;padding:14px 15px;border:1px solid #fecdd3;background:#fff7f7;border-radius:9px}.row-issue-ledger h4{margin:0 0 8px;color:#9f2530;font-size:13px}.row-issue-ledger ol{margin:0;padding-left:23px;max-height:220px;overflow:auto;color:#6f4b51;font-size:13px;line-height:1.65}.quality-gate-summary{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid #e6edf5;border-radius:9px;background:#f8fafc}.quality-gate-summary p{margin:0;color:#475569;font-size:13px;line-height:1.55}.quality-ledger{margin-top:15px}.quality-ledger .progress-head,.quality-ledger .progress-row{grid-template-columns:1.2fr .85fr 1.15fr .8fr!important}.quality-ledger .progress-row small{display:block;margin-top:5px;line-height:1.45;color:var(--muted)}.quality-ledger .progress-row small .table-action{margin-top:1px}@media(max-width:700px){.mapping-toolbar,.quality-toolbar{align-items:stretch}.mapping-toolbar label,.quality-toolbar label{flex:1 0 100%}.mapping-toolbar input,.quality-toolbar input{width:100%}.quality-gate-summary{align-items:flex-start;flex-direction:column}}
.analytics-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 18px}.analytics-cards article{padding:17px 18px;background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid var(--line);border-radius:12px}.analytics-cards span{display:block;color:var(--muted);font-size:13px}.analytics-cards strong{display:block;margin:8px 0 5px;font-size:25px}.analytics-cards small{color:#8190a5;font-size:12px}.analytics-bottom{margin-top:18px;align-items:stretch}.policy-layer{padding:14px 15px;border-left:3px solid var(--primary);background:#fff8f8;color:#48576d;font-size:13px;line-height:1.65}.policy-layer b{color:var(--ink)}.policy-layer p{margin:7px 0}.policy-layer ul{margin:8px 0 0;padding-left:18px}.analytics-period-head,.analytics-period-row{grid-template-columns:1.2fr .9fr 1fr .9fr .65fr!important}.table-action{padding:6px 9px;border:1px solid #e5b9bf;border-radius:6px;background:#fff7f7;color:#a51d2b;font:12px inherit;cursor:pointer;white-space:nowrap}.table-action:hover{background:#c8202f;color:#fff;border-color:#c8202f}.status-success{background:#ecfdf5!important;color:#057a55!important;border-color:#b7eed5!important}.status-warning{background:#fff8e8!important;color:#9a6500!important;border-color:#f4d891!important}.status-danger{background:#fff1f2!important;color:#b42332!important;border-color:#fecdd3!important}.status-neutral{background:#f8fafc!important;color:#64748b!important;border-color:#e2e8f0!important}.status-demo{background:#fff1f2!important;color:#a51d2b!important;border-color:#fecdd3!important}.status-configured{background:#eff6ff!important;color:#1d4ed8!important;border-color:#bfdbfe!important}.publication-flow{margin-bottom:18px}.publication-flow ol{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:0;margin:0;list-style:none}.publication-flow li{display:grid;gap:4px;padding:12px;border:1px solid #e4eaf2;border-radius:9px;background:#fafcff}.publication-flow b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fce9eb;color:var(--primary);font-size:12px}.publication-flow span{font-size:13px;font-weight:700}.publication-flow small{font-size:11px;color:var(--muted);line-height:1.45}.publication-table .progress-row{align-items:center}.feedback-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 12px;font-size:13px}.compact-table .progress-head,.compact-table .progress-row{grid-template-columns:1.2fr .7fr 1fr!important}@media(max-width:900px){.analytics-cards{grid-template-columns:repeat(2,1fr)}.publication-flow ol{grid-template-columns:repeat(3,1fr)}.analytics-period-head,.analytics-period-row{grid-template-columns:1fr 1fr!important}.analytics-period-head span:nth-child(3),.analytics-period-row span:nth-child(3),.analytics-period-head span:nth-child(5),.analytics-period-row span:nth-child(5){display:none}}@media(max-width:560px){.analytics-cards,.publication-flow ol{grid-template-columns:1fr}.feedback-toolbar{align-items:flex-start;flex-direction:column}.progress-table{overflow-x:auto}.progress-table .progress-head,.progress-table .progress-row{min-width:520px}}
.scheme-rule-panel,.scheme-simulation-row{margin-top:18px}.scheme-templates{display:grid;gap:9px}.scheme-template{display:grid;grid-template-columns:118px 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid #e5eaf2;border-radius:8px;background:#fafcff}.scheme-template b{font-size:14px}.scheme-template span{font-size:12px;color:#475569;line-height:1.45}.scheme-template small{grid-column:2/4;color:var(--muted);font-size:11px;line-height:1.5}.scheme-template .table-action{grid-column:3;grid-row:1;justify-self:end}.scheme-rule-table .progress-head,.scheme-rule-table .progress-row{grid-template-columns:1.05fr 1.1fr .9fr .85fr .6fr!important}.close-check-table .progress-head,.close-check-table .progress-row{grid-template-columns:.75fr 1fr .65fr 1.6fr!important}.simulation-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:12px}.simulation-metrics>div{padding:12px 11px;border:1px solid #e5eaf2;border-radius:8px;background:#fafcff}.simulation-metrics span,.simulation-metrics small{display:block;color:var(--muted);font-size:11px;line-height:1.45}.simulation-metrics strong{display:block;margin:5px 0;font-size:19px}.simulation-note{display:grid;grid-template-columns:72px 1fr;gap:9px;margin-top:9px;padding:10px 11px;border-left:3px solid #c8202f;border-radius:0 7px 7px 0;background:#fff8f8;color:#566176;font-size:12px;line-height:1.55}.simulation-note b{color:#172033}.simulation-people{display:grid;gap:5px;margin-top:10px;padding:10px 11px;border:1px solid #f3d2d5;border-radius:7px;background:#fffafa;color:#5d4650;font-size:12px}.simulation-people b{color:#9f2530}.simulation-people span{line-height:1.45}@media(max-width:900px){.scheme-rule-table .progress-head,.scheme-rule-table .progress-row,.close-check-table .progress-head,.close-check-table .progress-row{grid-template-columns:1fr 1fr!important}.scheme-rule-table .progress-head span:nth-child(3),.scheme-rule-table .progress-row span:nth-child(3),.scheme-rule-table .progress-head span:nth-child(5),.scheme-rule-table .progress-row span:nth-child(5){display:none}}@media(max-width:560px){.scheme-template{grid-template-columns:1fr}.scheme-template small,.scheme-template .table-action{grid-column:auto;grid-row:auto;justify-self:start}.simulation-metrics{grid-template-columns:1fr}.simulation-note{grid-template-columns:1fr}}
.management-actions{display:grid;gap:9px}.management-action{display:grid;grid-template-columns:1fr auto;gap:3px 12px;align-items:center;text-align:left;padding:13px 14px;border:1px solid #e5eaf2;background:#fafcff;color:var(--ink)}.management-action strong{grid-row:1/3;grid-column:2;font-size:24px;color:var(--primary)}.management-action span{font-size:12px;color:var(--muted)}.management-action.is-blocking{border-color:#fecdd3;background:#fff5f6}.management-action.is-attention{border-color:#f4d891;background:#fffaf0}.management-role-note{margin-top:18px}.management-role-note h3{margin-bottom:0}
.scorecard-kpis{margin-top:18px}.scorecard-head{display:flex;align-items:end;justify-content:flex-start;gap:10px}.scorecard-head>div{margin-right:auto}.scorecard-head h3{margin-bottom:0}.scorecard-head label{display:grid;gap:5px;color:#43526a;font-size:12px;font-weight:700}.scorecard-head input{height:36px;border:1px solid #cfd8e6;border-radius:7px;padding:7px 9px;background:#fff;font:13px inherit}.scorecard-table .progress-head,.scorecard-table .progress-row{grid-template-columns:.82fr 1.22fr .9fr 1fr .76fr!important}.scorecard-table .progress-row small{display:block;margin-top:4px;line-height:1.45;color:var(--muted)}.traceability-fieldset{display:grid;gap:10px;margin:2px 0;padding:13px;border:1px solid #d9e2ee;border-radius:10px;background:#f8fafc}.traceability-fieldset legend{padding:0 5px;color:#31435c;font-size:12px;font-weight:750}.traceability-fieldset .hint{margin:0}.traceability-fieldset select[multiple]{min-height:94px;padding:6px}.trace-readiness{margin-top:14px}.trace-checks{display:grid;gap:8px}.trace-checks>div{display:grid;grid-template-columns:22px 1fr;gap:1px 8px;align-items:center;padding:9px 10px;border:1px solid #e4eaf2;border-radius:8px;background:#fafcff}.trace-checks span{display:grid;grid-row:1/3;place-items:center;width:21px;height:21px;border-radius:999px;font-size:12px;font-weight:800}.trace-checks b{font-size:12px}.trace-checks small{color:var(--muted);font-size:11px}.trace-checks .is-ready{border-color:#b7eed5;background:#f2fcf7}.trace-checks .is-ready span{background:#dcf8ea;color:#057a55}.trace-checks .is-missing{border-color:#f4d891;background:#fffaf0}.trace-checks .is-missing span{background:#fff0c9;color:#9a6500}.responsibility-book-panel{margin-top:18px}.responsibility-book-table .progress-head,.responsibility-book-table .progress-row{grid-template-columns:1fr 1.25fr .9fr .7fr!important}.responsibility-book-table .progress-row small{display:block;margin-top:4px;line-height:1.45;color:var(--muted)}@media(max-width:700px){.scorecard-head{align-items:stretch;flex-wrap:wrap}.scorecard-head>div{flex-basis:100%}.scorecard-head label{flex:1}.scorecard-head input{width:100%}}
.annual-scorecard-panel{margin:18px 0}.annual-scorecard-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:16px 0}.annual-scorecard-summary>div{padding:13px 12px;border:1px solid #e4eaf2;border-radius:9px;background:#fafcff}.annual-scorecard-summary span,.annual-scorecard-summary small{display:block;color:var(--muted);font-size:11px;line-height:1.45}.annual-scorecard-summary strong{display:block;margin:6px 0 3px;font-size:22px;color:var(--ink)}.annual-scorecard-summary>div:first-child strong,.annual-scorecard-summary>div:last-child strong{color:var(--primary)}.annual-trend{padding:15px;border:1px solid #e5eaf2;border-radius:9px;background:#fbfcff}.annual-trend-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.annual-trend-head b{font-size:13px}.annual-trend-head small{color:var(--muted);font-size:11px}.annual-bars{height:168px;display:grid;grid-template-columns:repeat(12,1fr);gap:8px;align-items:end;padding-top:18px}.annual-bar-item{height:100%;display:grid;grid-template-rows:18px 1fr 16px;gap:4px;text-align:center}.annual-value,.annual-bar-item small{font-size:10px;color:var(--muted)}.annual-bar-item i{align-self:end;display:block;min-height:2px;border-radius:5px 5px 2px 2px;background:linear-gradient(#e4535f,#c8202f)}.annual-bar-item i.is-empty{background:#dbe3ee}@media(max-width:900px){.annual-scorecard-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.annual-scorecard-summary{grid-template-columns:repeat(2,1fr)}.annual-trend-head{display:block}.annual-trend-head small{display:block;margin-top:5px}.annual-bars{gap:4px}}
.department-team-filter{margin:18px 0}.dashboard-filter-row{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.dashboard-filter-row label{display:grid;gap:5px;color:#43526a;font-size:12px;font-weight:700}.dashboard-filter-row input,.dashboard-filter-row select{min-width:155px;min-height:38px;padding:8px 9px;border:1px solid #cbd6e4;border-radius:8px;background:#fff;font:13px inherit;color:var(--ink)}.dashboard-filter-row p{max-width:510px;margin:0 0 1px;color:var(--muted);font-size:12px;line-height:1.5}.dashboard-insight-row{align-items:stretch}.team-dashboard-trend{min-height:208px}.team-dashboard-bars{height:166px;display:flex;align-items:stretch;gap:10px;padding:8px 2px 0}.team-dashboard-bar{flex:1;min-width:58px;display:grid;grid-template-rows:18px 1fr 30px;gap:5px;align-items:end;text-align:center}.team-dashboard-bar b{font-size:12px;color:#394a62}.team-dashboard-bar i{display:block;align-self:end;min-height:4px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#ec6875,#bf1c2d);box-shadow:0 4px 9px rgba(198,32,50,.15)}.team-dashboard-bar small{font-size:10px;color:var(--muted);line-height:1.35}.team-dashboard-quality{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.department-team-ledger .progress-head,.department-team-ledger .progress-row{grid-template-columns:1fr 1.05fr 1.1fr 1fr .58fr!important}.department-team-ledger .progress-row small{display:block;margin-top:4px;color:var(--muted);line-height:1.45}.dashboard-clear-state{display:flex;gap:11px;align-items:flex-start;padding:15px;border:1px solid #b7eed5;border-radius:10px;background:#f1fcf6}.dashboard-clear-state>span{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:999px;background:#d7f6e5;color:#057a55;font-weight:800}.dashboard-clear-state b,.dashboard-clear-state small{display:block}.dashboard-clear-state b{font-size:13px}.dashboard-clear-state small{margin-top:3px;color:#497364;font-size:12px;line-height:1.5}.dashboard-drilldown-note{margin-top:20px}.dashboard-drilldown-note h3{margin-bottom:12px}.dashboard-drilldown-note>div{display:flex;gap:8px;flex-wrap:wrap}.dashboard-drilldown-note .hint{margin-bottom:0}@media(max-width:700px){.dashboard-filter-row{align-items:stretch}.dashboard-filter-row label{flex:1 0 calc(50% - 8px)}.dashboard-filter-row input,.dashboard-filter-row select{width:100%}.team-dashboard-bars{min-width:390px}.team-dashboard-trend{overflow-x:auto}.department-team-ledger .progress-head,.department-team-ledger .progress-row{min-width:760px!important}}

/* Product experience layer: visual only, no workflow or data behavior lives here. */
:root{--ink:#142033;--muted:#617087;--line:#dfe6ef;--primary:#c62032;--primary-dark:#a71727;--navy:#101c31;--navy-soft:#192946;--bg:#f3f6fa;--card:#fff;--surface:#f8fafc;--focus:#2563eb;--shadow:0 10px 28px rgba(20,32,51,.07);--shadow-raised:0 16px 42px rgba(20,32,51,.12);color-scheme:light}
html{background:var(--bg);scroll-behavior:smooth}body{min-width:320px;background:radial-gradient(circle at 100% 0,#fff 0,transparent 31rem),var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.skip-link{position:fixed;z-index:20;top:12px;left:12px;transform:translateY(-160%);padding:9px 13px;border-radius:8px;background:var(--navy);color:#fff;font-size:13px;font-weight:700;text-decoration:none;box-shadow:var(--shadow-raised)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 78%,white);outline-offset:3px}.shell{grid-template-columns:268px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;padding:24px 14px 18px;background:linear-gradient(180deg,#101c31 0%,#13223b 58%,#0c1729 100%);box-shadow:inset -1px 0 rgba(255,255,255,.08)}.brand{padding:0 8px;font-size:17px;letter-spacing:.01em}.brand-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#e23c4b,#b01224);box-shadow:0 6px 14px rgba(198,32,50,.32)}.tenant{margin:15px 8px 12px;padding:0 0 14px;line-height:1.5}.primary-navigation{gap:3px}.nav-item{position:relative;min-height:42px;padding:10px 12px;border:1px solid transparent;border-radius:9px;font-size:13px;font-weight:600;transition:background .16s ease,color .16s ease,transform .16s ease}.nav-item:hover{background:rgba(255,255,255,.075);transform:translateX(2px)}.nav-item.active{background:linear-gradient(90deg,rgba(211,48,63,.26),rgba(255,255,255,.09));border-color:rgba(255,255,255,.1);box-shadow:inset 3px 0 #ec5260}.nav-item.active::after{content:"";position:absolute;right:11px;width:5px;height:5px;border-radius:999px;background:#f57780}.nav-badge{background:rgba(198,32,50,.18);border-color:rgba(250,145,155,.34);color:#fecdd3}.sidebar-footer{margin:18px 8px 0;padding:15px 0 0}.dot{box-shadow:0 0 0 4px rgba(19,155,103,.13)}main{max-width:1640px;padding:0 clamp(22px,3.2vw,52px) 80px}.topbar{min-height:112px;border-bottom:1px solid rgba(223,230,239,.85);margin-bottom:25px}.topbar h1{font-size:clamp(24px,2vw,30px);font-weight:750;letter-spacing:-.025em}.topbar h1::after{content:"";display:block;width:30px;height:3px;margin-top:11px;border-radius:3px;background:var(--primary)}.actor{padding:7px 8px 7px 7px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.78);box-shadow:0 4px 15px rgba(20,32,51,.035)}.avatar{width:36px;height:36px;background:#fff0f1;border:1px solid #ffd8dc}.actor strong{font-size:13px}.actor .secondary{margin-left:5px}.section-intro{margin-bottom:20px}.section-intro h2{font-size:24px;letter-spacing:-.02em}.section-intro>p:last-child{max-width:860px;color:#596a82}.eyebrow{font-size:11px;letter-spacing:.12em}.panel,.cards article,.analytics-cards article{border-color:var(--line);box-shadow:0 1px 1px rgba(20,32,51,.02);transition:box-shadow .2s ease,border-color .2s ease}.panel{border-radius:14px;padding:22px}.panel:hover{box-shadow:var(--shadow)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.panel-head h2,.panel-head h3{margin:0}.cards,.analytics-cards{gap:16px;margin-bottom:20px}.cards article,.analytics-cards article{position:relative;overflow:hidden;padding:18px 19px;border-radius:14px;background:linear-gradient(145deg,#fff,#fbfcfe)}.cards article::before,.analytics-cards article::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:transparent}.cards article:hover::before,.analytics-cards article:hover::before{background:var(--primary)}.cards strong,.analytics-cards strong{font-variant-numeric:tabular-nums;font-weight:750;letter-spacing:-.035em}.cards article:hover,.analytics-cards article:hover{border-color:#cbd6e4;box-shadow:var(--shadow)}.notice{min-height:62px;border-radius:12px;background:linear-gradient(100deg,#fff5f5,#fffafa);border-color:#ffd9dd;box-shadow:0 5px 16px rgba(198,32,50,.045)}.notice strong{color:var(--primary-dark)}button{min-height:36px;border-radius:8px;font-weight:650;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease}button:hover:not(:disabled){transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.52;cursor:not-allowed}.primary{background:linear-gradient(135deg,#d52c3c,#b71729);box-shadow:0 5px 11px rgba(198,32,50,.17)}.primary:hover:not(:disabled){background:linear-gradient(135deg,#e23a49,#ab1223);box-shadow:0 8px 17px rgba(198,32,50,.24)}.secondary{background:#fff;border-color:#cbd6e4;color:#35445b}.secondary:hover:not(:disabled){background:#f8fafc;border-color:#9fadc0;box-shadow:0 4px 10px rgba(20,32,51,.07)}.table-action{font-weight:650;border-color:#edc3c8;background:#fffafa}.table-action:hover{box-shadow:0 5px 11px rgba(198,32,50,.16)}.form{gap:14px}.form h3{margin-bottom:2px}.form label,.login-card label{color:#384960;font-size:12px;letter-spacing:.01em}.form input,.form select,.form textarea,.login-card input,.mapping-toolbar input,.quality-toolbar input,.scorecard-head input{min-height:39px;border-color:#cbd6e4;border-radius:8px;box-shadow:inset 0 1px 1px rgba(20,32,51,.02);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.form input:hover,.form select:hover,.form textarea:hover,.login-card input:hover{border-color:#aebdcc}.form input:focus,.form select:focus,.form textarea:focus,.login-card input:focus,.mapping-toolbar input:focus,.quality-toolbar input:focus,.scorecard-head input:focus{border-color:var(--focus);outline:0;box-shadow:0 0 0 3px rgba(37,99,235,.14)}.form input[type="file"]{padding:7px}.form input[type="checkbox"],.form input[type="radio"]{min-height:auto;accent-color:var(--primary)}.form label:has(input+input){display:grid;grid-template-columns:1fr 112px;column-gap:8px}.form label:has(input+input)::first-line{grid-column:1/-1}.hint{margin-top:12px;border:1px solid #e5eaf2;background:#f8fafc;color:#617087}.checklist{background:linear-gradient(145deg,#fff,#fbfcff)}.checklist ol{line-height:2.15}.timeline{gap:0}.timeline li{padding:6px 17px 6px 0;margin-right:17px;border-right-color:#d5dde8}.timeline b{width:28px;height:28px;flex-basis:28px;background:#fff0f1;border:1px solid #ffd7db}.two-col{gap:20px}.system-list{margin-top:20px}.progress-table{border:1px solid #e3e9f1;border-radius:10px;overflow:hidden;background:#fff}.progress-head,.progress-row{gap:12px}.progress-head{min-height:40px;padding:11px 14px;background:#f4f7fb;color:#53647c;font-size:11px;font-weight:750;letter-spacing:.04em}.progress-row{padding:13px 14px;border-top:1px solid #e7edf4;background:#fff;transition:background .14s ease}.progress-row:hover{background:#fafcff}.progress-row b{font-size:13px}.progress-row small{font-size:11px}.status-chip{display:inline-flex;align-items:center;min-height:25px;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700;white-space:nowrap}.status-success{background:#ecfdf5!important}.status-warning{background:#fffaeb!important}.status-danger{background:#fff1f2!important}.status-neutral{background:#f1f5f9!important}.policy-layer,.monitoring-warning{border-radius:10px}.todo-card{border-top:3px solid transparent}.todo-card:hover{border-top-color:var(--primary)}.todo-icon{box-shadow:inset 0 0 0 1px #ffd5d9}.api-result{z-index:5;right:24px;bottom:22px;border:1px solid rgba(255,255,255,.12);border-radius:12px;box-shadow:var(--shadow-raised)}.login-layer{background:radial-gradient(circle at 20% 18%,#2d466e 0,transparent 28rem),linear-gradient(135deg,#0b1526,#182b49)}.login-card{border:1px solid rgba(255,255,255,.75);border-radius:18px;box-shadow:0 28px 80px rgba(3,10,22,.48)}
@media(max-width:1100px){.shell{grid-template-columns:230px minmax(0,1fr)}.sidebar{padding-inline:10px}.brand{font-size:15px}.nav-item{padding-inline:10px}.topbar{min-height:100px}.cards,.analytics-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.timeline li:nth-child(2){border-right:0;margin-right:0}.timeline li:nth-child(n+3){border-top:1px dashed #d5dde8;padding-top:13px}}
@media(max-width:820px){.shell{display:block}.sidebar{position:sticky;z-index:4;display:block;height:auto;max-height:46vh;padding:12px 14px 10px;overflow:hidden;background:linear-gradient(110deg,#101c31,#162946)}.brand{padding:0;font-size:16px}.tenant,.sidebar-footer{display:none}.primary-navigation{display:flex;gap:5px;overflow-x:auto;padding:11px 0 2px;scrollbar-width:thin}.nav-item{display:block;flex:0 0 auto;min-height:34px;padding:7px 10px;font-size:12px;white-space:nowrap}.nav-item:hover{transform:none}.nav-item.active::after{display:none}.nav-badge{display:none}main{padding:0 18px 74px}.topbar{min-height:86px;margin-bottom:20px}.topbar h1::after{margin-top:7px}.two-col{grid-template-columns:1fr}.panel{padding:18px}.timeline li{margin-right:0}.actor{padding:5px}.actor .actor-meta{display:none}}
@media(max-width:560px){body{background:var(--bg)}.sidebar{max-height:none}.brand-mark{width:30px;height:30px}.primary-navigation{margin-inline:-4px;padding-inline:4px}.topbar{min-height:74px}.topbar h1{font-size:22px}.actor{border:0;background:transparent;box-shadow:none}.actor>div{display:none}.actor .avatar{display:grid}.actor .compact{padding:6px 8px}.section-intro h2{font-size:21px}.panel{border-radius:12px;padding:15px}.cards,.analytics-cards{grid-template-columns:1fr;gap:10px}.cards article,.analytics-cards article{padding:15px 16px}.notice{align-items:flex-start;padding:14px;gap:7px}.notice span{font-size:13px}.notice button{width:100%}.timeline{grid-template-columns:1fr}.timeline li,.timeline li:nth-child(n+3){border:0;border-top:1px dashed #d5dde8;margin:0;padding:12px 0 0}.timeline li:first-child{border-top:0;padding-top:0}.form label:has(input+input){grid-template-columns:1fr 88px}.form-actions{flex-wrap:wrap}.form-actions button{flex:1}.panel-head{align-items:flex-start}.progress-table{overflow-x:auto}.progress-table .progress-head,.progress-table .progress-row{min-width:540px}.api-result{right:12px;bottom:12px;width:calc(100vw - 24px)}.api-result pre{max-height:96px}.login-card{padding:24px 20px;border-radius:15px}.annual-bars{min-width:390px}.annual-trend{overflow-x:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* P19-A: readiness metadata only. This presentation layer never renders source exports or secrets. */
.pilot-readiness-grid{align-items:start}.pilot-readiness-gate{position:sticky;top:22px}.pilot-readiness-gate .trace-checks{gap:9px}.pilot-readiness-gate .trace-checks .hint{grid-column:1/-1;margin:0}.pilot-readiness-next{margin-top:16px;padding:13px 14px;border:1px solid #f3d2d5;border-radius:9px;background:#fff8f8;color:#5e4850;font-size:12px;line-height:1.6}.pilot-readiness-next b{display:block;margin-bottom:4px;color:#982432}.pilot-readiness-next p{margin:0}.pilot-readiness-ledger{margin-top:20px}.pilot-readiness-table .progress-head,.pilot-readiness-table .progress-row{grid-template-columns:1fr 1.1fr 1.05fr .92fr!important}.pilot-readiness-table .progress-row small{display:block;margin-top:4px;line-height:1.45;color:var(--muted)}.pilot-readiness-table .table-action{margin-top:6px}.pilot-readiness-cards article:first-child strong{color:#b42336}.pilot-readiness-cards article:first-child:has(strong){border-color:#f0c2c8}@media(max-width:900px){.pilot-readiness-gate{position:static}.pilot-readiness-table .progress-head,.pilot-readiness-table .progress-row{min-width:760px!important}}@media(max-width:560px){.pilot-readiness-cards{grid-template-columns:1fr}.pilot-readiness-table .progress-head,.pilot-readiness-table .progress-row{min-width:700px!important}}

/* P19-B: simulator control surface. It presents only aggregate, controlled references. */
.pilot-parallel-grid{align-items:start}.pilot-parallel-gate{position:sticky;top:22px}.pilot-parallel-gate .trace-checks{gap:9px}.pilot-parallel-gate .trace-checks .hint{grid-column:1/-1;margin:0}.pilot-parallel-cards article:first-child strong,.pilot-parallel-cards article:last-child strong{color:#b42336}.pilot-parallel-ledger,.pilot-disposition-panel{margin-top:20px}.pilot-parallel-table .progress-head,.pilot-parallel-table .progress-row{grid-template-columns:.92fr 1.16fr 1.15fr 1.05fr!important}.pilot-parallel-table .progress-row small{display:block;margin-top:5px;line-height:1.48;color:var(--muted)}.pilot-parallel-table .table-action{margin-top:7px}.pilot-disposition-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(245px,.8fr);gap:22px;align-items:start}.pilot-disposition-note{padding:16px;border:1px solid #f0d9dc;border-radius:10px;background:linear-gradient(145deg,#fffafa,#fff)}.pilot-disposition-note>b{color:#982432;font-size:13px}.pilot-disposition-note ul{display:grid;gap:9px;margin:12px 0;padding-left:19px;color:#4d5c72;font-size:12px;line-height:1.5}.pilot-disposition-note li::marker{color:#c62032}.pilot-disposition-note p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}@media(max-width:900px){.pilot-parallel-gate{position:static}.pilot-disposition-grid{grid-template-columns:1fr}.pilot-parallel-table .progress-head,.pilot-parallel-table .progress-row{min-width:800px!important}}@media(max-width:560px){.pilot-parallel-cards{grid-template-columns:1fr}.pilot-parallel-table .progress-head,.pilot-parallel-table .progress-row{min-width:730px!important}}
/* C-M0-02-FE: evaluation model read-only ledger and 1+8 traceability. */
.evaluation-model-ledger,.evaluation-mainline-panel{margin-top:20px}.evaluation-model-table .progress-head,.evaluation-model-table .progress-row{grid-template-columns:1.05fr .85fr .72fr 1.15fr 1.25fr!important}.evaluation-model-table .progress-row small{display:block;margin-top:4px;line-height:1.45;color:var(--muted)}.evaluation-model-table .evaluation-dimensions{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.evaluation-model-table .evaluation-dimensions .status-chip{min-height:22px;padding:2px 7px}.evaluation-mainline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.evaluation-mainline-item{position:relative;min-height:92px;padding:13px;border:1px solid #e1e8f0;border-radius:10px;background:linear-gradient(145deg,#fff,#fafcff)}.evaluation-mainline-item.is-root{grid-column:1/-1;border-color:#f0c4c9;background:linear-gradient(105deg,#fff6f6,#fff)}.evaluation-mainline-item b,.evaluation-mainline-item span,.evaluation-mainline-item small{display:block}.evaluation-mainline-item b{color:#263750;font-size:13px}.evaluation-mainline-item span{margin-top:4px;color:#53647c;font-size:12px}.evaluation-mainline-item small{margin-top:7px;color:var(--muted);font-size:11px;line-height:1.4}.evaluation-mainline-item .mainline-index{display:inline-grid;place-items:center;width:22px;height:22px;margin-bottom:8px;border-radius:7px;background:#fff0f1;color:#a71727;font-weight:800;font-size:11px}.evaluation-mainline-item.is-root .mainline-index{background:#c62032;color:#fff}@media(max-width:900px){.evaluation-mainline{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.evaluation-mainline{grid-template-columns:1fr}.evaluation-model-table .progress-head,.evaluation-model-table .progress-row{min-width:820px!important}}

/* National secondary-2025 policy centre: reference catalogue and hospital adoption remain separate. */
.policy-catalog-overview,.policy-adoption-ledger,.policy-item-ledger{margin-top:20px}.policy-adoption-grid{margin-top:20px;align-items:start}.policy-source-card{display:grid;gap:14px}.policy-source-card>div:first-child{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.policy-source-card b,.policy-source-card small{display:block}.policy-source-card small{margin-top:4px;color:var(--muted)}.policy-source-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.policy-source-card dl div{padding:12px;border:1px solid #e3e9f1;border-radius:9px;background:#fafcff}.policy-source-card dt{color:var(--muted);font-size:11px}.policy-source-card dd{margin:5px 0 0;overflow-wrap:anywhere;font-size:12px}.policy-block-reasons{margin:0;padding:12px;border:1px solid #f1c6cb;border-radius:9px;background:#fff6f7;color:#782936;font-size:12px;line-height:1.65}.policy-impact-item{padding:13px 0;border-bottom:1px solid #e8edf4}.policy-impact-item:last-child{border-bottom:0}.policy-impact-item>div{display:flex;justify-content:space-between;gap:8px}.policy-impact-item p{margin:8px 0 4px;font-size:12px}.policy-impact-item small,.policy-impact-item code{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.5}.policy-item-table .progress-head,.policy-item-table .progress-row,.policy-adoption-table .progress-head,.policy-adoption-table .progress-row{grid-template-columns:1.15fr .9fr 1fr 1.3fr!important}.policy-item-table .progress-row small,.policy-adoption-table .progress-row small{display:block;margin-top:4px;color:var(--muted);line-height:1.45}.policy-item-table .progress-row>span:last-child b{color:#a31c2d}.policy-adoption-table .table-action{margin:6px 5px 0 0}@media(max-width:900px){.policy-source-card dl{grid-template-columns:1fr}.policy-item-table .progress-head,.policy-item-table .progress-row,.policy-adoption-table .progress-head,.policy-adoption-table .progress-row{min-width:860px!important}}

/* C-P21-03 formal secondary-allocation console. */
.allocation-pool-table .progress-head,.allocation-pool-table .progress-row{grid-template-columns:1.1fr 1.15fr .85fr 1.25fr!important}.allocation-pool-table .progress-row>span:last-child{display:flex;gap:6px;flex-wrap:wrap}.allocation-pool-table small{display:block;margin-top:4px}.allocation-pool-table .status-chip{width:max-content}@media(max-width:900px){.allocation-pool-table .progress-head,.allocation-pool-table .progress-row{min-width:800px!important}}
