:root{color-scheme:light;--bg: #f1f4ee;--card: #ffffff;--line: #e4e7db;--line2: #eef1e8;--ctl: #d6dcce;--track: #e7ebdf;--th: #fafbf6;--hover: #f2f6ed;--overlay: rgba(4, 32, 15, .5);--ink: #062e16;--ink2: #335145;--muted: #566b5e;--faint: #7c8f82;--brand: #00642c;--brand-d: #004d21;--brand-l: #e2eedf;--sel: #e6f1e6;--rail: #04200f;--rail-ic: #9fb7a8;--rail-hover: #0c3a1f;--s-breach: #b3261e;--s-high: #e8a317;--s-att: #c6d300;--s-ok: #00642c;--c1: #00642c;--c2: #c9a75c;--c3: #2f6fb3;--gold: #c9a75c;--lime: #c6d300;--noite: #04200f;--mono: "JetBrains Mono", ui-monospace, monospace;--brand-font: "Montserrat", system-ui, sans-serif}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #04200f;--card: #0a3a1e;--line: #163e24;--line2: #0e3419;--ctl: #1e4a2e;--track: #0f3a1f;--th: #083a1d;--hover: #0e4425;--overlay: rgba(0, 0, 0, .6);--ink: #edf4ed;--ink2: #c6d8cc;--muted: #9fb7a8;--faint: #6f8a7c;--brand: #1f9a52;--brand-d: #00642c;--brand-l: #0e3a1f;--sel: #0f3c20;--rail: #04200f;--rail-ic: #9fb7a8;--rail-hover: #0c3a1f;--s-breach: #e0574c;--s-high: #e8a317;--s-att: #c6d300;--s-ok: #2e9e5a;--c1: #2e9e5a;--c2: #c9a75c;--c3: #5a95d6}}:root[data-theme=dark]{color-scheme:dark;--bg: #04200f;--card: #0a3a1e;--line: #163e24;--line2: #0e3419;--ctl: #1e4a2e;--track: #0f3a1f;--th: #083a1d;--hover: #0e4425;--overlay: rgba(0, 0, 0, .6);--ink: #edf4ed;--ink2: #c6d8cc;--muted: #9fb7a8;--faint: #6f8a7c;--brand: #1f9a52;--brand-d: #00642c;--brand-l: #0e3a1f;--sel: #0f3c20;--rail: #04200f;--rail-ic: #9fb7a8;--rail-hover: #0c3a1f;--s-breach: #e0574c;--s-high: #e8a317;--s-att: #c6d300;--s-ok: #2e9e5a;--c1: #2e9e5a;--c2: #c9a75c;--c3: #5a95d6}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--bg);color:var(--ink);font:13px/1.45 Inter,system-ui,sans-serif}a{color:var(--brand);text-decoration:none}a:hover{color:var(--brand-d)}button{font:inherit;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand);outline-offset:2px}h1,h2,h3{margin:0;font-family:var(--brand-font);letter-spacing:-.01em}.mono{font-family:var(--mono);font-size:11.5px}.muted{color:var(--muted)}.faint{color:var(--faint)}.num{font-variant-numeric:tabular-nums}.shell{display:flex;min-height:100vh}.rail{flex:0 0 232px;width:232px;background:var(--rail);display:flex;flex-direction:column;gap:2px;padding:12px 10px;position:sticky;top:0;height:100vh;transition:width .16s ease,flex-basis .16s ease;overflow:visible}.shell.nav-collapsed .rail{flex-basis:64px;width:64px;padding:12px 8px}.rail-head{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:0 2px}.rail .logo{width:38px;height:38px;flex:0 0 38px;border-radius:10px;background:var(--brand);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}.rail .logo.brandlogo{background:transparent;border-radius:0}.rail .logo.brandlogo svg{display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}.rail-word{font-family:var(--brand-font);font-weight:600;font-size:17px;letter-spacing:.18em;text-transform:uppercase;color:#fff}.shell.nav-collapsed .rail-word{display:none}.rail-toggle{margin-left:auto;width:34px;height:34px;border:0;background:transparent;border-radius:8px;color:var(--rail-ic);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.rail-toggle:hover{background:var(--rail-hover);color:#fff}.shell.nav-collapsed .rail-toggle{margin-left:0}.rail-nav{display:flex;flex-direction:column;gap:2px;overflow-y:auto;overflow-x:visible;min-height:0}.rail-nav::-webkit-scrollbar{width:6px}.rail-nav::-webkit-scrollbar-thumb{background:#2c3c34;border-radius:3px}.rail .spacer{flex:1}.nav-item{position:relative;display:flex;align-items:center;gap:11px;width:100%;padding:8px 10px;border:0;background:transparent;border-radius:9px;color:var(--rail-ic);font:inherit;font-weight:600;text-align:left;cursor:pointer;white-space:nowrap}.nav-item .nav-ic{flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center}.nav-item .nav-lbl{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}.nav-item:hover{background:var(--rail-hover);color:#fff}.nav-item.on{background:var(--brand);color:#fff}.nav-group.has-active>.grp.on{color:#fff}a.nav-item{text-decoration:none}.nav-badge{flex:0 0 auto;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--s-breach);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;font-variant-numeric:tabular-nums}.nav-item.on .nav-badge{background:#fff;color:var(--brand-d)}.nav-caret{flex:0 0 auto;display:inline-flex;color:inherit;opacity:.6;transition:transform .14s ease}.nav-group.open>.grp .nav-caret{transform:rotate(90deg)}.nav-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .16s ease}.nav-sub-inner{overflow:hidden;min-height:0;display:flex;flex-direction:column;gap:2px}.nav-group.open>.nav-sub{grid-template-rows:1fr}.nav-sub .fly-title{display:none}.nav-item.sub{padding-left:34px;font-weight:500}.nav-item.sub .nav-ic{flex-basis:18px;opacity:.85}.nav-item.sub .nav-ic svg{width:16px;height:16px}.nav-item.logout{color:var(--rail-ic)}.shell.nav-collapsed .rail-nav{overflow:visible}.shell.nav-collapsed .nav-lbl,.shell.nav-collapsed .nav-caret{display:none}.shell.nav-collapsed .nav-item{justify-content:center;padding:10px 0;gap:0}.shell.nav-collapsed .nav-item .nav-ic{flex-basis:22px}.shell.nav-collapsed .nav-badge{position:absolute;top:4px;right:8px;min-width:9px;width:9px;height:9px;padding:0;font-size:0;border:2px solid var(--rail);border-radius:50%}.shell.nav-collapsed .nav-sub{position:absolute;left:calc(100% + 6px);top:0;grid-template-rows:1fr;min-width:200px;background:#1d2b24;border:1px solid #2c3c34;border-radius:10px;padding:8px;box-shadow:0 12px 28px #00000059;z-index:40;visibility:hidden;opacity:0;transform:translate(-4px);transition:opacity .12s ease,transform .12s ease,visibility .12s}.shell.nav-collapsed .nav-group{position:relative}.shell.nav-collapsed .nav-group:hover>.nav-sub{visibility:visible;opacity:1;transform:none}.shell.nav-collapsed .nav-sub-inner{overflow:visible}.shell.nav-collapsed .nav-sub .fly-title{display:block;padding:4px 10px 8px;color:var(--faint);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.shell.nav-collapsed .nav-sub .nav-item{justify-content:flex-start;padding:7px 10px;gap:10px}.shell.nav-collapsed .nav-sub .nav-item.sub{padding-left:10px}.shell.nav-collapsed .nav-sub .nav-lbl{display:block}.shell.nav-collapsed .nav-sub .nav-badge{position:static;width:auto;min-width:18px;height:18px;padding:0 5px;font-size:11px;border:0;border-radius:9px}.nav-scrim{display:none}.nav-hamburger{display:none;width:34px;height:34px;border:0;background:transparent;border-radius:8px;color:var(--ink2);align-items:center;justify-content:center;cursor:pointer}@media (max-width: 820px){.rail{position:fixed;top:0;left:0;z-index:30;flex-basis:248px;width:248px;transform:translate(-100%);transition:transform .18s ease}.shell.nav-collapsed .rail{flex-basis:248px;width:248px;padding:12px 10px}.shell.nav-mobile-open .rail{transform:none}.shell.nav-collapsed .nav-lbl,.shell.nav-collapsed .nav-caret{display:block}.shell.nav-collapsed .nav-item{justify-content:flex-start;padding:8px 10px;gap:11px}.shell.nav-collapsed .nav-badge{position:static;width:auto;min-width:18px;height:18px;padding:0 5px;font-size:11px;border:0}.shell.nav-collapsed .nav-sub{position:static;min-width:0;background:transparent;border:0;box-shadow:none;padding:0;grid-template-rows:0fr;visibility:visible;opacity:1;transform:none}.shell.nav-collapsed .nav-group.open>.nav-sub{grid-template-rows:1fr}.shell.nav-collapsed .nav-sub-inner{overflow:hidden}.shell.nav-collapsed .nav-sub .fly-title,.rail-toggle{display:none}.nav-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000006b;z-index:20}.nav-hamburger{display:inline-flex}}.body{flex:1;min-width:0;display:flex;flex-direction:column}.top{height:52px;background:var(--card);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:0 24px;position:sticky;top:0;z-index:5}.crumbs{display:flex;gap:8px;align-items:center;color:var(--muted);min-width:0;overflow:hidden;white-space:nowrap}.crumbs b{color:var(--ink);font-weight:600}.me{margin-left:auto;display:flex;align-items:center;gap:10px;color:var(--muted)}.avatar{width:30px;height:30px;border-radius:50%;background:var(--brand-l);color:var(--brand);font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center}.page{padding:20px 24px 40px;display:flex;flex-direction:column;gap:16px;max-width:none;width:100%}.title-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px}.title-row h1{font-size:20px;font-weight:700;letter-spacing:-.01em}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;min-width:0}.card.pad{padding:16px 18px;display:flex;flex-direction:column;gap:12px}.card-h{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.card h2,.card-h h2{font-size:14px;font-weight:700}.hrow{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.grid{display:grid;gap:16px}.g-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.g-2{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}.g-3{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr)}.g-31{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr)}@media (max-width: 1100px){.g-2,.g-3,.g-31{grid-template-columns:minmax(0,1fr)}}.kpi{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px 10px;display:flex;flex-direction:column;gap:6px}.kpi .l{color:var(--muted);font-size:12px}.kpi .v{font-size:26px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.kpi .v small{font-size:13px;font-weight:600;color:var(--muted)}.kpi .d{font-size:12px;font-weight:600;margin-left:8px}.kpi .n{color:var(--muted);font-size:11.5px}.kpi.alert{background:var(--s-breach);border-color:var(--s-breach);color:#fff}.kpi.alert .l,.kpi.alert .n,.kpi.alert .v small{color:#fde8e6}.kpi.edge{border-left-width:3px}.btn{height:32px;padding:0 14px;border:1px solid var(--ctl);border-radius:7px;background:var(--card);font-size:12.5px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.btn:hover{border-color:#c9d3cd}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-d)}.btn.danger{color:var(--s-breach)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.sm{height:28px;padding:0 10px;font-size:12px}.icon-btn{width:28px;height:28px;border:1px solid var(--ctl);border-radius:7px;background:var(--card);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--brand)}.seg{display:inline-flex;border:1px solid var(--ctl);border-radius:7px;overflow:hidden;background:var(--card)}.seg button{height:30px;padding:0 12px;border:0;border-right:1px solid var(--ctl);background:transparent;font-size:12px;font-weight:600;cursor:pointer}.seg button:last-child{border-right:0}.seg button[aria-pressed=true]{background:var(--brand);color:#fff}.search{display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;border:1px solid var(--ctl);border-radius:7px;background:var(--card)}.search input{border:0;outline:none;font:inherit;font-size:12.5px;flex:1;min-width:0;background:transparent}.field{display:flex;flex-direction:column;gap:5px}.field label{font-weight:600;font-size:12px}.field input,.field select,.field textarea{height:34px;border:1px solid var(--ctl);border-radius:7px;padding:0 10px;font:inherit;background:var(--card);color:var(--ink)}.field textarea{height:auto;min-height:140px;padding:8px 10px;font-family:var(--mono);font-size:12px;resize:vertical}.field .hint{color:var(--faint);font-size:11.5px}.tag{font-size:10.5px;border:1px solid var(--ctl);border-radius:4px;padding:1px 6px;color:var(--muted);white-space:nowrap}.tbl{width:100%;border-collapse:collapse}.tbl th{text-align:left;color:var(--muted);font-size:11.5px;font-weight:600;padding:9px 8px;background:var(--th);white-space:nowrap}.tbl td{padding:9px 8px;border-top:1px solid var(--line2);vertical-align:middle}.tbl th:first-child,.tbl td:first-child{padding-left:18px}.tbl th:last-child,.tbl td:last-child{padding-right:18px}.tbl tr.click{cursor:pointer}.tbl tbody tr:hover td{background:var(--hover)}.tbl .r{text-align:right}.scroll-x{overflow-x:auto}.list{list-style:none;margin:0;padding:0}.list>li{padding:10px 18px;border-top:1px solid var(--line2)}.list>li:first-child{border-top:0}.foot{padding:10px 18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;background:var(--th);border-radius:0 0 10px 10px}.pill{font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap;display:inline-block}.lv-breach-risk{color:#fff;background:var(--s-breach)}.lv-high{color:#8a3a00;background:#fbe6d6}.lv-attention{color:#7a5200;background:#fbefd3}.lv-protected{color:#1e6b3f;background:#e1f3e7}.lv-none{color:var(--muted);background:#eef1ef}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:0 0 8px}.on-dot{background:var(--s-ok)}.off-dot{background:#9aa59f}.badge{font-size:10.5px;font-weight:700;padding:2px 6px;border-radius:4px;text-align:center;white-space:nowrap}.logotile{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;font-weight:800;letter-spacing:-.02em;border:1px solid;flex:none}.switch{position:relative;display:inline-flex;align-items:center;cursor:pointer}.switch input{position:absolute;opacity:0;width:0;height:0}.switch .track{width:38px;height:22px;border-radius:999px;background:#c8d0cb;transition:background .15s;position:relative;flex:none}.switch .track:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000004d;transition:transform .15s}.switch input:checked+.track{background:#1e7a46}.switch input:checked+.track:after{transform:translate(16px)}.switch input:disabled+.track{opacity:.5;cursor:default}.switch input:focus-visible+.track{outline:2px solid #1f6feb;outline-offset:2px}.int-card{display:flex;flex-direction:column;gap:10px}.int-card .int-head{display:flex;align-items:center;gap:10px}.int-card .int-head .grow{min-width:0}.int-card .int-head .grow b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grade{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;font-weight:800;font-size:13px}.grade-lg{width:46px;height:46px;border-radius:10px;font-size:26px}.mat{display:inline-flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap}.mat .mat-dots{display:inline-flex;gap:2px}.mat .mat-dots i{width:7px;height:7px;border-radius:2px;background:var(--track, var(--track));display:inline-block}.mat b{font-weight:800}.mat .mat-txt{color:var(--muted)}.mtrack{margin-top:8px}.mtrack-bar{display:flex;height:48px}.mchev{position:relative;flex:1;display:flex;align-items:center;justify-content:center;margin-left:-16px;background:#e9edf1;color:#9aa3ad;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%,16px 50%);transition:background .35s ease,filter .35s ease}.mchev.first{margin-left:0;border-radius:8px 0 0 8px;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%)}.mchev.fill{color:#fff;box-shadow:inset 0 1px #ffffff40}.mchev-n{position:relative;z-index:2;font-weight:800;font-size:16px;text-shadow:0 1px 1px rgba(0,0,0,.18)}.mchev.fill:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(115deg,#fff0 0,#fff0 10px,#ffffff38 10px,#ffffff38 20px);background-size:28px 100%;animation:mflow 1s linear infinite}@keyframes mflow{to{background-position:28px 0}}.mchev.cur{animation:mpulse 1.9s ease-in-out infinite}@keyframes mpulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.14)}}@media (prefers-reduced-motion: reduce){.mchev.fill:before,.mchev.cur{animation:none}}.mtrack-labels{display:flex;margin-top:6px}.mtrack-labels span{flex:1;text-align:center;font-size:10.5px;color:#9aa3ad}.mtrack-labels span.on{color:#5b6670}.mat-next{margin:10px 0 0;font-size:12px;color:var(--muted)}.mat-next.ok{color:#1e7a46;font-weight:600}.mcrit{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:14px}.mcrit-row{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--card);opacity:.72}.mcrit-row.reached{opacity:1}.mcrit-row.next{opacity:1;border-color:#c9a227;box-shadow:0 0 0 1px #c9a22733 inset}.mcrit-h{display:flex;align-items:center;gap:8px;margin-bottom:8px}.mcrit-h b{font-size:13px}.mcrit-badge{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:20px;border-radius:6px;font-size:11px;font-weight:800}.mcrit-tag{margin-left:auto;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px}.mcrit-tag.ok{color:#1e6b3f;background:#e1f3e7}.mcrit-tag.next{color:#7a5200;background:#fbefd3}.mcrit-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.mcrit-checks li{display:flex;gap:7px;align-items:flex-start;font-size:12px;color:var(--ink2)}.mcrit-checks li.no{color:var(--muted)}.mcrit-ic{font-weight:800;width:13px;flex:none}.mcrit-checks li.ok .mcrit-ic{color:#1e7a46}.mcrit-checks li.no .mcrit-ic{color:#b99}.meter{display:flex;align-items:center;gap:6px}.meter .t{width:44px;height:5px;border-radius:3px;background:var(--track);overflow:hidden;display:block}.meter .t>span{display:block;height:5px}.bar{height:8px;border-radius:4px;background:var(--track);position:relative;display:block}.bar>span{display:block;height:8px;border-radius:4px}.bar .goal{position:absolute;top:-3px;width:2px;height:14px;background:var(--ink);opacity:.35}.note{padding:10px 12px;border-radius:8px;font-size:12px;display:flex;gap:8px;align-items:flex-start}.note.red{background:#fbe9e7;color:#8c1d16}.note.amber{background:#fbefd3;color:#6b4700}.note.info{background:#eaf1f9;color:#23466e}.empty{padding:26px 18px;text-align:center;color:var(--muted);display:flex;flex-direction:column;gap:4px;align-items:center}.empty b{color:var(--ink2)}.chart{display:flex;gap:10px}.yax{display:flex;flex-direction:column;justify-content:space-between;color:var(--faint);font-size:11px;font-family:var(--mono);text-align:right}.xax{display:flex;justify-content:space-between;color:var(--faint);font-size:11px}.plot{flex:1;position:relative;min-width:0}.plot svg{width:100%;display:block;overflow:visible}.endlab{position:absolute;right:0;transform:translateY(-130%);background:var(--brand);color:#fff;font-size:11px;font-weight:700;padding:2px 7px;border-radius:4px}.tip{position:absolute;pointer-events:none;background:var(--ink);color:#fff;font-size:11.5px;padding:5px 8px;border-radius:6px;white-space:nowrap;transform:translate(-50%,-110%);z-index:3}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--ink2)}.legend span{display:inline-flex;align-items:center;gap:6px}.sw{width:10px;height:10px;border-radius:3px;display:inline-block}.swl{width:14px;height:2px;display:inline-block}.col rect:hover{opacity:.8}.split{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.tree{flex:0 0 290px;overflow:hidden}.split .main{flex:999 1 640px;min-width:0;display:flex;flex-direction:column;gap:16px}.tree .node{width:100%;display:flex;align-items:center;gap:8px;border:0;background:transparent;cursor:pointer;text-align:left;padding:10px 16px 10px 4px}.tree .node:hover,.tree .site:hover{background:#f3f7f4}.tree .row{display:flex;border-top:1px solid var(--line2)}.tree .row.sel,.tree .site.sel{background:var(--sel);box-shadow:inset 3px 0 0 var(--brand)}.tree .tog{width:30px;border:0;background:transparent;cursor:pointer;padding-left:8px;display:flex;align-items:center;justify-content:center;color:var(--muted)}.tree .tog svg{transition:transform .15s}.tree .tog[aria-expanded=true] svg{transform:rotate(90deg)}.tree .site{width:100%;display:flex;align-items:center;gap:8px;padding:7px 16px 7px 46px;border:0;background:transparent;cursor:pointer;text-align:left}.tree .all{width:100%;display:flex;gap:10px;padding:9px 16px;border:0;border-top:1px solid var(--line2);background:transparent;cursor:pointer;text-align:left}.tree .all.sel{background:var(--sel);box-shadow:inset 3px 0 0 var(--brand)}.tree .grow{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.tree .grow small{color:var(--faint);font-size:11px}.kind{color:var(--muted);font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.mini{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.mini>div{border:1px solid #edf1ee;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:5px}.mini b{font-size:19px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.mini .t{height:4px;border-radius:2px;background:var(--track);overflow:hidden;display:block}.mini .t>span{display:block;height:4px}.tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.tabs button{height:34px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--muted);font-weight:600;cursor:pointer;white-space:nowrap;transition:background .12s,color .12s,border-color .12s}.tabs button:hover{color:var(--ink);border-color:var(--ctl)}.tabs button[aria-selected=true]{background:var(--brand);border-color:var(--brand);color:#fff}.tabs button[aria-selected=true]:hover{color:#fff}.props{margin:0;display:grid;grid-template-columns:110px minmax(0,1fr);row-gap:8px;column-gap:12px}.props dt{color:var(--muted)}.props dd{margin:0;font-weight:500;overflow-wrap:anywhere}.timeline{list-style:none;margin:0;padding:6px 18px 12px}.timeline li{display:grid;grid-template-columns:10px minmax(0,1fr);gap:10px;padding:7px 0}.timeline .dot{margin-top:5px}.viewer{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a100db8;z-index:40;display:flex;flex-direction:column}.viewer header{height:46px;display:flex;align-items:center;gap:12px;padding:0 16px;background:var(--rail);color:#fff}.viewer iframe{flex:1;border:0;background:#000}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.dialog{background:var(--card);border-radius:12px;width:100%;max-width:460px;box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column;max-height:calc(100vh - 32px)}.dialog.wide{max-width:720px}.dialog header{padding:16px 20px 0}.dialog header h2{font-size:16px;font-weight:700}.dialog header p{margin:4px 0 0;color:var(--muted)}.dialog .content{padding:16px 20px;display:flex;flex-direction:column;gap:12px;overflow:auto}.dialog footer{padding:12px 20px 16px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line2)}.err{color:#8c1d16;background:#fbe9e7;border-radius:7px;padding:8px 10px;font-size:12.5px}.output{background:#0f1713;color:#cfe3d6;font-family:var(--mono);font-size:11.5px;padding:10px 12px;border-radius:8px;white-space:pre-wrap;max-height:260px;overflow:auto;margin:0}.toast{position:fixed;bottom:18px;left:50%;transform:translate(-50%);background:var(--ink);color:#fff;padding:9px 16px;border-radius:8px;z-index:60;font-size:12.5px}.signin{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.signin .card{max-width:380px;padding:28px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}.loading{padding:40px;color:var(--muted)}.viewer header .btn{color:var(--ink)}.lg{--g500: #00642C;--g600: #004b21;--lime: #D1DD00;--n900: #16191C;display:flex;min-height:100vh;font-family:IBM Plex Sans,system-ui,-apple-system,Segoe UI,sans-serif;background:#fff}.lg h1,.lg h2,.lg-feats b,.lg-wordmark{font-family:Space Grotesk,IBM Plex Sans,system-ui,sans-serif}.lg-hero{flex:0 0 51.5%;position:relative;overflow:hidden;color:#fff;padding:48px 56px;display:flex;flex-direction:column;justify-content:space-between;gap:32px;background:radial-gradient(120% 90% at 0% 100%,#0b5a2a,#0b5a2a00 60%),linear-gradient(160deg,#0d3f1f 0%,#16251c 45%,var(--n900) 100%)}.lg-waves{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.lg-hero>*:not(.lg-waves){position:relative}.lg-chip{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;font-size:12px;font-weight:600;letter-spacing:.14em}.lg-dot{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 10px var(--lime)}.lg-pitch{max-width:520px}.lg-pitch h2{font-size:clamp(34px,4vw,56px);line-height:1.08;letter-spacing:-.02em;font-weight:700;margin:0 0 18px}.lg-pitch em,.lg-feats em{font-style:normal;color:var(--lime)}.lg-pitch p{margin:0;font-size:16.5px;line-height:1.65;color:#ffffffc7;max-width:460px}.lg-feats{display:flex;gap:14px;flex-wrap:wrap}.lg-feats div{padding:16px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;gap:6px;min-width:130px;max-width:190px}.lg-feats b{font-size:18px;font-weight:700}.lg-feats span{font-size:13px;color:#ffffffb3;line-height:1.4}.lg-panel{flex:1;position:relative;display:flex;align-items:center;justify-content:center;padding:48px 36px}.lg-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--g500),var(--lime))}.lg-box{width:100%;max-width:400px;display:flex;flex-direction:column;gap:0}.lg-logo{width:280px;max-width:100%;height:auto;margin-bottom:28px}.lg-wordmark{margin-bottom:28px;display:flex;flex-direction:column;line-height:1}.lg-wordmark b{font-size:64px;font-weight:700;color:var(--g500);letter-spacing:-.03em}.lg-wordmark small{font-size:15px;font-weight:600;color:var(--g500);margin:4px 0 0 70px}.lg-wordmark .l{color:var(--lime)}.lg-brand{margin-bottom:26px}.lg-salus{display:flex;align-items:center;gap:12px}.lg-salus svg{filter:drop-shadow(0 2px 4px rgba(0,100,44,.22))}.lg-salus-word{font-family:Space Grotesk,IBM Plex Sans,system-ui,sans-serif;font-size:44px;font-weight:700;letter-spacing:-.02em;color:var(--g500);line-height:1}.lg-powered{display:flex;align-items:center;gap:8px;margin:12px 0 0 2px}.lg-powered span{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#8a97a0}.lg-powered-logo{height:20px;width:auto;opacity:.92}.lg-powered-word{font-size:17px;font-weight:700;color:var(--g600);letter-spacing:-.02em}.lg-powered-word .l{color:var(--lime)}.lg-eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--g500);margin-bottom:10px}.lg h1{font-size:32px;font-weight:700;letter-spacing:-.02em;color:var(--n900);margin:0 0 10px}.lg-sub{margin:0 0 28px;color:#4b5560;font-size:15px;line-height:1.6}.lg-ms{display:flex;align-items:center;justify-content:center;gap:12px;height:50px;border-radius:12px;background:var(--n900);color:#fff;font-size:15px;font-weight:600;box-shadow:0 8px 20px -8px #16191c8c;transition:background .15s,transform .15s}.lg-ms:hover{background:#262b30;color:#fff;transform:translateY(-1px)}.lg-ms:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.lg-alt-link{display:block;margin:14px auto 0;background:none;border:0;color:var(--g600, #004b21);font-size:13px;font-weight:600;cursor:pointer;text-decoration:underline}.lg-local{display:flex;flex-direction:column;gap:10px;margin-top:14px;padding:16px;border:1px solid #e3e7ea;border-radius:12px;background:#f8faf9}.lg-local-h{font-size:13px;font-weight:700;color:var(--n900, #16191c)}.lg-local-h span{font-weight:500;color:#7a877f;margin-left:6px}.lg-local input{height:42px;border:1px solid #d7ddd9;border-radius:9px;padding:0 12px;font:inherit;font-size:14px;background:#fff}.lg-local input:focus-visible{outline:2px solid var(--g500);outline-offset:1px}.lg-local-btn{height:44px;border:0;border-radius:10px;background:var(--g500, #00642C);color:#fff;font-size:14px;font-weight:700;cursor:pointer}.lg-local-btn:disabled{opacity:.6;cursor:default}.lg-trust{display:flex;justify-content:center;gap:8px;margin-top:18px;flex-wrap:wrap}.lg-trust span{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;border:1px solid #e3e7ea;background:#f6f8f9;font-size:12px;font-weight:600;color:#3c454e}.lg-trust svg{color:var(--g500)}.lg-err{margin:-8px 0 18px;padding:10px 12px;border-radius:10px;background:#fdecea;color:#8c1d16;font-size:13.5px;line-height:1.45}.lg-foot{margin:40px 0 0;text-align:center;color:#8a939b;font-size:12.5px}@media (max-width: 860px){.lg{flex-direction:column}.lg-hero{flex:none;padding:28px 22px;min-height:0}.lg-pitch h2{font-size:30px}.lg-feats{display:none}.lg-panel{padding:36px 20px}}.lg-info{margin:-8px 0 18px;padding:10px 12px;border-radius:10px;background:#e4f1e9;color:#004b21;font-size:13.5px;line-height:1.45}.lg-info a{color:#00642c;font-weight:600;text-decoration:underline}.field input[type=radio]{height:auto;width:auto;padding:0;border:0;margin:0;flex:0 0 auto;accent-color:var(--brand)}.field input[type=checkbox]{margin:0;flex:0 0 auto}.field label:has(>input[type=checkbox]){align-items:center}input[type=checkbox]{appearance:none;-webkit-appearance:none;-moz-appearance:none;box-sizing:border-box;width:38px;height:22px;flex:none;border-radius:999px;border:0;margin:0;background:var(--ctl);position:relative;cursor:pointer;vertical-align:middle;transition:background .15s}input[type=checkbox]:before{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000059;transition:transform .15s}input[type=checkbox]:checked{background:#1e7a46}input[type=checkbox]:checked:before{transform:translate(16px)}input[type=checkbox]:disabled{opacity:.5;cursor:default}input[type=checkbox]:focus-visible{outline:2px solid #1f6feb;outline-offset:2px}.switch input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:0;height:0;background:none}.switch input[type=checkbox]:before{display:none}.top .bell-wrap{margin-left:auto}.top .me{margin-left:12px}.bell-btn{width:34px;height:34px}.bell-badge{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:9px;background:#b3261e;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.bell-pop{position:absolute;right:0;top:42px;width:360px;max-width:90vw;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px #0000002e;z-index:70;overflow:hidden}.bell-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line2)}.bell-list{max-height:60vh;overflow:auto}.bell-item{display:flex;gap:10px;align-items:flex-start;padding:10px 14px;border-bottom:1px solid var(--line2);color:var(--ink);text-decoration:none}.bell-item:hover{background:var(--line2)}.bell-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex:0 0 8px}.linklike{border:0;background:transparent;color:var(--brand);cursor:pointer;font:inherit;font-size:12px}.rt-toasts{position:fixed;top:64px;right:16px;display:flex;flex-direction:column;gap:8px;z-index:80;max-width:340px}.rt-toast{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 14px;box-shadow:0 8px 22px #00000029;animation:rt-in .2s ease}@keyframes rt-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}.tour-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a140f8c;z-index:90}.tour-spot{position:fixed;border:2px solid #0a7a43;border-radius:10px;box-shadow:0 0 0 9999px #0a140f8c;background:transparent;transition:all .2s ease;pointer-events:none}.tour-tip{position:fixed;width:360px;max-width:92vw;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:0 16px 40px #00000047}.card{border-radius:14px}.card,.kpi{box-shadow:0 1px #ffffff05,0 16px 36px -28px var(--overlay)}.kpi{border-radius:13px}.btn,.seg,.icon-btn,.search{border-radius:9px}.tag{border-radius:6px}.card-h h3,.card-h h2,.card-h h4{font-family:var(--brand-font);letter-spacing:.01em}.kpi .num,.kpi .v,.kpi .val,.kpi strong{font-family:var(--mono);font-variant-numeric:tabular-nums}.rail .logo{border-radius:11px}
