.app{--sidebar-w:232px;--topbar-h:56px;background:var(--bg);min-height:100vh}.app--collapsed{--sidebar-w:60px}.topbar{z-index:60;align-items:center;gap:var(--s-3);height:var(--topbar-h);padding:0 var(--s-4);background:var(--secondary);color:var(--text-on-dark);display:flex;position:fixed;inset:0 0 auto}.topbar .icon-btn{color:var(--text-on-dark)}.topbar .icon-btn:hover{background:#ffffff14}.topbar :focus-visible{box-shadow:none;outline-color:#9fd3cf}.topbar__menu{display:none}.topbar__brand{color:var(--text-on-dark);flex-shrink:0;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.topbar__brand:hover{color:#fff}.topbar__brand .brand__symbol{color:#9fd3cf}.topbar__word{font-family:var(--font-display);letter-spacing:.02em;font-weight:600}.topbar__product{font-family:var(--font-display);color:var(--text-on-dark-muted);border-left:1px solid var(--ink-band-line);padding-left:8px}.topbar__ctx{gap:6px;min-width:0;display:flex}.topbar__select select{border:1px solid var(--ink-band-line);border-radius:var(--r-1);max-width:230px;height:34px;color:var(--text-on-dark);font-size:var(--fs-small);appearance:none;text-overflow:ellipsis;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Cpath d='M1 3l4 4 4-4' fill='none' stroke='%23a9b3b0' stroke-width='1.4'/%3E%3C/svg%3E") right 10px center no-repeat;padding:0 28px 0 10px}.topbar__select option{color:var(--text)}.topbar__search{border:1px solid var(--ink-band-line);border-radius:var(--r-1);min-width:0;max-width:420px;height:34px;color:var(--text-on-dark-muted);font-size:var(--fs-small);text-align:left;background:#ffffff0a;flex:1;align-items:center;gap:8px;padding:0 10px;display:inline-flex}.topbar__search span{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.topbar__search kbd{font-size:var(--fs-micro);border:1px solid var(--ink-band-line);padding:0 5px}.topbar__right{align-items:center;gap:6px;margin-left:auto;display:flex}.topbar .demo-badge{border-color:var(--accent);color:var(--accent);background:0 0}.icon-btn{border-radius:var(--r-1);width:36px;height:36px;color:var(--text);background:0 0;border:0;justify-content:center;align-items:center;font-size:1.25rem;line-height:1;text-decoration:none;display:inline-flex;position:relative}.icon-btn:hover{background:var(--surface-sunken)}.icon-btn:disabled{opacity:.4}.badge-count{background:var(--accent);min-width:16px;height:16px;color:var(--ink-band);font-family:var(--font-mono);border-radius:8px;padding:0 4px;font-size:10px;font-weight:600;line-height:16px;position:absolute;top:2px;right:1px}.avatar{background:var(--primary);color:#fff;border:1px solid #9fd3cf;border-radius:50%;width:32px;height:32px;font-weight:600}.pop-wrap{position:relative}.pop{z-index:80;background:var(--surface-raised);color:var(--text);border:1px solid var(--border);border-radius:var(--r-2);box-shadow:var(--overlay-shadow);position:absolute;top:calc(100% + 8px);right:0}.pop--notif{width:min(380px,100vw - 24px);max-height:70vh;overflow:auto}.pop--user{width:230px;padding:6px}.pop--user a,.pop--user button{text-align:left;width:100%;color:var(--text);font-size:var(--fs-body-s);background:0 0;border:0;padding:8px 10px;text-decoration:none;display:block}.pop--user a:hover,.pop--user button:hover{background:var(--bg)}.pop__who{border-bottom:1px solid var(--border);padding:8px 10px;font-weight:600}.pop__who span{font-weight:400;font-size:var(--fs-small);color:var(--text-muted);display:block}.pop__head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 12px;font-weight:600;display:flex}.pop__note{font-size:var(--fs-micro);color:var(--text-muted);background:var(--bg);padding:6px 12px}.notif-list{margin:0;padding:0;list-style:none}.notif-list li+li{border-top:1px solid var(--border)}.notif-list button{background:var(--primary-tint);text-align:left;width:100%;color:var(--text);border:0;gap:4px;padding:10px 12px;display:grid}.notif-list .is-read button{background:0 0}.notif-list__text{font-size:var(--fs-small)}.notif-list__meta{font-size:var(--fs-micro);color:var(--text-muted)}.notif-list__empty{color:var(--text-muted);padding:16px}.sidebar{top:var(--topbar-h);z-index:50;width:var(--sidebar-w);padding:var(--s-3) var(--s-2);background:var(--surface);border-right:1px solid var(--border);transition:width var(--t-med) var(--ease);flex-direction:column;display:flex;position:fixed;bottom:0;left:0;overflow-y:auto}.sidebar ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.sidebar__link{border-radius:var(--r-1);min-height:40px;color:var(--text);font-size:var(--fs-body-s);white-space:nowrap;align-items:center;gap:10px;padding:0 10px;font-weight:500;text-decoration:none;display:flex}.sidebar__link:hover{background:var(--bg);color:var(--text)}.sidebar__link.is-active{background:var(--primary-tint);color:var(--primary-hover);box-shadow:inset 2px 0 0 var(--primary)}.nav-icon{flex-shrink:0}.sidebar__foot{padding-top:var(--s-4);border-top:1px solid var(--border);margin-top:auto}.sidebar__note{font-size:var(--fs-micro);color:var(--text-muted);padding:0 10px 10px}.sidebar__collapse{width:100%;min-height:36px;color:var(--text-muted);font-size:var(--fs-small);white-space:nowrap;background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;display:flex}.app--collapsed .sidebar__label,.app--collapsed .sidebar__note{display:none}.sidebar-scrim{inset:var(--topbar-h) 0 0 0;z-index:45;background:#1f262959;position:fixed}.app-main-area{padding:calc(var(--topbar-h) + var(--s-5)) var(--s-6) var(--s-8) calc(var(--sidebar-w) + var(--s-6));min-width:0;transition:padding-left var(--t-med) var(--ease);outline:none}.app-page{gap:var(--s-5);min-width:0;max-width:1440px;margin:0 auto;display:grid}.app-page>*{min-width:0}@media (max-width:1279px){.topbar__ctx{display:none}}@media (max-width:1023px){.topbar__menu{display:inline-flex}.sidebar{visibility:hidden;width:260px;transition:transform var(--t-med) var(--ease), visibility var(--t-med);box-shadow:var(--overlay-shadow);transform:translate(-100%)}.sidebar.is-open{visibility:visible;transform:none}.app--collapsed .sidebar__label,.app--collapsed .sidebar__note{display:inline}.sidebar__collapse{display:none}.app-main-area{padding:calc(var(--topbar-h) + var(--s-4)) var(--s-4) var(--s-7)}}@media (max-width:767px){.topbar{padding:0 var(--s-2);gap:6px}.topbar__product,.topbar .demo-badge{display:none}.topbar__search{flex:0 0 36px;justify-content:center;width:36px;padding:0}.topbar__search span,.topbar__search kbd{display:none}.app-main-area{padding:calc(var(--topbar-h) + var(--s-3)) var(--s-3) var(--s-7)}}.gate{min-height:100vh;padding:var(--s-5);background-color:var(--bg);background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:32px 32px;place-items:center;display:grid}.gate__card{gap:var(--s-4);width:min(520px,100%);padding:var(--s-7) var(--s-6);background:var(--surface-raised);border:1px solid var(--border-control);display:grid}.gate__card h1{font-size:1.75rem}.gate__card form{gap:var(--s-3);display:grid}.gate__fine{font-size:var(--fs-small)}.app-loading{align-content:center;place-items:center;gap:var(--s-3);min-height:40vh;color:var(--text-muted);font-size:var(--fs-small);display:grid}.app-loading__bar{background:linear-gradient(90deg, var(--primary) 0 40%, var(--surface-sunken) 40%);background-size:250% 100%;width:160px;height:3px;animation:1.2s linear infinite load}@keyframes load{0%{background-position:100% 0}to{background-position:-150% 0}}@media (prefers-reduced-motion:reduce){.app-loading__bar{animation:none}}.app-crumbs{margin:0 0 var(--s-2);font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--text-muted);flex-wrap:wrap;gap:6px;padding:0;list-style:none;display:flex}.app-crumbs a{color:var(--text-muted)}.app-crumbs li+li:before{content:"/";margin-right:6px}.app-ph__row{justify-content:space-between;align-items:flex-end;gap:var(--s-3) var(--s-5);flex-wrap:wrap;display:flex}.app-ph__text{min-width:0;max-width:820px}.app-ph__kicker{font-size:var(--fs-micro);color:var(--primary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.app-ph h1{overflow-wrap:anywhere;font-size:clamp(1.5rem,1.2rem + 1vw,2rem);line-height:1.2}.app-ph__desc{color:var(--text-muted);font-size:var(--fs-body-s);margin-top:6px}.app-ph__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ph-meta{flex-wrap:wrap;align-items:center;gap:6px 14px;display:flex}.demo-badge{border:1px solid var(--accent);border-radius:var(--r-1);background:repeating-linear-gradient(135deg, var(--accent-tint) 0 4px, var(--surface-raised) 4px 8px);font-family:var(--font-mono);letter-spacing:.03em;text-transform:uppercase;color:var(--text);align-items:center;max-width:100%;padding:2px 8px;font-size:.6875rem;font-weight:500;display:inline-flex}.app-note{border-left:3px solid var(--accent);background:var(--surface);font-size:var(--fs-small);padding:8px 12px}.note-box{border:1px solid var(--border);border-left:3px solid var(--primary);background:var(--surface);font-size:var(--fs-small);padding:10px 14px}.disclaimer{border:1px dashed var(--accent);background:var(--accent-tint);font-size:var(--fs-small);padding:10px 14px;font-weight:500}.app-muted{color:var(--text-muted);font-size:var(--fs-small)}.app-h2{font-size:1.25rem;font-family:var(--font-display)}.app-h3{font-size:1.0625rem;font-family:var(--font-body);font-weight:600}.app-h4{font-family:var(--font-body);font-size:var(--fs-small);margin:var(--s-4) 0 var(--s-2);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600}.form-error{border:1px solid var(--error);background:var(--state-critical-tint);color:var(--text);font-size:var(--fs-small);padding:8px 12px}.btn--danger{background:var(--surface-raised);border-color:var(--error);color:var(--error)}.btn--danger:hover{background:var(--error);color:#fff}.btn-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pre{white-space:pre-wrap}.app-panel{background:var(--surface-raised);border:1px solid var(--border);min-width:0}.app-panel__head{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.app-panel__head h2{font-family:var(--font-body);font-size:var(--fs-body-s);font-weight:600}.app-panel__body{gap:var(--s-3);min-width:0;padding:14px;display:grid}.app-empty{padding:var(--s-5);text-align:center;color:var(--text-muted);font-size:var(--fs-small);justify-items:center;gap:6px;display:grid}.app-empty__title{color:var(--text);font-weight:600}.app-empty__body{max-width:48ch}.kpis{gap:var(--s-3);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.kpi{background:var(--surface-raised);border:1px solid var(--border);border-top:3px solid var(--primary);height:100%;color:var(--text);gap:2px;padding:14px 16px;text-decoration:none;display:grid}.kpi:hover{border-color:var(--secondary);color:var(--text)}.kpi--warn{border-top-color:var(--warning)}.kpi__label{font-size:var(--fs-small);color:var(--text-muted)}.kpi__value{font-size:2rem;font-weight:500;line-height:1.2}.kpi__hint{font-size:var(--fs-micro);color:var(--primary)}@media (max-width:899px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.ov-grid{gap:var(--s-3);grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);display:grid}.ov-map .plan{border:1px solid var(--border)}.ov-detail__meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.trend-grid{gap:var(--s-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.trend-grid>*{min-width:0}.tchart--empty .app-empty{padding:var(--s-4)}.legend-swatch{vertical-align:middle;width:12px;height:10px;display:inline-block}.legend-swatch--gap{border:1px dashed var(--border-control)}.activity{margin:0;padding:0;list-style:none}.activity li{border-bottom:1px solid var(--border);font-size:var(--fs-small);grid-template-columns:132px 100px minmax(0,1fr);align-items:baseline;gap:4px 12px;padding:8px 0;display:grid}.activity li:last-child{border-bottom:0}.activity__t{font-size:var(--fs-micro);color:var(--text-muted)}.activity__src{font-size:var(--fs-micro);color:var(--text-muted);display:block}.activity--compact li{grid-template-columns:120px minmax(0,1fr)}.activity--compact .sev{display:none}@media (max-width:1099px){.ov-grid,.trend-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:599px){.activity li,.activity--compact li{grid-template-columns:minmax(0,1fr)}}.sev{font-size:var(--fs-micro);white-space:nowrap;align-items:center;gap:5px;font-weight:500;display:inline-flex}.sev__dot{border:1.5px solid var(--border-control);border-radius:50%;width:9px;height:9px}.sev--critical{font-weight:700}.wo-status,.prio,.src-tag,.ev-status,.int-status{border:1px solid var(--border-control);border-radius:var(--r-1);font-size:var(--fs-micro);white-space:nowrap;padding:1px 7px;font-weight:500;display:inline-block}.wo-status--open{border-color:var(--primary);color:var(--primary)}.wo-status--in-progress{background:var(--primary-tint);border-color:var(--primary)}.wo-status--on-hold{border-style:dashed}.wo-status--completed{background:var(--state-normal-tint);border-color:var(--success)}.wo-status--cancelled{color:var(--text-muted);text-decoration:line-through}.prio--urgent{background:var(--state-critical-tint);border-color:var(--error);font-weight:700}.prio--high{background:var(--state-warning-tint);border-color:var(--warning);color:var(--warning-ink)}.prio--medium{border-color:var(--secondary)}.src-tag--demo-model{border-color:var(--accent);background:var(--accent-tint)}.src-tag--not-connected{color:var(--text-muted);border-style:dashed}.ev-status--open{border-color:var(--warning);color:var(--warning-ink)}.ev-status--acknowledged{border-color:var(--primary);color:var(--primary)}.ev-status--resolved{background:var(--state-normal-tint);border-color:var(--success)}.int-status--demo{border-color:var(--accent);background:var(--accent-tint)}.int-status--setup{border-style:dashed}.int-status--configured{border-color:var(--primary);color:var(--primary)}.int-status--planned{color:var(--text-muted);border-style:dashed}.overdue{color:var(--error);font-weight:600}.filters{background:var(--surface);border:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 12px;display:flex}.filters__search{flex:200px;min-width:0}.filters__search input{width:min(280px,100%)}.app-table th,.app-table td{font-size:var(--fs-small)}.app-table tbody tr:hover>*{background:var(--bg)}.app-table tr.is-selected>*{background:var(--primary-tint)}.sort-btn{color:inherit;font:inherit;white-space:nowrap;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.sort-btn__ind{opacity:.6;font-size:9px}.cell-stack{justify-items:start;gap:4px;display:grid}.cell-sub{font-size:var(--fs-micro);color:var(--text-muted);display:block}.row-actions{flex-wrap:wrap;gap:4px 12px;display:inline-flex}.pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.pager__info{font-size:var(--fs-small);color:var(--text-muted)}.pager__btns{gap:8px;display:flex}.meter{background:var(--surface-sunken);width:90px;height:6px;display:block}.meter span{background:var(--primary);height:100%;display:block}.toolbar{margin-bottom:var(--s-3);flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.app-tabpanel{min-width:0}.subnav{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:2px;display:flex}.subnav a{color:var(--text-muted);font-size:var(--fs-label);border-bottom:2px solid #0000;padding:8px 14px;font-weight:500;text-decoration:none}.subnav a.is-on{color:var(--secondary);border-bottom-color:var(--secondary)}.detail-grid{gap:var(--s-3);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.detail-grid .span-2{grid-column:1/-1}.detail-grid--config{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.detail-grid--config>.app-panel:nth-child(2){grid-row:span 3}@media (max-width:1023px){.detail-grid,.detail-grid--config{grid-template-columns:minmax(0,1fr)}.detail-grid--config>.app-panel:nth-child(2){grid-row:auto}}.reading-tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.reading-tiles li{border:1px solid var(--border);border-top:2px solid var(--border-control);gap:2px;min-width:0;padding:10px;display:grid}.reading-tiles li.is-warning,.reading-tiles li.is-critical{border-top-color:var(--warning)}.reading-tiles li.is-attention{border-top-color:var(--state-attention)}.reading-tiles__label{font-size:var(--fs-micro);color:var(--text-muted)}.reading-tiles__val{font-size:1.125rem;font-weight:500}.reading-tiles__meta{color:var(--text-muted);overflow-wrap:anywhere;font-size:.6875rem}.reading-tiles__rule{color:var(--warning-ink);font-size:.6875rem}.health{gap:8px;display:grid}.health__head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.health__label{font-size:var(--fs-small);font-weight:600}.health__score{align-items:baseline;gap:8px;display:flex}.health__score .mono{font-size:1.75rem;font-weight:500;line-height:1}.health__na{color:var(--state-stale);font-weight:500}.health__band{font-size:var(--fs-micro);border:1px solid var(--border-control);padding:1px 6px;font-weight:600}.health__band--good{border-color:var(--success)}.health__band--fair{border-color:var(--state-attention)}.health__band--poor{border-color:var(--warning);color:var(--warning-ink)}.health__factors{margin:0;padding:0;list-style:none}.health__factors li{border-bottom:1px solid var(--border);font-size:var(--fs-small);justify-content:space-between;gap:10px;padding:4px 0;display:flex}.health__ok,.health__note{font-size:var(--fs-micro);color:var(--text-muted)}.link-list{margin:0;padding:0;list-style:none}.link-list li{border-bottom:1px solid var(--border);font-size:var(--fs-small);flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:7px 0;display:flex}.link-list li:last-child{border-bottom:0}.link-list__end{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.thr-table td{vertical-align:top;font-size:var(--fs-small)}.unit-input{align-items:center;gap:6px;display:inline-flex}.rule-list{font-size:var(--fs-micro);color:var(--text-muted);gap:4px;margin:0;padding:0;list-style:none;display:grid}.twin-mini{gap:var(--s-3);grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;display:grid}.twin-mini__canvas,.tw__canvas{border:1px solid var(--border);background:var(--surface);overflow:hidden}.ts{width:100%;height:auto;font-family:var(--font-mono);display:block}.ts__comp{cursor:pointer;outline:none}.ts__comp:hover .ts__geom>*{stroke:var(--primary)}.ts__comp:focus-visible .ts__geom>*{stroke:var(--primary);stroke-width:3px}.ts__comp.is-selected .ts__geom>:not(text){stroke:var(--accent);stroke-width:3px}.ts__geom{transition:opacity var(--t-med) var(--ease)}.ts__mlabel{font-family:var(--font-body);fill:var(--text-muted);font-size:11px}.ts__mvalue{fill:var(--text);font-size:12px;font-weight:500}.ts__alert{fill:var(--state-warning-ink);text-transform:uppercase;font-size:11px;font-weight:600}.ts__rlabel{fill:var(--primary-hover);font-size:11px}.ts__rel{cursor:pointer}.ts__meta,.ts__glyph{fill:var(--text-muted);font-size:11px}.tw{gap:var(--s-3);grid-template-columns:minmax(0,1fr) 320px;grid-template-areas:"canvas inspect""tele tele";display:grid}.tw__canvas-wrap{background:var(--bg);grid-area:canvas;align-content:start;gap:8px;min-width:0;display:grid}.tw__canvas-wrap:fullscreen{padding:var(--s-4);overflow:auto}.tw__toolbar{background:var(--surface);border:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.tw__layers{border:0;flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;display:flex}.tw__layer{min-height:32px;font-size:var(--fs-small);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.tw__layer input{accent-color:var(--primary);width:16px;height:16px}.tw__zoom{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tw__zoom .icon-btn{border:1px solid var(--border-control)}.tw__complist{flex-wrap:wrap;gap:6px;display:flex}.tw__inspect{background:var(--surface-raised);border:1px solid var(--border);grid-area:inspect;align-content:start;gap:8px;min-width:0;padding:14px;display:grid}.tw__telemetry{background:var(--surface-raised);border:1px solid var(--border);grid-area:tele;min-width:0;padding:14px}.reading-strip{margin:0 0 var(--s-3);font-size:var(--fs-small);flex-wrap:wrap;gap:6px 16px;padding:0;list-style:none;display:flex}.reading-strip li{display:grid}.reading-strip li span:first-child{font-size:var(--fs-micro);color:var(--text-muted)}@media (max-width:1099px){.tw,.twin-mini{grid-template-columns:minmax(0,1fr);grid-template-areas:"canvas""inspect""tele"}}.editor{gap:var(--s-3);display:grid}.inline-add{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wizard-steps{border-top:1px solid var(--border-strong);grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.wizard-steps li{font-size:var(--fs-small);color:var(--text-muted);padding:12px 8px 0 0;position:relative}.wizard-steps li:before{content:"";background:var(--bg);border:1.5px solid var(--border-strong);width:9px;height:9px;position:absolute;top:-5px;left:0}.wizard-steps li.is-done:before{background:var(--secondary)}.wizard-steps li.is-on{color:var(--secondary);font-weight:600}.wizard-steps li.is-on:before{background:var(--accent);border-color:var(--accent)}@media (max-width:767px){.wizard-steps li{font-size:0}.wizard-steps li .mono{font-size:var(--fs-small)}.wizard-steps li.is-on{font-size:var(--fs-micro)}}.pick-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.pick{border:1px solid var(--border-control);background:var(--surface-raised);cursor:pointer;height:100%;font-size:var(--fs-small);gap:4px;padding:12px 12px 12px 38px;display:grid;position:relative}.pick input{accent-color:var(--primary);width:16px;height:16px;position:absolute;top:14px;left:12px}.pick.is-on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-tint)}.pick.is-disabled{opacity:.65;cursor:not-allowed;background:var(--surface)}.pick__title{font-weight:600}.pick__meta{font-size:var(--fs-micro);color:var(--text-muted)}.param .scenario__control{max-width:560px}.sim-result{gap:var(--s-3);display:grid}.formula{background:var(--surface-sunken);font-size:var(--fs-micro);overflow-wrap:anywhere;padding:8px 10px}.cmp-bars{gap:6px;margin:0;padding:0;list-style:none;display:grid}.cmp-bars li{font-size:var(--fs-small);grid-template-columns:minmax(120px,220px) minmax(0,1fr);align-items:center;gap:10px;display:grid}.cmp-bars__track{gap:2px;display:grid}.cmp-bars__b,.cmp-bars__s{min-width:2px;height:8px;display:block}.cmp-bars__b{background:var(--border-strong)}.cmp-bars__s{background:var(--primary)}.cmp-bars__legend{color:var(--text-muted);align-items:center;gap:8px;font-size:var(--fs-micro)!important;display:flex!important}.row-params td{font-size:var(--fs-micro)}.legend-row{font-size:var(--fs-micro);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.health-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.health-card{border:1px solid var(--border);color:var(--text);justify-items:start;gap:4px;padding:12px;text-decoration:none;display:grid}.health-card:hover{border-color:var(--secondary);color:var(--text)}.health-card__name{font-weight:500;font-size:var(--fs-small)}.health-card__score{font-size:1.5rem;font-weight:500}.rec-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.rec{border:1px solid var(--border);border-left:3px solid var(--primary);gap:6px;padding:12px;display:grid}.rec__head{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.rec__title{font-weight:600}.rec__why{font-size:var(--fs-small)}.rec__rule{font-size:var(--fs-micro);color:var(--text-muted);overflow-wrap:anywhere}.rec__foot{font-size:var(--fs-small);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.notes{gap:8px;margin:0;padding:0;list-style:none;display:grid}.notes li{background:var(--surface);border-left:2px solid var(--border-control);font-size:var(--fs-small);padding:8px 10px}.notes__meta{font-size:var(--fs-micro);color:var(--text-muted)}.note-form{justify-items:start;gap:8px;display:grid}.note-form textarea{min-height:80px}.events-layout{gap:var(--s-3);grid-template-columns:minmax(0,1fr);display:grid}.events-layout>*,.sim-result>*,.editor>*,.int-group>*,.tw__canvas-wrap>*{min-width:0}.events-layout.has-detail{grid-template-columns:minmax(0,1fr) 360px;align-items:start}.ev-open{text-align:left;color:var(--text);text-decoration:none}.ev-open:hover{color:var(--primary);text-decoration:underline}.ev-detail{top:calc(var(--topbar-h) + 16px);background:var(--surface-raised);border:1px solid var(--border-control);gap:10px;min-width:0;padding:14px;display:grid;position:sticky}.ev-detail__head{align-items:center;gap:10px;display:flex}.ev-detail__head .icon-btn{margin-left:auto}@media (max-width:1179px){.events-layout.has-detail{grid-template-columns:minmax(0,1fr)}.events-layout.has-detail>aside{order:-1;position:static}}.app-report{max-width:none}.report__h{margin:var(--s-4) 0 var(--s-2);font-family:var(--font-mono);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:500}.report__foot{margin-top:var(--s-5);padding-top:var(--s-3);border-top:1px solid var(--border);font-size:var(--fs-micro);color:var(--text-muted)}.int-group{gap:var(--s-3);display:grid}.int-list{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin:0;padding:0;list-style:none;display:grid}.int-card{background:var(--surface-raised);border:1px solid var(--border);font-size:var(--fs-small);align-content:start;gap:8px;padding:14px;display:grid}.int-card__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;display:flex}.int-card__name{font-weight:600;font-size:var(--fs-body-s)}.int-card .btn{justify-self:start}.int-steps summary{cursor:pointer;font-weight:500}.int-steps ol{margin:6px 0 0;padding-left:1.2em}@media (max-width:479px){.int-list{grid-template-columns:minmax(0,1fr)}}.dlg-backdrop{z-index:200;padding:var(--s-4);background:#1f262973;place-items:center;display:grid;position:fixed;inset:0}.dlg-backdrop--top{place-items:start center;padding-top:12vh}.dlg{background:var(--surface-raised);border:1px solid var(--border-control);border-radius:var(--r-2);width:min(520px,100%);max-height:calc(100vh - 32px);box-shadow:var(--overlay-shadow);outline:none;flex-direction:column;display:flex}.dlg--wide{width:min(760px,100%)}.dlg__head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.dlg__head h2{font-size:1.125rem}.dlg__body{gap:var(--s-3);padding:16px;display:grid;overflow-y:auto}.dlg__foot{border-top:1px solid var(--border);background:var(--surface);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.search-dlg{width:min(640px,100%)}.search-dlg__input{border:0;border-bottom:1px solid var(--border);border-radius:0;min-height:52px;font-size:1.0625rem}.search-dlg__list{max-height:50vh;margin:0;padding:6px;list-style:none;overflow-y:auto}.search-dlg__list li[role=option]{cursor:pointer;grid-template-columns:100px minmax(0,1fr);gap:2px 10px;padding:8px 10px;display:grid}.search-dlg__list li.is-active{background:var(--primary-tint)}.search-dlg__kind{font-size:var(--fs-micro);color:var(--primary);grid-row:span 2;padding-top:2px}.search-dlg__title{font-size:var(--fs-small);overflow-wrap:anywhere;font-weight:500}.search-dlg__detail{font-size:var(--fs-micro);color:var(--text-muted)}.search-dlg__hint{color:var(--text-muted);font-size:var(--fs-small);padding:14px}.search-dlg__foot{border-top:1px solid var(--border);font-size:var(--fs-micro);color:var(--text-muted);padding:8px 12px}.toasts{z-index:300;pointer-events:none;gap:8px;width:min(420px,100vw - 32px);display:grid;position:fixed;bottom:16px;right:16px}.toast{background:var(--secondary);color:var(--text-on-dark);border-left:4px solid var(--primary);box-shadow:var(--overlay-shadow);font-size:var(--fs-small);pointer-events:auto;justify-content:space-between;gap:10px;padding:10px 12px;display:flex}.toast--success{border-left-color:#6fbf98}.toast--error{border-left-color:#e07a7a}.toast button{color:inherit;background:0 0;border:0;font-size:1.1rem;line-height:1}@media print{.topbar,.sidebar,.app-ph__actions,.toasts,.filters,.no-print,.skip-link{display:none!important}.app-main-area{padding:0!important}.app-report,.app-panel{border:0}}
