:root{color-scheme:light;--surface-0: #f4f4f2;--surface-1: #fcfcfb;--surface-2: #f0efec;--line: #e2e1dc;--line-strong: #cfcdc6;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #77756f;--accent: #1f3a5f;--accent-ink: #ffffff;--link: #1c5cab;--focus: #2a78d6;--cell-empty: #f0efec;--s1: #2a78d6;--s2: #eb6834;--s3: #1baf7a;--s4: #eda100;--s5: #e87ba4;--good: #0ca30c;--good-ink: #006300;--critical: #d03b3b;--mark-bg: #fde7a6;--radius: 8px;--shadow: 0 1px 2px rgba(0, 0, 0, .05);font-family:Inter,Segoe UI,system-ui,-apple-system,Roboto,Noto Sans,sans-serif;font-size:14px;line-height:1.45;color:var(--text-primary);background:var(--surface-0)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--surface-0: #121211;--surface-1: #1a1a19;--surface-2: #252523;--line: #2f2f2c;--line-strong: #44443f;--text-primary: #f0efec;--text-secondary: #c3c2b7;--text-muted: #9a988f;--accent: #86b6ef;--accent-ink: #0b0b0b;--link: #86b6ef;--cell-empty: #252523;--s1: #3987e5;--s2: #d95926;--s3: #199e70;--s4: #c98500;--s5: #d55181;--good-ink: #4cc24c;--mark-bg: #5c4a10}}*{box-sizing:border-box}body{margin:0;background:var(--surface-0)}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:22px;margin:0 0 4px;font-weight:650;letter-spacing:-.01em}h2{font-size:15px;margin:0 0 12px;font-weight:650}h3{font-size:14px;margin:16px 0 8px}h4{font-size:12px;margin:10px 0 4px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.muted{color:var(--text-muted)}.small{font-size:12px}.num{font-variant-numeric:tabular-nums}.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12.5px}.r{text-align:right}.l{text-align:left}.right{margin-left:auto}.mt{margin-top:20px}.err{color:var(--critical)}.ok,.yes{color:var(--good-ink)}.center{display:grid;place-items:center;min-height:60vh}.dim{opacity:.55;transition:opacity .15s}.empty{padding:40px;text-align:center;color:var(--text-muted);background:var(--surface-1);border-radius:var(--radius)}.print-only{display:none}.btn{border:1px solid var(--line-strong);background:var(--surface-1);color:var(--text-primary);border-radius:6px;padding:7px 12px;font:inherit;cursor:pointer;white-space:nowrap}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{filter:brightness(1.1)}.btn.ghost{border-color:transparent;background:transparent;color:var(--link)}.btn.small{padding:4px 8px;font-size:12px}.btn.danger{color:var(--critical)}.btn.wide{width:100%;padding:10px}.btn:disabled{opacity:.5;cursor:default}button.link{border:0;background:none;color:var(--link);padding:0;font:inherit;cursor:pointer}input,select{font:inherit;color:var(--text-primary);background:var(--surface-1);border:1px solid var(--line-strong);border-radius:6px;padding:7px 10px}label{display:grid;gap:4px;font-size:13px;color:var(--text-secondary)}label.row{display:flex;align-items:center;gap:8px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:24px;padding:0 20px;height:56px;background:var(--surface-1);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-weight:650;color:var(--accent);min-width:0}.brand-name{color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tabs{display:flex;gap:4px;height:100%}.tabs a{display:flex;align-items:center;padding:0 12px;color:var(--text-secondary);border-bottom:2px solid transparent}.tabs a:hover{color:var(--text-primary);text-decoration:none}.tabs a.active{color:var(--text-primary);border-bottom-color:var(--accent);font-weight:600}.top-right{margin-left:auto;display:flex;align-items:center;gap:12px}.lang{display:inline-flex;border:1px solid var(--line-strong);border-radius:6px;overflow:hidden}.lang button{border:0;background:var(--surface-1);padding:5px 9px;font:inherit;font-size:12px;cursor:pointer;color:var(--text-secondary)}.lang button.on{background:var(--accent);color:var(--accent-ink)}.lang.right{float:right}.usermenu{position:relative}.usermenu summary{cursor:pointer;list-style:none;padding:6px 10px;border-radius:6px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usermenu summary:hover{background:var(--surface-2)}.usermenu .menu{position:absolute;right:0;top:38px;background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px #0000001f;padding:8px;display:grid;gap:4px;min-width:200px}.usermenu .menu button{text-align:left;border:0;background:none;padding:8px;border-radius:6px;font:inherit;cursor:pointer;color:var(--text-primary)}.usermenu .menu button:hover{background:var(--surface-2)}.usermenu .menu .muted{padding:4px 8px}.content{max-width:1400px;margin:0 auto;padding:20px}.page{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.app{min-width:0;overflow-x:clip}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-head p{margin:0;max-width:900px}.actions{display:flex;gap:8px;flex-wrap:wrap}.card{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);min-width:0}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.card-head h2{margin:0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.filterbar{display:grid;gap:10px;background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.filter-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.search{display:flex;gap:8px}.search input{flex:1;min-width:0}.search.big input{padding:10px 12px;font-size:15px}.ms{position:relative}.ms-btn{display:inline-flex;max-width:100%;align-items:center;gap:6px;border:1px solid var(--line-strong);background:var(--surface-1);border-radius:6px;padding:6px 10px;font:inherit;cursor:pointer;color:var(--text-primary);max-width:280px}.ms.on .ms-btn{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.ms-label{color:var(--text-secondary);font-size:12px}.ms-val{font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-pop{position:absolute;z-index:30;top:calc(100% + 4px);left:0;min-width:260px;max-width:420px;max-height:380px;overflow:auto;background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px #00000024;padding:6px}.ms-opt{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;color:var(--text-primary);font-size:13px}.ms-opt:hover{background:var(--surface-2)}.ms-clear{border:0;background:none;color:var(--link);padding:6px 8px;cursor:pointer;font:inherit;font-size:12px}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border-radius:999px;padding:4px 6px 4px 10px;font-size:12px}.chip button{border:0;background:none;cursor:pointer;color:var(--text-secondary);font-size:14px}.seg-ctrl{display:inline-flex;align-items:center;border:1px solid var(--line-strong);border-radius:6px;overflow:hidden}.seg-ctrl .seg-title{font-size:12px;color:var(--text-secondary);padding:0 8px}.seg-ctrl button{border:0;border-left:1px solid var(--line);background:var(--surface-1);padding:6px 10px;font:inherit;font-size:12.5px;cursor:pointer;color:var(--text-secondary)}.seg-ctrl button.on{background:var(--accent);color:var(--accent-ink)}.filter-summary{margin:4px 0;font-size:12px}.ind-note{margin:-4px 0 0}.kpis{display:grid;grid-template-columns:1.4fr repeat(5,1fr);gap:12px}.kpi{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius);padding:14px;text-align:left;font:inherit;color:inherit;min-width:0}.kpi.cat{cursor:pointer}.kpi.cat:hover{border-color:var(--line-strong)}.kpi.sel{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.kpi-label{font-size:12.5px;color:var(--text-secondary)}.kpi-value{font-size:26px;font-weight:650;margin:2px 0 6px;font-variant-numeric:tabular-nums}.kpi.hero .kpi-value{font-size:44px;line-height:1.1}.kpi-sub{font-size:12px}.meter{height:6px;border-radius:3px;background:#cde2fb;overflow:hidden;margin-bottom:6px}.meter span{display:block;height:100%;background:var(--s1);border-radius:3px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .meter{background:#184f95}}.tip{position:fixed;z-index:100;pointer-events:none;background:var(--surface-1);color:var(--text-primary);border:1px solid var(--line-strong);border-radius:6px;padding:8px 10px;font-size:12.5px;box-shadow:0 6px 18px #00000026;max-width:300px}.tilemap-wrap{position:relative}.tilemap{width:100%;height:auto;display:block}.tile{cursor:pointer;outline:none}.tile rect{stroke:var(--surface-1);stroke-width:2}.tile:hover rect,.tile:focus rect{stroke:var(--text-primary)}.tile rect.sel{stroke:var(--accent);stroke-width:3}.tile-name{font-size:11px;font-weight:500}.tile-val{font-size:17px;font-weight:650;font-variant-numeric:tabular-nums}.seq-legend{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-muted);margin-top:6px}.seq-bar{width:160px;height:8px;border-radius:4px;background:linear-gradient(90deg,#e8f1fc,#86b6ef,#2a78d6,#104281)}.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--text-secondary);margin-bottom:10px}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-item i{width:10px;height:10px;border-radius:2px;display:inline-block}.sbars{display:grid;gap:8px}.sbar-row{display:grid;grid-template-columns:120px 1fr 56px;gap:10px;align-items:center}.sbar-label{font-size:12.5px}.sbar{display:flex;gap:2px;height:22px}.sbar .seg{min-width:2px;height:100%;display:flex;align-items:center;justify-content:center;overflow:visible}.sbar .seg:first-child{border-radius:4px 0 0 4px}.sbar .seg:last-child{border-radius:0 4px 4px 0}.sbar .seg:only-child{border-radius:4px}.seg-lbl{font-size:11px;font-weight:600;color:#0b0b0b;white-space:nowrap}.sbar .seg:first-child .seg-lbl{color:#fff}.sbar-total{font-size:12px;text-align:right;color:var(--text-secondary)}.hbars{display:grid;gap:6px}.hbar-row{display:grid;grid-template-columns:minmax(0,1.4fr) 1fr auto;gap:10px;align-items:center;font-size:12.5px}.hbar-row.click{cursor:pointer}.hbar-row.click:hover .hbar-label{color:var(--link)}.hbar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar-track{height:12px}.hbar{display:block;height:100%;background:var(--s1);border-radius:0 4px 4px 0;min-width:2px}.hbar-val{white-space:nowrap}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}th{font-size:12px;font-weight:600;color:var(--text-secondary);text-align:left;padding:8px;border-bottom:1px solid var(--line-strong);white-space:nowrap}td{padding:8px;border-bottom:1px solid var(--line);vertical-align:top}tr.click{cursor:pointer}tr.click:hover td{background:var(--surface-2)}table.heat td{vertical-align:middle}table.heat tr.click:hover td.heat-cell{filter:brightness(.95)}.heat-cell{min-width:96px;white-space:nowrap;border-left:2px solid var(--surface-1)}.heat-cell .cnt{font-size:11px;opacity:.75;margin-left:4px}.bar-cell{min-width:120px}td.bar-cell{display:table-cell}.bar-cell .bar-wrap{display:inline-block;width:60px;height:12px;vertical-align:middle;margin-right:8px}.mini-bar{display:block;height:12px;background:#cde2fb;border-radius:0 4px 4px 0;min-width:2px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .mini-bar{background:#184f95}}.list .ptitle{font-weight:550}.list.compact td{padding:6px 8px}.list-head label{display:flex;align-items:center;gap:8px}.list-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.catdots{display:inline-flex;gap:3px;flex-wrap:wrap}.catdot{font-size:10.5px;padding:2px 5px;border-radius:4px;background:var(--surface-2);color:var(--text-muted);border:1px solid transparent}.catdot.on{background:var(--s1);color:#fff}.catdot.some{border-color:var(--line-strong);color:var(--text-secondary);background:transparent}.pager{display:flex;gap:12px;align-items:center;justify-content:center;padding:8px}.ptitle-lg{font-size:20px;line-height:1.3;margin:6px 0 14px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin:0}.fields div{display:grid;grid-template-columns:170px 1fr;gap:8px}.fields dt{color:var(--text-muted);font-size:12.5px}.fields dd{margin:0}.chips{display:flex;flex-wrap:wrap;gap:6px}.chipbtn{border:1px solid var(--line-strong);background:var(--surface-1);border-radius:999px;padding:4px 10px;font:inherit;font-size:12.5px;cursor:pointer;color:var(--text-primary)}.chipbtn.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.chipbtn.on .muted{color:inherit;opacity:.8}.ev-group h3{border-bottom:1px solid var(--line);padding-bottom:6px}.ev{padding:12px 0;border-bottom:1px solid var(--line)}.ev:last-child{border-bottom:0}.card-ish{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;margin-bottom:8px}.ev-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ev-claim{margin:8px 0 4px;font-size:14px}.ev-claim mark,mark{background:var(--mark-bg);color:inherit;padding:0 1px;border-radius:2px}blockquote{margin:4px 0;padding:4px 10px;border-left:3px solid var(--line-strong);color:var(--text-secondary);font-size:13px}.ev-actions{display:flex;gap:16px;margin-top:6px;font-size:12.5px}.ev-more{background:var(--surface-2);border-radius:6px;padding:4px 12px 10px;margin-top:8px;font-size:13px}.pre{white-space:pre-wrap;margin:0}.fragment{background:var(--surface-2);border-radius:6px;padding:8px;font-size:12px;white-space:pre-wrap;max-height:360px;overflow:auto}.fragment .hit{background:var(--mark-bg)}.fragment .ln{display:inline-block;width:44px;color:var(--text-muted);-webkit-user-select:none;user-select:none}.badge{display:inline-block;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid var(--line-strong);color:var(--text-secondary)}.badge.st-confirmed{border-color:var(--s1);color:var(--text-primary);box-shadow:inset 3px 0 0 var(--s1)}.badge.st-achieved_review{box-shadow:inset 3px 0 0 var(--s2)}.badge.st-cross_review{box-shadow:inset 3px 0 0 var(--s3)}.badge.st-planned{box-shadow:inset 3px 0 0 var(--s4)}.badge.st-unclear{box-shadow:inset 3px 0 0 var(--s5)}.badge.cat{background:var(--surface-2);border-color:transparent}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:grid;place-items:center;z-index:50;padding:16px}.modal{background:var(--surface-1);border-radius:10px;padding:20px;width:min(440px,100%);display:grid;gap:12px;box-shadow:0 20px 60px #00000040}.modal h3{margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.login-page{min-height:100vh;display:grid;place-items:center;padding:16px;background:radial-gradient(1200px 600px at 20% 0%,#dbe8f8 0%,transparent 60%),var(--surface-0)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .login-page{background:var(--surface-0)}}.login-card{width:min(400px,100%);background:var(--surface-1);border:1px solid var(--line);border-radius:12px;padding:28px;display:grid;gap:14px;box-shadow:0 12px 40px #00000014}.login-card h1{font-size:20px;margin-top:8px}.login-card p{margin:0}@media (max-width: 1100px){.kpis{grid-template-columns:repeat(3,1fr)}.kpi.hero{grid-column:1 / -1}.grid2{grid-template-columns:1fr}.brand-name{display:none}}@media (max-width: 700px){.content{padding:12px}.topbar{gap:8px;padding:0 12px;height:auto;flex-wrap:wrap}.tabs{order:3;width:100%;overflow-x:auto;height:44px}.kpis{grid-template-columns:repeat(2,1fr)}.fields{grid-template-columns:1fr}.fields div{grid-template-columns:1fr;gap:2px}.sbar-row{grid-template-columns:90px 1fr 44px}.hbar-row{grid-template-columns:1fr;gap:2px}.ms-pop{min-width:0;width:calc(100vw - 48px)}.seg-ctrl,.search{flex-wrap:wrap}.list th:nth-child(3),.list td:nth-child(3),.list th:nth-child(4),.list td:nth-child(4){display:none}.kpi.hero .kpi-value{font-size:36px}}@media print{@page{size:A4;margin:14mm 12mm}:root{--surface-0: #fff;--surface-1: #fff;font-size:11px}.no-print,.topbar,.filterbar,.pager{display:none!important}.print-only{display:block}.print-head h1{font-size:16px}.content{padding:0;max-width:none}.card,.kpi{box-shadow:none;break-inside:avoid}.grid2{grid-template-columns:1fr 1fr}.kpis{grid-template-columns:repeat(6,1fr)}.kpi.hero .kpi-value{font-size:28px}.heat-cell,.tile rect,.sbar .seg,.catdot.on,.hbar,.mini-bar,.meter span{-webkit-print-color-adjust:exact;print-color-adjust:exact}table{page-break-inside:auto}tr{break-inside:avoid}a{color:inherit}}.toggle{display:inline-flex;flex-direction:row;align-items:center;gap:6px;font-size:12.5px;color:var(--text-secondary);border:1px solid var(--line-strong);border-radius:6px;padding:6px 10px;cursor:pointer}.toggle.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);color:var(--text-primary)}.toggle input{margin:0}.badge.warn{border-color:var(--s4);color:var(--text-primary);box-shadow:inset 3px 0 0 var(--s4);margin-left:4px}.warn-box{background:color-mix(in srgb,var(--s4) 14%,var(--surface-1));border-left:3px solid var(--s4);border-radius:6px;padding:8px 12px;margin:0}.rep .ptitle{font-weight:600;margin-top:6px}.snip-link{display:block;margin-top:8px;padding:8px 10px;border-radius:6px;background:var(--surface-2);color:var(--text-primary)}.snip-link:hover{text-decoration:none;box-shadow:inset 0 0 0 1px var(--line-strong)}.snippet{margin:0 0 2px;font-size:13px}.doc-links{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.doc-links .btn{display:inline-flex;gap:8px;align-items:center;color:var(--text-primary)}.doc-links .btn:hover{text-decoration:none}.reader-bar{position:sticky;top:56px;z-index:10;display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius);padding:8px 12px;box-shadow:var(--shadow)}.reader-title{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-bar .search input{width:260px}.hitnav{display:inline-flex;align-items:center;gap:6px}.report-text{max-width:900px;width:100%;justify-self:center;font-size:15px;line-height:1.6}.rt-chunk{padding:2px 0;transition:background-color .6s;border-radius:6px}.rt-chunk.flash{background:color-mix(in srgb,var(--mark-bg) 50%,transparent)}.rt-p{margin:0 0 8px;white-space:pre-wrap;overflow-wrap:anywhere}.rt-h{font-size:15px;text-transform:none;letter-spacing:0;color:var(--text-primary);margin:18px 0 8px}.page-mark{text-align:center;color:var(--text-muted);font-size:11px;margin:14px 0;border-top:1px dashed var(--line);padding-top:4px}@media (max-width: 700px){.reader-bar{top:0;position:static}.reader-bar .search input{width:100%}.report-text{font-size:14px}}@media print{.reader-bar{display:none}.report-text{max-width:none;font-size:11px}}.kpis-proj{grid-template-columns:1.3fr 1.6fr repeat(4,1fr)}.kpis-proj .kpi.hero .kpi-value{font-size:38px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid2-wide{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:start}.small-seg button{padding:4px 9px;font-size:12px}.dim-ctrls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.dim-search{padding:5px 9px;font-size:13px;width:180px}.dimtable td{vertical-align:middle}.dimtable .bar-cell .bar-wrap{width:48px}.donut-wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.donut{width:140px;height:140px;flex:none}.donut path{stroke:var(--surface-1);stroke-width:0}.donut path.click{cursor:pointer}.donut path:hover{opacity:.85}.donut-c{font-size:15px;font-weight:650;fill:var(--text-primary);font-variant-numeric:tabular-nums}.donut-legend{list-style:none;margin:0;padding:0;display:grid;gap:8px;min-width:0;flex:1;font-size:13px}.donut-legend li{display:grid;grid-template-columns:10px minmax(0,1fr) auto auto;gap:8px;align-items:center}.donut-legend li.click{cursor:pointer}.donut-legend li.click:hover span:nth-child(2){color:var(--link)}.donut-legend i{width:10px;height:10px;border-radius:2px}.ybars{display:flex;gap:18px;align-items:flex-end;height:170px;padding-top:6px}.ybar-col{flex:1;display:grid;grid-template-rows:auto 1fr auto;height:100%;text-align:center;gap:4px}.ybar-val{font-size:12px;color:var(--text-secondary)}.ybar-track{display:flex;align-items:flex-end;justify-content:center}.ybar{width:min(24px,60%);background:var(--s1);border-radius:4px 4px 0 0;min-height:2px;display:block}.ybar-lbl{font-size:12px;color:var(--text-secondary)}table.matrix{border-collapse:separate;border-spacing:2px}table.matrix th,table.matrix td{border:0;padding:6px;font-size:12px}.mx-col{vertical-align:bottom;min-width:64px;max-width:90px;white-space:normal;font-weight:500;line-height:1.2}.mx-cell{text-align:center;font-variant-numeric:tabular-nums;border-radius:3px;min-width:64px}.mx-cell.click{cursor:pointer}.mx-cell.click:hover{outline:2px solid var(--text-primary);outline-offset:-2px}.res-btn{border:1px solid var(--line-strong);background:var(--surface-1);color:var(--text-primary);border-radius:6px;padding:4px 8px;font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}.res-btn:hover{border-color:var(--accent)}.modal.wide{width:min(1100px,100%);max-height:90vh;overflow:auto}.modal h4{margin-top:14px}.total-row td{border-top:1px solid var(--line-strong)}.guide summary{cursor:pointer}.guide[open] summary{margin-bottom:8px}@media (max-width: 1100px){.kpis-proj{grid-template-columns:repeat(2,1fr)}.grid3,.grid2-wide{grid-template-columns:1fr}}@media print{.grid3{grid-template-columns:repeat(3,1fr)}.kpis-proj{grid-template-columns:repeat(6,1fr)}}.help-btn{width:30px;height:30px;border-radius:50%;border:1px solid var(--line-strong);background:var(--surface-1);color:var(--text-secondary);font:inherit;font-weight:700;cursor:pointer;flex:none}.help-btn:hover{border-color:var(--accent);color:var(--accent)}h1 .help-btn{width:24px;height:24px;font-size:13px;vertical-align:middle;margin-left:6px}.help-inline{margin-left:4px}.drawer-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#00000040;display:flex;justify-content:flex-end}.drawer{width:min(520px,100%);height:100%;overflow:auto;background:var(--surface-1);padding:18px 22px 30px;box-shadow:-12px 0 40px #0000002e;animation:slidein .18s ease-out}@keyframes slidein{0%{transform:translate(30px);opacity:.4}to{transform:none;opacity:1}}.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.drawer h2{font-size:18px}.drawer-more{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 8px}.md p{margin:0 0 10px}.md ul{margin:0 0 10px;padding-left:20px}.md li{margin:3px 0}.md h4{margin:14px 0 6px}.md code{background:var(--surface-2);padding:1px 5px;border-radius:4px;font-size:12.5px}.help-table td,.help-table th{white-space:normal}.help-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:start}.help-toc{position:sticky;top:72px;background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius);padding:10px}.help-toc input{width:100%;margin-bottom:8px}.help-toc ul{list-style:none;margin:0;padding:0}.help-toc li a{display:block;padding:5px 8px;border-radius:6px;color:var(--text-secondary);font-size:13px}.help-toc li a:hover{background:var(--surface-2);text-decoration:none}.help-toc li.on a{background:var(--surface-2);color:var(--text-primary);font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}.help-toc li.dimmed a{opacity:.35}.help-body{display:grid;gap:14px;min-width:0}.help-sec{scroll-margin-top:70px}.help-page .page-head .md p{margin:4px 0 0;max-width:900px;color:var(--text-secondary)}@media (max-width: 800px){.help-layout{grid-template-columns:1fr}.help-toc{position:static}}@media print{.help-layout{grid-template-columns:1fr}.help-sec{break-inside:auto}}.tabs a{white-space:nowrap;padding:0 10px}@media (max-width: 1500px){.brand-name{display:none}}.badge.rep{background:var(--bg-soft, #eef2f7);color:var(--muted, #556);border:1px solid var(--line, #d6dce4);font-weight:500}.badge.rep-interim{background:#fff6e5;border-color:#f0d9a8;color:#7a5300}.reports-list{margin:10px 0 4px}.reports-list h3{margin:0 0 6px}.report-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0;border-top:1px solid var(--line, #e3e7ec)}.report-row .doc-links{display:inline-flex;flex-wrap:wrap;gap:6px}.btn.small{padding:2px 8px;font-size:12px}@media (prefers-color-scheme: dark){.badge.rep-interim{background:#3a2f12;border-color:#5c4a1c;color:#f3d48a}}.cs{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.cs-full{background:#e3f3ea;color:#1f7a4a}.cs-other{background:#fbf0d9;color:#9a6200}.cs-none{background:#f9e5e2;color:#b03a2e}tr.total td{border-top:2px solid var(--line, #d6dce4)}@media (prefers-color-scheme: dark){.cs-full{background:#16352a;color:#6fd39b}.cs-other{background:#3a2e12;color:#f0c060}.cs-none{background:#3d1f1b;color:#f08a7e}}.proj-results section{margin-bottom:18px}.proj-results h3{margin:6px 0 2px}.year-block{border-top:1px solid var(--line, #e3e7ec);padding:8px 0}.year-head{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline}.metric-line{font-size:13px;color:var(--muted, #556)}.res-text{margin:4px 0;white-space:pre-line}.res-group h4{margin:10px 0 4px}.res-item{border-left:3px solid var(--line, #d6dce4);padding:4px 0 6px 10px;margin:6px 0}.res-item p{margin:0 0 4px}.res-meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.badge.src-official{background:#e8eaf5;color:#3c4a86}.badge.src-ai{background:#e1f0f1;color:#0b6e7a}.admin-details>summary{cursor:pointer;padding:4px 0}.admin-details[open]>summary{margin-bottom:10px}nav.tabs a.admin-tab{color:var(--muted, #667);font-style:italic}@media (prefers-color-scheme: dark){.badge.src-official{background:#252b4a;color:#a9b4ec}.badge.src-ai{background:#163a40;color:#4cc0cc}}.issue{border-top:1px solid var(--line);padding:8px 0;display:grid;gap:3px}.issue-src{word-break:break-word;color:var(--text-secondary)}.row-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:10px 0}.row-tools input[type=search]{min-width:240px}.badge.run-ok{box-shadow:inset 3px 0 0 var(--s1)}.badge.run-warning{box-shadow:inset 3px 0 0 var(--s4)}.badge.run-error{box-shadow:inset 3px 0 #c0392b;color:#c0392b}.nowrap{white-space:nowrap}
