:root{--nav:#222d40;--nav-2:#2b3850;--nav-fg:#c9d1dd;--nav-muted:#8793a6;--primary:#ff7800;--primary-ink:#b85600;--primary-0:#fff3e8;--secondary:#314657;--ink:#0e0e10;--muted:#5c6267;--line:#e5e5e5;--ground:#f3f3f3;--card:#fff;--ok-bg:#cef5ca;--ok-fg:#114e0b;--warn-bg:#fcf8d8;--warn-fg:#5e5515;--alarm-bg:#f8e4e4;--alarm-fg:#3b0b0b;--info-bg:#e6ecf2;--info-fg:#314657;--r:8px;--r-sm:4px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--fast:.15s;--mid:.2s;--slow:.3s;--ease:cubic-bezier(.2, .8, .2, 1)}a:not([class]){color:var(--primary-ink);text-underline-offset:2px;font-weight:500}a:not([class]):hover{color:var(--ink)}.mantine-Button-root{--button-height-xs:32px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}small{font-size:12px}body{background:var(--ground);color:var(--ink);font-variant-numeric:tabular-nums}h1,h2,h3{text-wrap:balance;margin:0;font-weight:600}h1{letter-spacing:-.01em;font-size:24px;line-height:1.25}h2{font-size:16px}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:500}.muted{color:var(--muted)}.navbar{background:var(--nav);border-right:0}.side{color:var(--nav-fg);scrollbar-width:thin;scrollbar-color:#34425c transparent;flex-direction:column;gap:20px;height:100%;padding:20px 14px;display:flex;overflow:hidden auto}.logo{color:#fff;align-items:center;gap:10px;padding:0 8px;font-size:16px;font-weight:600;display:flex}.side>.logo{z-index:2;background:var(--nav);margin:-20px -14px 0;padding:20px 22px 14px;position:sticky;top:-20px}.client-box{background:var(--nav-2);border-radius:var(--r);gap:2px;padding:10px 12px;display:grid}.client-box .eyebrow{color:var(--nav-muted)}.client-name{color:#fff;font-weight:500}.client-select{font-weight:500;color:#fff!important;height:auto!important;min-height:0!important;padding-left:0!important}.client-select option{color:var(--ink)}.nav-group{grid-template-columns:minmax(0,1fr);gap:1px;display:grid}.nm{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.nav-group .eyebrow{color:var(--nav-muted);padding:0 10px 6px}.nav-item{color:var(--nav-fg);min-width:0;transition:background var(--fast) var(--ease);border-radius:8px;flex:1;align-items:center;gap:10px;padding:8px 10px;text-decoration:none;display:flex}.nav-item svg,.tree-page svg{flex:none}.nav-item:hover{background:var(--nav-2);color:#fff}.nav-item.active{background:var(--primary);color:var(--nav);font-weight:600}.nav-item .count{opacity:.8;flex:none;margin-left:auto;font-size:12px}.tree-row{align-items:center;min-width:0;display:flex}.tree-tog{width:20px;height:32px;color:var(--nav-muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.tree-tog:hover{color:#fff}.tree-tog svg{transition:transform var(--fast) var(--ease)}.tree-tog[aria-expanded=false] svg{transform:rotate(-90deg)}.tree-gap{flex:none;width:20px}.tree-kids{border-left:1px solid #34425c;grid-template-columns:minmax(0,1fr);gap:1px;margin:2px 0 8px 29px;padding-left:8px;display:grid}.dot{background:#8793a6;border-radius:50%;flex:none;width:7px;height:7px}.dot.online{background:#58c28a}.dot.offline{background:#e5735f}.account{color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:10px;padding:4px 8px 4px 4px;display:flex}.account:hover,.account[aria-expanded=true]{background:var(--ground);border-color:var(--line)}.account:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.account-text{line-height:1.2;display:grid}.account-name{text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:13px;font-weight:600;overflow:hidden}.account-role{color:var(--muted);font-size:12px}.account-caret{color:var(--muted)}.menu-label-icon{align-items:center;gap:6px;display:inline-flex}@media (width<=900px){.account-text{display:none}}.avatar{background:var(--secondary);color:#fff;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:12px;font-weight:600;display:grid}.main{min-height:100vh}.top{background:var(--card);border-bottom:1px solid var(--line);z-index:5;align-items:center;gap:16px;padding:12px 28px;display:flex;position:sticky;top:0}.crumbs{min-width:0;color:var(--muted);align-items:center;gap:8px;display:flex}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--ink)}.crumbs strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.top-right{align-items:center;gap:14px;margin-left:auto;display:flex}.live{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:13px;display:inline-flex}.pulse{background:#2db84b;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #2db84b80}70%{box-shadow:0 0 0 7px #2db84b00}to{box-shadow:0 0 #2db84b00}}.search{width:240px}.content{align-content:start;gap:20px;padding:24px 28px 40px;display:grid}.emulator-frame{border:1px solid var(--line);border-radius:var(--r);background:#f3f3f3;width:100%;height:calc(100vh - 150px);min-height:480px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 20px;display:flex}.page-head p{color:var(--muted);margin:4px 0 0}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r)}.card-pad{padding:16px 20px}.section-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.calm-card{color:var(--muted);gap:4px;padding:18px 20px;display:grid}.calm-card strong{color:var(--ink)}.empty{text-align:center;color:var(--muted);padding:40px 20px}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.pill.online{background:var(--ok-bg);color:var(--ok-fg)}.pill.offline{background:var(--alarm-bg);color:var(--alarm-fg)}.pill.import{background:var(--info-bg);color:var(--info-fg)}.chip{border:1px solid var(--line);letter-spacing:.04em;color:var(--secondary);background:var(--card);border-radius:4px;align-items:center;margin-right:4px;padding:0 6px;font-size:12px;font-weight:600;display:inline-flex}.tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--r);grid-template-rows:auto auto 1fr;gap:8px;min-width:0;padding:14px 16px 13px;display:grid}.tile .sub{color:var(--muted);align-self:end;font-size:12px}.big{letter-spacing:-.02em;align-items:baseline;gap:4px;font-size:32px;font-weight:600;line-height:1;display:flex}.big small{letter-spacing:0;color:var(--muted);font-size:16px;font-weight:500}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 16px;font-size:12px;font-weight:500}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 16px}tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;white-space:nowrap}td small.u{color:var(--muted);margin-left:3px;font-size:12px}tr.row-link{cursor:pointer}tr.row-link:hover td{background:#fafafa}.site-cell{gap:1px;display:grid}.site-cell strong{font-weight:600}.site-cell span{color:var(--muted);font-size:12px}.lr{color:var(--muted);margin-top:3px;font-size:12px}.site-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-auto-rows:1fr;gap:12px;display:grid}.site-card{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--r);font:inherit;color:inherit;cursor:pointer;flex-direction:column;gap:10px;min-width:0;padding:14px 16px;display:flex}.site-card:hover{border-color:#c9ced4}.site-card.attention{border-color:#e3a3a3;box-shadow:inset 3px 0 #c94a4a}.sc-flags{align-items:center;gap:6px;display:inline-flex}.sc-alarm{color:#fff;background:#c94a4a;border-radius:999px;align-items:center;gap:3px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-flex}.sc-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.sc-top strong{font-size:14px;font-weight:600}.sc-sub{color:var(--muted);font-size:12px}.sc-vals{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:auto;font-size:12px;display:grid}.sc-vals>span{gap:1px;min-width:0;display:grid}.sc-vals b{color:var(--ink);letter-spacing:0;text-transform:none;white-space:nowrap;font-size:20px;font-weight:600}.sc-vals b small{color:var(--muted);margin-left:2px;font-size:12px;font-weight:500}.sc-vals b.negc{color:var(--primary-ink)}.gauge{background:var(--ground);border-radius:4px;height:6px;display:block;position:relative}.gauge i{background:var(--primary);border-radius:4px;position:absolute;inset:0 auto 0 0}.site-head{gap:14px;display:grid}.site-title{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.facts{color:var(--muted);flex-wrap:wrap;gap:8px 22px;font-size:13px;display:flex}.facts b{color:var(--ink);font-weight:600}.tabs{border-bottom:1px solid var(--line);gap:4px;display:flex;overflow:auto hidden}.tabs button{color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-weight:500}.tabs button.on{color:var(--ink);border-bottom-color:var(--primary)}.tabs button{transition:color var(--fast) var(--ease)}.tabs button:hover{color:var(--ink)}.tab-bar{border-bottom:1px solid var(--line);align-items:center;gap:8px;min-width:0;display:flex;position:relative}.tab-bar>.tabs{border-bottom:0;flex:1;min-width:0;overflow:hidden}.tab-bar .tabs button{align-items:center;gap:4px;display:inline-flex}.tab-tools:empty{display:none}.tab-tools .board-tools{flex-wrap:nowrap}.tabs-measure{visibility:hidden;pointer-events:none;border:0;height:0;position:absolute;top:0;left:0;overflow:hidden}.switcher{align-items:center;gap:6px;min-width:0;display:flex}.switch-step{border-radius:var(--r);background:var(--card);width:32px;height:32px;color:var(--muted);cursor:pointer;transition:background var(--fast) var(--ease);border:1px solid #ced4da;flex:none;place-items:center;display:grid}.switch-step:hover:not(:disabled){color:var(--ink);background:#fafafa}.switch-step:disabled{color:#ced4da;cursor:default}.switch-name{border-radius:var(--r);min-width:0;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:2px 6px;display:inline-flex}.switch-name:hover:not(:disabled){background:#e9ecef}.switch-name:disabled{cursor:default}.switch-name h1{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.switch-name svg{color:var(--muted);flex:none}.switch-menu{gap:6px;display:grid}.switch-list{gap:1px;max-height:280px;display:grid;overflow-y:auto}.switch-list button{text-align:left;border-radius:var(--r);font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:6px 8px;font-size:14px;display:grid}.switch-list button:hover{background:#fafafa}.switch-list button.on{color:var(--primary-ink);background:#fff3e8}.switch-list small{color:var(--muted);font-size:12px}.switch-none{padding:6px 8px;font-size:13px}.switch-pos{color:var(--muted);font-size:13px}.live-hero{color:#e6ebf2;border-radius:var(--r);background:#1b2536;border:1px solid #26324a;gap:12px;padding:16px 20px;display:grid}.lh-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.lh-head h2{color:#fff;margin-top:2px;font-size:16px}.lh-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#93a1b5;align-items:center;gap:8px;font-size:12px;display:inline-flex}.lh-time{color:#93a1b5;font-size:12px}.lh-grid{grid-template-columns:minmax(190px,.8fr) minmax(0,2.2fr) minmax(210px,1fr);align-items:center;gap:20px;display:grid}.lh-soc{align-items:center;gap:14px;display:flex}.lh-soc>div{gap:4px;display:grid}.bat-gauge{flex:none;width:58px;height:auto}.lh-big{letter-spacing:-.02em;color:#fff;font-size:32px;font-weight:600;line-height:1}.lh-big small{color:#93a1b5;margin-left:3px;font-size:16px;font-weight:500}.lh-mode{color:#93a1b5;font-size:13px;font-weight:600}.lh-mode.discharging{color:#ff9a3d}.lh-mode.charging{color:#6fb0f0}.lh-sub{color:#93a1b5;font-size:12px}.flow-svg{width:100%;height:auto;display:block}.flow-base{fill:none;stroke:#2c3a52;stroke-width:9px;stroke-linecap:round}.flow{fill:none;stroke:#ff9a3d;stroke-linecap:round;stroke-dasharray:2 12;animation:1.2s linear infinite flowmove}.flow.rev{animation-direction:reverse}.flow.chg{stroke:#6fb0f0}.flow.idle{stroke:#3a4a63;animation:none}@keyframes flowmove{to{stroke-dashoffset:-28px}}.fn-bg{fill:#243149;stroke:#3a4a63;stroke-width:2px}.fn-ic{color:#e6ebf2}.fn-l{fill:#93a1b5;font-size:12px}.lh-list{font-size:13px;display:grid}.lh-list>div{border-bottom:1px solid #26324a;justify-content:space-between;gap:12px;padding:7px 0;display:flex}.lh-list>div:last-child{border-bottom:0}.lh-list span{color:#aab6c7}.lh-list b{color:#fff;white-space:nowrap;font-weight:600}@media (prefers-reduced-motion:reduce){.flow,.pulse{animation:none}}@media (width<=1180px){.lh-grid{grid-template-columns:minmax(0,1fr)}}.pw{background:var(--ok-bg);color:var(--ok-fg);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.pw code{font-family:var(--mantine-font-family-monospace);overflow-wrap:anywhere;font-size:14px;font-weight:500}.user-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}.user-sec{gap:12px;padding:16px;display:grid}.user-sec+.user-sec{border-top:1px solid var(--line)}.user-sec h2{font-size:16px}.user-sec-title{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.user-sec-title p{color:var(--muted);margin:0;font-size:13px}.area{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.area-head{align-items:center;gap:12px;padding:12px;display:flex}.area-icon{border-radius:var(--r);background:var(--info-bg);width:32px;height:32px;color:var(--info-fg);flex:none;place-items:center;display:grid}.area.off .area-icon{color:var(--muted);background:#f1f3f5}.area-name{flex:1;min-width:0;display:grid}.area-name b{font-weight:600}.area-name span{color:var(--muted);font-size:13px}.area-body{border-top:1px solid var(--line);background:#fafafa;gap:12px;padding:12px 12px 16px 56px;display:grid}.area-sites{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 16px;padding-left:28px;display:grid}.area-sites.contracts{grid-template-columns:minmax(0,1fr)}.area-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}.user-summary{position:sticky;top:76px}.menu-preview{border-radius:var(--r);background:var(--nav);color:var(--nav-fg);gap:1px;padding:10px 8px;font-size:13px;display:grid}.menu-preview .eyebrow{color:var(--nav-muted);padding:2px 6px 4px}.mp-cat{color:#fff;align-items:center;gap:8px;padding:4px 8px 2px;font-weight:600;display:flex}.mp-page{padding:2px 8px 2px 34px}.mp-none{color:var(--nav-muted);padding-left:8px;font-style:italic}.mp-page.mp-none{padding-left:34px}.user-lines{gap:8px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.user-lines li{gap:1px;display:grid}.user-lines span{color:var(--muted)}.access-chips{flex-wrap:wrap;gap:4px;display:flex}.chip.area-chip{background:var(--info-bg);color:var(--info-fg);border-color:#c8d3df;border-radius:999px;font-weight:500}.chip.all-chip{color:var(--primary-ink);background:#fff3e8;border-color:#ffd8a8;border-radius:999px;font-weight:500}@media (width<=1100px){.user-grid{grid-template-columns:minmax(0,1fr)}.user-summary{position:static}}@media (width<=640px){.area-body{padding-left:12px}.area-sites{padding-left:0}}.login{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);display:grid}.login-art{background:var(--nav);color:#fff;flex-direction:column;min-width:0;display:flex;overflow:hidden}.login-top{justify-content:space-between;align-items:center;gap:12px;padding:32px 40px 0;display:flex}.login .login-home{color:var(--nav-fg);align-items:center;gap:6px;font-size:14px;text-decoration:none;display:inline-flex}.login .login-home:hover{color:#fff}.login-copy{gap:16px;max-width:560px;padding:48px 40px 0;display:grid}.login-art .claim{letter-spacing:-.02em;font-size:clamp(30px,3.4vw,44px);font-weight:600;line-height:1.1}.login-art .claim b{color:var(--primary);font-weight:600}.login-trust{color:var(--nav-muted);align-items:center;gap:8px;font-size:14px;display:flex}.own-note{max-width:44ch;color:var(--nav-fg);font-size:16px}.own-rules{color:var(--muted);gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.own-rules li{align-items:center;gap:6px;display:flex}.own-rules li.ok{color:var(--ok-fg)}.login-scene{margin-top:auto;padding:24px 0 8px}.login-form{flex-direction:column;padding:24px 32px 40px;display:flex}.login-form .login-lang{border-color:var(--line);align-self:flex-end}.login-form .login-lang button{color:var(--muted)}.login-form .login-lang button.on{background:var(--nav);color:#fff}.login-form form{width:100%;max-width:380px;margin:auto;padding-top:24px}@media (width<=900px){.top{padding:10px 16px}.content{padding:18px 16px 32px}.search{width:auto}.top-right .live{display:none}.login{grid-template-columns:minmax(0,1fr)}.login-top{padding:20px 20px 0}.login-copy{padding:24px 20px}.login-scene,.login-trust{display:none}.login-form{padding:16px 20px 32px}}@media (width<=560px){.top-right form{display:none}}.panel{flex-direction:column;gap:14px;padding:18px 20px;display:flex}.panel-head p{color:var(--muted);margin:2px 0 0;font-size:13px}.facts-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px 20px;display:grid}.facts-grid>div{gap:4px;min-width:0;display:grid}.facts-grid .kv{text-align:left;font-size:24px}.kboard{gap:18px;padding:18px 20px 20px;display:grid}.kboard-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 20px;display:flex}.kboard-head p{margin:2px 0 0;font-size:13px}.kboard-tools{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.ktabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;padding-bottom:12px;display:flex}.ktabs button{border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;display:inline-flex}.ktabs button:hover{border-color:var(--secondary)}.ktabs button.on{background:var(--secondary);border-color:var(--secondary);color:#fff}.ktab-n{background:var(--ground);min-width:18px;color:var(--muted);text-align:center;border-radius:999px;padding:0 5px;font-size:12px;font-weight:600}.ktabs button.on .ktab-n{color:#fff;background:#ffffff2e}.kgrid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0 40px;display:grid}.krow{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:2px 12px;padding:9px 0;display:grid}.kl{min-width:0;font-size:13px}.kv{white-space:nowrap;text-align:right;font-size:16px;font-weight:600}.kv small{color:var(--muted);margin-left:3px;font-size:12px;font-weight:500}.kv-none{color:var(--muted)}.kcov{color:var(--muted);grid-column:1/-1;font-size:12px}.est{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);vertical-align:2px;border-radius:4px;margin-left:6px;padding:0 4px;font-size:12px;font-weight:600}.nowrap{white-space:nowrap}.pill.sev-critical{background:var(--alarm-bg);color:var(--alarm-fg)}.pill.sev-warning{background:var(--warn-bg);color:var(--warn-fg)}.pill.sev-info{background:var(--info-bg);color:var(--info-fg)}.content>*,.kboard>*,.card{min-width:0}.pill.neutral{background:var(--ground);color:var(--muted)}.file-link{color:var(--primary-ink);overflow-wrap:anywhere;align-items:center;gap:5px;font-size:13px;text-decoration:none;display:inline-flex}.file-link:hover{text-decoration:underline}.deal-facts{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));font-size:14px}.prewrap{white-space:pre-wrap}.term-row{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,2fr) auto;align-items:center;gap:6px;display:grid}.term-row .unit{color:var(--muted);font-size:12px}.history{gap:8px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.history li{border-bottom:1px solid var(--line);gap:2px;padding-bottom:8px;display:grid}.history li:last-child{border-bottom:0}@media (width<=640px){.term-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}}.setup-b{grid-template-columns:252px minmax(0,1fr);align-items:start;gap:16px;display:grid}.setup-menu{gap:10px;padding:10px 8px;display:grid;position:sticky;top:76px}.setup-group{gap:2px;display:grid}.setup-group .eyebrow{padding:2px 10px 4px}.setup-menu button{border-radius:var(--r);min-width:0;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background var(--fast) var(--ease);background:0 0;border:0;align-items:center;gap:8px;padding:8px 10px;font-size:14px;display:flex}.setup-menu button:hover{background:#fafafa}.setup-menu button.on{color:var(--primary-ink);background:#fff3e8;font-weight:600}.setup-menu .nm{flex:1}.setup-body{min-width:0}.setup-sub{font-size:16px}.dot-warn{background:#f08c00;border-radius:50%;flex:none;width:8px;height:8px}@media (width<=1200px){.setup-b{grid-template-columns:200px minmax(0,1fr)}}@media (width<=900px){.setup-b{grid-template-columns:minmax(0,1fr)}.setup-menu{position:static}}.setup{gap:16px;display:grid}.setup-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 14px;display:grid}.setup-grid .unit,.mantine-Input-section .unit{color:var(--muted);font-size:12px}.pills{flex-wrap:wrap;gap:4px;display:flex}.tab-count{color:#fff;background:#c94a4a;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;font-size:12px;font-weight:600;display:inline-flex}.topo-table td{padding:6px 8px}.topo-table td .mantine-TextInput-root{min-width:70px}.derived{color:var(--muted);flex-wrap:wrap;gap:6px 18px;font-size:13px;display:flex}.head-link{color:var(--primary-ink);font-size:13px;font-weight:500;text-decoration:none}.head-link:hover{text-decoration:underline}.profile-card{gap:10px;padding:14px 16px}.warn-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.warn-list li{background:var(--warn-bg);color:var(--warn-fg);border-radius:8px;padding:8px 12px;font-size:13px}.warn-list li.severe{background:var(--alarm-bg);color:var(--alarm-fg)}.code-block{white-space:pre;background:var(--ground);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:12px;display:block;overflow-x:auto}.dash-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (width<=1000px){.dash-2{grid-template-columns:minmax(0,1fr)}}.chart-svg{width:100%;height:auto;display:block}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 16px;display:flex}.legend{color:var(--muted);flex-wrap:wrap;gap:4px 14px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:4px;width:10px;height:3px}.facts-inline{color:var(--muted);flex-wrap:wrap;gap:4px 22px;font-size:13px;display:flex}.facts-inline b{color:var(--ink);margin-left:4px;font-weight:600}.work-groups{gap:16px;display:grid}.work-group h3{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;margin:0 0 4px;font-size:12px;font-weight:600;display:flex}.work-group h3 .count{background:var(--ground);min-width:20px;color:var(--ink);text-align:center;letter-spacing:0;border-radius:999px;padding:0 6px}.work-list{display:grid}.work-item{border-top:1px solid var(--line);border-radius:var(--r-sm);color:inherit;transition:background var(--fast) var(--ease);grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:4px 12px;margin:0 -8px;padding:8px;text-decoration:none;display:grid}.work-item:first-child{border-top-color:#0000}.work-item:hover{background:var(--ground)}.work-item .pill{justify-self:start}.work-item .head-link{white-space:nowrap;align-items:center;gap:2px;display:inline-flex}@media (width<=560px){.work-item{grid-template-columns:minmax(0,1fr) auto}.work-item .pill{grid-column:1/-1}}.work-item strong{font-size:14px;font-weight:600}.work-item .wi-sub{color:var(--muted);font-size:12px;display:block}.calm-line{color:var(--muted);align-items:center;gap:8px;font-size:14px;display:flex}.hbars{gap:8px;display:grid}.hbar{grid-template-columns:minmax(90px,160px) minmax(0,1fr) 32px;align-items:center;gap:10px;font-size:13px;display:grid}.hbar>i{background:var(--secondary);border-radius:4px;height:8px}.hbar b{text-align:right;font-weight:600}.grid-tools{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:8px 12px;display:flex}.grid-tools .grid-search{width:220px;margin-right:auto}.data-grid .ag-cell{align-items:center;line-height:1.35;display:flex}.data-grid .ag-right-aligned-cell{justify-content:flex-end}.data-grid.clickable .ag-row{cursor:pointer}.data-grid .ag-cell .chip+.chip{margin-left:4px}.data-grid small.u{margin-left:3px}.data-grid .ag-layout-auto-height.ag-grid-scrolling-rows{min-height:42px}.board{gap:12px;min-width:0;display:grid}.board-tools{justify-content:flex-end;gap:8px;display:flex}.board-away{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.board-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.board-part{gap:8px;min-width:0;display:grid}.board-part.wide{grid-column:1/-1}.part-body{gap:20px;min-width:0;display:grid}.board:not(.arranging) .board-part:has(>.part-body:empty){display:none}.board.arranging .board-part{outline-offset:4px;border-radius:var(--r);outline:1px dashed #c9ced3}.board.arranging .part-body:empty:after{content:attr(data-empty);color:var(--muted);padding:12px 4px;font-size:13px}.board-part.dragging{z-index:5;opacity:.85}.part-bar{align-items:center;gap:8px;display:flex}.part-bar strong{margin-right:auto;font-size:13px}.part-grip{background:var(--card);color:var(--muted);cursor:grab;touch-action:none;border:0;border-radius:8px;padding:4px;display:inline-flex}.part-grip:active{cursor:grabbing}@media (width<=900px){.board-grid{grid-template-columns:minmax(0,1fr)}}.analysis{flex-direction:column;gap:14px;display:flex}.analysis-tools{flex-wrap:wrap;align-items:center;gap:12px 20px;padding:14px 18px;display:flex}.analysis-period{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.range-target{min-width:0}.range-shown{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);height:36px;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;transition:border-color var(--fast) var(--ease);align-items:center;gap:6px;padding:0 12px;font-size:13px;display:inline-flex}.range-shown.compact{height:30px;padding:0 8px;font-size:12px}.range-shown:hover{border-color:var(--secondary)}.range-shown svg{color:var(--muted)}.range-form{gap:12px;display:grid}.range-fields{gap:8px;display:grid}.dt-input{gap:8px;display:flex}.time-input{font-variant-numeric:tabular-nums;width:72px}.range-error{color:var(--mantine-color-error);margin:0;font-size:12px}.range-actions{justify-content:flex-end;gap:8px;display:flex}.analysis-count{color:var(--muted);align-items:center;gap:12px;margin-left:auto;font-size:13px;display:inline-flex}.analysis-chart{flex-direction:column;gap:10px;padding:14px 18px;display:flex}.ac-n{background:var(--secondary);color:#fff;border-radius:8px;flex:none;place-items:center;width:24px;height:24px;font-size:12px;font-weight:600;display:inline-grid}.ac-title{flex:1;min-width:0}.ac-title input{font-size:14px;font-weight:600}.ac-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.ac-param{border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:3px 6px 3px 10px;font-size:13px;display:inline-flex}.ac-param small{color:var(--muted)}.ac-param button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:2px;display:inline-grid}.ac-param button:hover{background:var(--ground);color:var(--ink)}.ac-add{flex-direction:column;gap:10px;display:flex}.ac-note{color:var(--muted);margin:0;font-size:12px}.ac-error{color:var(--alarm-fg);margin:0;font-size:12px}.ac-table{flex-direction:column;gap:8px;display:flex}.analyse-link{color:var(--primary-ink);vertical-align:middle;align-items:center;gap:4px;margin-left:8px;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex}.analyse-link:hover{text-decoration:underline}.ac-frame{border:0;width:100%;height:360px;display:block}.ac-frame.heat{height:460px}.ac-frame.frame-next{opacity:0;pointer-events:none;position:absolute;bottom:0;left:0}.ac-empty{text-align:center;color:var(--muted);padding:40px 0;font-size:13px}.ac-row{flex-wrap:wrap;align-items:center;gap:4px;min-height:36px;display:flex}.ac-row .ac-title{flex:0 170px;min-width:90px}.ac-chips{align-items:center;gap:6px;min-width:0;display:flex}.ac-chips .ac-param{max-width:160px}.ac-param-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ac-more{border:1px solid var(--line);background:var(--card);height:26px;font:inherit;cursor:pointer;border-radius:999px;flex:none;padding:0 9px;font-size:13px;font-weight:600}.ac-more:hover{background:var(--ground)}.ac-more-list{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.ac-dot{border-radius:50%;flex:none;width:8px;height:8px}.ac-grow{flex:auto}.ac-sep{background:var(--line);flex:none;width:1px;height:22px}.ac-row .chart-tools{margin-left:0}.ac-interval-select{width:84px}.ac-body{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:12px;display:grid}.ac-plot{min-width:0;position:relative}.ac-side{border-left:1px solid var(--line);min-width:0;padding-left:12px;font-size:13px}.ac-side h4{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:10px 0 6px;font-size:12px;font-weight:600}.ac-side h4:first-child{margin-top:0}.acs-row{align-items:center;gap:6px;min-height:26px;display:flex}.acs-row b{white-space:nowrap;margin-left:auto;font-weight:600}.acs-check{grid-template-columns:16px 14px minmax(0,1fr) auto;gap:8px;min-height:28px;display:grid}.acs-check>.mantine-Checkbox-root{display:flex}.acs-mark{cursor:pointer}.acs-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.acs-name small{color:var(--muted);font-size:12px}.acs-swatch{border-radius:4px;flex:none;width:14px;height:3px}.acs-mm{color:var(--muted);margin:-4px 0 4px 20px;font-size:12px}.acs-dash{border-top:2px dashed #d92d20;flex:none;width:14px}.acs-dash.warning{border-top-color:#f5a524}.acs-dash.guarantee{border-top-color:#2e6bd8}.acs-input{flex:none;width:92px;margin-left:auto}.acs-edit{border-radius:var(--r);background:#fff7f7;border:1px solid #d92d20;flex-direction:column;gap:6px;margin-top:12px;padding:10px;display:flex}.acs-edit p{color:var(--muted);margin:0;font-size:12px}.acs-change{font-size:12px}.acs-buttons{gap:6px;display:flex}.limit-drag{pointer-events:none;position:absolute;inset:0}.ld-line{border-top:2px dashed #d92d20;height:0;position:absolute}.ld-line.warning{border-top-color:#f5a524}.ld-line.guarantee{border-top-color:#2e6bd8}.ld-handle{pointer-events:auto;cursor:ns-resize;touch-action:none;color:#fff;white-space:nowrap;background:#d92d20;border:0;border-radius:999px;padding:3px 10px;font:600 12px/1.2 inherit;position:absolute;top:-1px;right:4px;transform:translateY(-50%);box-shadow:0 1px 4px #0003}.ld-handle.warning{background:#c77c02}.ld-handle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (width<=900px){.ac-body{grid-template-columns:minmax(0,1fr)}.ac-side{border-left:0;border-top:1px solid var(--line);padding-top:10px;padding-left:0}}@media (width<=700px){.analysis-count{margin-left:0}.ac-frame{height:300px}}.chip.on{border-color:var(--primary);color:var(--primary-ink)}.detail-head{margin:8px 0 0;font-size:16px}.action-log{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.action-log li{border-bottom:1px solid var(--line);grid-template-columns:minmax(120px,200px) 1fr auto;gap:4px 16px;padding:10px 0;font-size:13px;display:grid}.action-log .who{overflow-wrap:anywhere;font-weight:600}.action-log .what{white-space:pre-wrap;gap:2px;display:grid}.action-log .when{color:var(--muted);white-space:nowrap}@media (width<=640px){.action-log li{grid-template-columns:1fr}}.list-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.section-title{flex-wrap:wrap}.section-title .list-actions{border-top:0}.period-filter{flex-wrap:wrap;gap:8px;display:flex}.day-input{width:168px}.day-picker{opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;position:absolute;bottom:0;right:0}.input-tag{color:var(--muted);font-size:12px}.cell-icon{align-items:center;height:100%;display:inline-flex}.form-rows{flex-direction:column;gap:8px;display:flex}.form-rows .mantine-InputWrapper-root{grid-template-columns:170px minmax(0,1fr);align-items:center;column-gap:14px;display:grid}.form-rows .mantine-InputWrapper-label{text-align:right;color:var(--muted);font-weight:500}.form-rows .mantine-InputWrapper-root>:not(label){grid-column:2}.form-rows-head{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:10px 0 0 184px;font-size:12px;font-weight:600}@media (width<=600px){.form-rows .mantine-InputWrapper-root{grid-template-columns:minmax(0,1fr)}.form-rows .mantine-InputWrapper-label{text-align:left}.form-rows .mantine-InputWrapper-root>:not(label){grid-column:1}.form-rows-head{margin-left:0}}.grid-head{align-items:center;gap:2px;min-width:0;max-width:100%;display:flex}.grid-head-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.grid-head-menu{opacity:0;flex:none;transition:opacity .1s}.ag-header-cell:hover .grid-head-menu,.grid-head-menu[aria-expanded=true],.grid-head-menu:focus-visible{opacity:1}.tree-page{color:var(--nav-fg);min-width:0;transition:background var(--fast) var(--ease);border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;text-decoration:none;display:flex}.tree-page:hover{background:var(--nav-2)}.tree-page.active{background:var(--nav-2);color:#fff;box-shadow:inset 2px 0 0 var(--primary)}.tree-page .count{color:var(--nav-muted);flex:none;margin-left:auto;font-size:12px}.nav-sortable{align-items:flex-start;gap:2px;display:flex}.nav-sortable-body{flex:1;min-width:0}.nav-sortable.dragging{opacity:.7;z-index:2;position:relative}.nav-grip{color:var(--nav-muted);cursor:grab;background:0 0;border:0;padding:8px 0 0}.nav-arrange{justify-content:flex-end;gap:4px;margin-top:auto;padding:12px 8px 4px;display:flex}.page-tools{align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.alarm-page{gap:16px;display:grid}.back-link{color:var(--muted);align-items:center;gap:4px;font-size:13px;text-decoration:none;display:inline-flex}.alarm-head{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"sev title act"".facts act";align-items:baseline;gap:8px 12px;display:grid}.alarm-head>.pill{grid-area:sev}.alarm-head .pill,.cond-state{height:24px;padding:0 10px}.alarm-head-title{flex-wrap:wrap;grid-area:title;align-items:baseline;gap:4px 12px;min-width:0;display:flex}.alarm-head-title h1{margin:0;font-size:20px;line-height:28px}.alarm-head-title .muted{font-size:13px}.alarm-head-actions{grid-area:act;align-self:center}.alarm-facts{flex-wrap:wrap;grid-area:facts;gap:8px 32px;margin:0;font-size:13px;display:flex}.alarm-facts>div{align-items:baseline;gap:8px;display:flex}.alarm-facts dt{color:var(--muted)}.alarm-facts dd{flex-wrap:wrap;align-items:baseline;gap:4px 6px;margin:0;display:flex}.alarm-facts b{font-weight:600}.cond-state{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.cond-state.cond-live{background:var(--alarm-bg)}.cond-state.cond-ended{background:var(--ground)}@media (width<=720px){.alarm-head{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"sev title""facts facts""act act"}.alarm-head-actions{justify-self:start}}.alarm-card-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.alarm-card-head h2{margin:0;font-size:16px}.alarm-card-tools{flex-wrap:wrap;align-items:center;gap:14px;margin-left:auto;display:flex}.alarm-frame{height:420px}.acs-legend{color:var(--muted);flex-wrap:wrap;gap:6px 18px;margin-top:6px;font-size:12px;display:flex}.acs-legend i{vertical-align:middle;width:16px;margin-right:4px;display:inline-block}.acs-legend .lg-line.own{background:#185fa5;height:2px}.acs-legend .lg-band{opacity:.5;background:#9aa3ad;height:9px}.acs-legend .lg-dash{border-top:2px dashed}.acs-legend .lg-dash.red{border-color:#e02f44}.acs-legend .lg-dash.orange{border-color:#ff9830}.acs-legend .lg-region{opacity:.25;background:#d7263d;width:12px;height:9px}.acs-legend .lg-stop{opacity:.55;background:#a32d2d;height:4px}.mark-shape{vertical-align:middle;flex:none;width:11px;height:10px;display:inline-block}.acs-legend .mark-shape{width:11px;margin-right:0}.mark-shape.report{clip-path:polygon(0 0,100% 0,50% 100%);background:#e83e8c}.mark-shape.maintenance{background:#3b8a1e;border-radius:4px;width:10px}.ac-plot.with-marks{padding-top:32px}.chart-marks{pointer-events:none;position:absolute;inset:0}.cm-stop,.cm-tick{display:block;position:absolute}.cm-stop{opacity:.55;background:#a32d2d;height:4px}.cm-tick{width:2px;height:9px}.cm-tick.shutdown{background:#a32d2d}.cm-tick.startup{background:#2f80ed}.cm-mark{cursor:pointer;pointer-events:auto;background:0 0;border:0;border-radius:4px;width:22px;padding:0;position:absolute}.cm-mark svg{display:block}.cm-mark.report{fill:#e83e8c;stroke:#e83e8c}.cm-mark.maintenance{fill:#3b8a1e;stroke:#3b8a1e}.cm-mark path,.cm-mark rect{stroke:none}.cm-stem{pointer-events:none;width:2px;position:absolute}.cm-stem.report{background:#e83e8c}.cm-stem.maintenance{background:#3b8a1e}.cm-count{background:var(--secondary);color:#fff;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:12px;font-weight:600;line-height:16px;position:absolute;top:-6px;right:-8px}.cm-list{gap:8px;max-height:280px;margin:8px 0 0;padding:0;list-style:none;display:grid;overflow-y:auto}.cm-list li{grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.cm-list b,.cm-list small{display:block}.cm-list b{font-weight:600;line-height:1.35}.cm-list small{color:var(--muted)}.cm-mark.active,.cm-mark:hover{background:#ff780029}.cm-mark:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.cm-pop{font-size:13px}.cm-pop-head{align-items:flex-start;gap:8px;display:flex}.cm-pop-head .mark-shape{margin-top:4px}.cm-pop-head b{flex:1;font-weight:600;line-height:1.35}.cm-pop-time{color:var(--muted);margin:2px 0 10px 19px;font-size:12px}.mark-detail{border-top:1px solid var(--line);background:#f7f8f9;margin-top:10px;padding:14px 16px 16px}.md-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.md-head b{font-size:16px;font-weight:600}.md-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 22px;display:grid}.md-grid .wide{grid-column:span 2}.md-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px}.md-value{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:2px;font-size:13px}@media (width<=700px){.md-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.alarm-charts{flex-direction:column;gap:14px;display:flex}.alarm-chart{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:12px;display:flex}.ac-fixed-title{flex:calc(100% - 32px);min-width:0;font-size:16px;font-weight:600}.ac-fixed-title small{color:var(--muted);margin-left:8px;font-size:12px;font-weight:400}.threshold-panel{border:1px solid var(--line);background:#fafafa;border-radius:8px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.threshold-head{font-size:13px;font-weight:600}.threshold-log{margin:4px 0 0;padding:0;font-size:12px;list-style:none}.threshold-log li{border-top:1px solid var(--line);padding:4px 0}.threshold-log span{color:var(--muted);display:block}.alarm-add{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding-top:12px;display:flex}.alarm-add-label{color:var(--muted);align-items:center;gap:4px;margin-left:8px;font-size:13px;display:inline-flex}.alarm-b{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px;display:grid}.alarm-side{gap:16px;display:grid;position:sticky;top:76px}.alarm-side .action-log li{grid-template-columns:minmax(0,1fr) auto}.alarm-side .action-log .what{grid-column:1/-1}.alarm-links{flex-wrap:wrap;gap:4px 12px;display:flex}.alarm-links>span{gap:12px;display:inline-flex}.chips{flex-wrap:wrap;gap:6px;display:flex}@media (width<=1100px){.alarm-b{grid-template-columns:minmax(0,1fr)}.alarm-side{position:static}}.alarm-split{grid-template-columns:minmax(0,1.25fr) minmax(320px,1fr);align-items:start;gap:16px;display:grid}.alarm-glance{gap:12px;display:grid;position:sticky;top:76px}.glance-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 12px;display:flex}.glance-head h2{font-size:20px}.glance-head .head-link{align-items:center;gap:4px;display:inline-flex}.glance-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:13px;display:flex}.glance-value{color:var(--muted);font-size:13px}.glance-value b{color:var(--ink)}.glance-links{font-size:13px}.glance-actions{flex-wrap:wrap;gap:8px;display:flex}.mini-chart{border:1px solid var(--line);border-radius:var(--r);width:100%;height:220px;display:block}.mini-chart.loading{background:linear-gradient(90deg,#eceff2 0%,#f6f7f9 50%,#eceff2 100%) 0 0/200% 100%;animation:1.2s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.mini-chart.empty-chart{color:var(--muted);text-align:center;place-items:center;padding:16px;font-size:13px;display:grid}.data-grid .ag-row.row-chosen{box-shadow:inset 3px 0 0 var(--primary);background:#fff3e8}@media (width<=1100px){.alarm-split{grid-template-columns:minmax(0,1fr)}.alarm-glance{position:static}}.report-charts{flex-direction:column;gap:8px;display:flex}.rc-rows{border:1px solid var(--line);border-radius:8px}.rc-row{grid-template-columns:24px minmax(0,1fr) auto 120px 60px;align-items:center;gap:10px;padding:6px 10px;display:grid}.rc-row+.rc-row{border-top:1px solid var(--line)}.rc-row.focus{background:#fff6ee}.rc-title{min-width:0;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:13px;display:flex}.rc-title .ac-n{width:20px;height:20px}.rc-period{color:var(--muted);align-items:center;gap:4px;display:flex}.rc-preview{flex-direction:column;gap:8px;display:flex}@media (width<=760px){.rc-row{grid-template-columns:24px minmax(0,1fr) 60px}.rc-period{grid-column:2/-1}}.rules-save{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;font-size:13px;display:flex}.rules-save .grow{flex:1}.rules-save .grow-input{flex:0 360px}.rinput{vertical-align:middle;width:72px;display:inline-block}.rinput input{text-align:right;font-weight:600}.pill.plain:before{display:none}.rules-history ul{gap:4px;margin:0;padding-left:18px;display:grid}.rules-history{gap:12px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.ac-margin{width:104px}.ac-others{align-items:center;gap:6px;display:inline-flex}.ac-others small{color:var(--muted,#6b7280)}.acs-inview{grid-template-columns:12px minmax(0,1fr);gap:8px;margin-bottom:6px;font-size:12px;display:grid}.acs-inview i{width:12px;height:12px;margin-top:2px}.acs-inview i.this{background:#d7263d40;outline:1px solid #d7263d}.acs-inview i.same{background:#f08c9a40;outline:1px solid #f0b7bf}.acs-inview i.other{background:#f5a52440;outline:1px solid #f2cf8c}.alarm-bands{pointer-events:none;position:absolute;inset:0}.ab-fill,.ab-bar{display:block;position:absolute}.ab-fill.this{background:#d7263d24}.ab-fill.same{background:#f08c9a24}.ab-fill.other{background:#f5a52424}.ab-bar{pointer-events:auto;cursor:help;border-radius:2px;height:6px}.ab-bar.this{background:#d7263d}.ab-bar.same{background:#f08c9a}.ab-bar.other{background:#f5a524}.ab-bar:hover,.ab-bar:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.ab-tip{gap:4px;font-size:13px;display:grid}.ab-name{align-items:center;gap:8px;display:flex}.ab-name b{font-size:14px;font-weight:600}.ab-key{border-radius:2px;flex:none;width:10px;height:10px}.ab-key.this{background:#d7263d}.ab-key.same{background:#f08c9a}.ab-key.other{background:#f5a524}.acs-more{margin:8px 0 0;font-size:12px}.acs-link{color:var(--accent,#185fa5);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.alarm-count{gap:4px;text-decoration:none;display:inline-flex}.alarm-count span{text-align:center;box-sizing:border-box;border-radius:999px;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:600;line-height:22px}.alarm-count .c{background:var(--alarm-bg);color:var(--alarm-fg)}.alarm-count .w{background:var(--warn-bg);color:var(--warn-fg)}.alarm-count .z{color:var(--muted)}.soh-bar{background:var(--line);vertical-align:middle;border-radius:4px;width:42px;height:5px;margin-left:6px;display:inline-block;position:relative;overflow:hidden}.soh-bar i{background:#1f8a70;position:absolute;inset:0 auto 0 0}.toasts{z-index:400;gap:8px;width:min(380px,100vw - 32px);display:grid;position:fixed;top:72px;right:16px}.toast{border:1px solid var(--line);border-radius:var(--r);background:var(--card);color:var(--ink);grid-template-columns:18px 1fr auto;align-items:start;gap:2px 10px;padding:12px 14px;animation:.18s ease-out toast-in;display:grid;box-shadow:0 4px 16px #0e0e1014}.toast>svg{margin-top:1px}.toast.ok>svg{color:#2f9e44}.toast.info>svg{color:var(--secondary)}.toast.error{background:#fff5f5;border-color:#ffc9c9}.toast.error>svg,.toast.error .toast-title{color:#e03131}.toast-title{grid-column:2;font-size:14px;font-weight:600}.toast-text{color:var(--muted);grid-column:2;font-size:13px}.toast-close{color:#868e96;cursor:pointer;background:0 0;border:0;grid-area:1/3;padding:2px;display:grid}@keyframes toast-in{0%{opacity:.3;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.alert-dialog{gap:10px;padding:20px;display:grid}.alert-dialog-title{font-size:16px}.alert-dialog-list{background:var(--ground);border-radius:8px;margin:0;padding:10px 12px 10px 30px;font-size:13px}.save-bar{border-top:1px solid var(--line);background:var(--card);border-radius:0 0 var(--r) var(--r);gap:12px;margin:4px -20px -18px;padding:12px 20px;display:grid}.save-bar.dirty{background:#fff3e8;border-top-color:#ffc999}.save-bar-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.save-bar-msg{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.save-bar.dirty .save-bar-msg{color:var(--ink)}.save-bar-actions{gap:8px;margin-left:auto;display:flex}.pill.p-new{background:var(--primary);color:#fff}.tabs .dot{background:var(--primary);vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-left:6px;display:inline-block}.was{color:var(--primary-ink);font-size:12px}.field-changed .mantine-Input-input{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.pill.p-alarm-new{color:#fff;background:#d7263d}.cond-live{color:#d7263d;align-items:center;gap:6px;font-weight:600;display:inline-flex}.cond-live:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px;animation:1.6s ease-in-out infinite cond-pulse}@keyframes cond-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.cond-live:before{animation:none}}.cond-ended{color:var(--muted)}.alarms-card{padding:0;overflow:hidden}.alarms-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 18px;padding:14px 18px;display:flex}.alarms-lead{color:var(--muted);font-size:13px}.alarms-search{width:220px}.alarms-timing{border-bottom:1px solid var(--line);background:var(--ground);color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 6px;padding:12px 18px;font-size:13px;display:flex}.alarms-timing b,.alarms-num{color:var(--ink);font-weight:600}.alarms-group{border-bottom:1px solid var(--line)}.alarms-group:last-child{border-bottom:0}.alarms-group-head{background:var(--card);width:100%;color:var(--ink);text-align:left;cursor:pointer;border:0;align-items:center;gap:10px;padding:12px 18px;display:flex}.alarms-group-head h3{margin:0;font-size:16px;font-weight:600}.alarms-group-head:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.alarms-count{color:var(--muted);font-size:12px}.alarms-list{margin:0;padding:0;list-style:none}.alarms-list li{border-top:1px solid var(--line);align-items:center;gap:12px;padding:10px 18px 10px 44px;font-size:14px;display:flex}.alarms-list li.alarm-off .alarm-name{color:var(--muted)}.alarm-name{font-weight:500}.alarm-std{color:var(--muted);margin-left:8px;font-size:12px;font-weight:400}.alarm-state{color:var(--muted);margin-left:auto;font-size:12px}.alarm-row{align-items:center;gap:12px;display:flex}.alarm-open{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;flex:1;align-items:center;gap:4px 14px;padding:0;display:flex}.alarm-open:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.alarm-summary{color:var(--muted);font-size:13px}.alarm-colour.c-red{background:var(--alarm-bg);color:var(--alarm-fg)}.alarm-colour.c-yellow,.alarm-colour.c-yellow_red,.alarm-colour.c-yellow_or_red{background:var(--warn-bg);color:var(--warn-fg)}.alarm-colour.c-states{background:var(--info-bg);color:var(--info-fg)}.alarm-body{border:1px solid var(--line);border-radius:var(--r);background:var(--ground);gap:8px;margin-top:10px;padding:12px 14px;display:grid}.alarm-label{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.alarm-name-input{width:280px}.alarm-sentence{margin:0;line-height:2.2}.alarm-uses{color:var(--muted);margin:0;font-size:12px}.alarms-field{vertical-align:middle;align-items:center;gap:4px;margin:0 3px;display:inline-flex}.alarms-field.changed input{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.alarms-field .unit{color:var(--muted);font-size:12px}.alarms-inline-switch{vertical-align:middle;margin:0 4px;display:inline-flex}.alarms-card .rules-save{border-top:1px solid var(--line)}.alarm-related{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.alarm-chip{border:1px solid var(--line);background:var(--card);color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;padding:1px 10px;font-size:12px}.alarm-chip.on{background:var(--info-bg);color:var(--info-fg);border-color:#b9c7d6;font-weight:500}.alarm-keyfigs{border-top:1px solid var(--line);background:var(--ground);margin:0;padding:10px 18px 12px 44px;font-size:14px;line-height:2.2}.alarm-states table{border-collapse:collapse;width:100%;margin:6px 0}.alarm-states th,.alarm-states td{border-bottom:1px solid var(--line);text-align:left;padding:4px 8px;font-size:13px}.alarm-states tr.un td{background:var(--warn-bg)}.alarms-timing-switch{margin-left:auto}.s-sec{gap:12px;display:grid}.s-head{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.s-head h3,.s-fold h3{margin:0;font-size:16px;font-weight:600}.s-head p,.s-note{color:var(--muted);margin:0;font-size:13px}.s-events{border-collapse:collapse;width:100%;font-size:13px}.s-events th{border-bottom:1px solid var(--line);color:var(--muted);text-align:left;padding:4px 8px;font-size:12px;font-weight:600}.s-events td{border-bottom:1px solid var(--line);padding:4px 8px}.s-events .c{text-align:center}.s-events .c .mantine-Checkbox-body{justify-content:center}.s-events td:first-child{width:100%;min-width:160px}.s-events th.c{white-space:normal}.s-level{width:112px}.s-line{flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:13px;display:flex}.s-pair{align-items:center;gap:6px;display:inline-flex}.s-num{width:80px}.s-num input{text-align:right}.s-label{width:140px;font-size:13px;font-weight:600}.s-days{gap:4px;display:inline-flex}.s-days button{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);width:40px;height:30px;color:var(--muted);font:inherit;cursor:pointer;transition:background var(--fast) var(--ease);font-size:12px;font-weight:500}.s-days button.on{border-color:var(--secondary);background:var(--secondary);color:#fff}.s-chip{border:1px solid var(--line);border-radius:999px;align-items:center;gap:4px;height:28px;padding:0 4px 0 10px;font-size:12px;display:inline-flex}.s-chip button{width:20px;height:20px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;padding:0;display:inline-grid}.s-chip button:hover{background:var(--ground)}.s-resp{flex-wrap:wrap;align-items:flex-start;gap:8px 12px;display:flex}.s-resp .s-label{padding-top:6px}.s-resp-rows{justify-items:start;gap:6px;display:grid}.s-resp-row{grid-template-columns:96px 80px 140px 32px;align-items:center;gap:8px;display:grid}.s-resp-row .s-num{width:auto}.s-fold{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:0;font-size:13px;display:flex}.s-calc{border-collapse:collapse;font-size:13px}.s-calc th{border-bottom:1px solid var(--line);color:var(--muted);text-align:left;padding:4px 8px;font-size:12px;font-weight:600}.s-calc td{border-bottom:1px solid var(--line);padding:4px 8px}.s-calc tr.changed td:first-child{font-weight:600}.g-sec{gap:12px;display:grid}.g-sec h3{margin:0;font-size:16px;font-weight:600}.g-sec-head{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.g-sec-head p{color:var(--muted);margin:0;font-size:13px}.g-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.g-top{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px 16px;display:grid}.g-field{gap:4px;min-width:0;display:grid}.g-label{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.g-field .day-input{width:auto}.g-facts{color:var(--muted);flex-wrap:wrap;gap:4px 24px;margin:0;font-size:13px;display:flex}.g-facts b{color:var(--ink);font-weight:600}.g-sched{border-collapse:separate;border-spacing:0;font-size:13px}.g-sched th,.g-sched td{white-space:nowrap;padding:2px}.g-sched .g-year{text-align:left;padding-right:8px;font-weight:500}.g-sched .g-year small{color:var(--muted);font-size:12px}.g-sched .g-prof{white-space:normal;padding:0 4px 4px}.g-sched .g-sub{color:var(--muted);text-align:right;font-size:12px;font-weight:600}.g-sched td .mantine-TextInput-root{width:64px}.g-sched input{text-align:right;font-variant-numeric:tabular-nums}.g-sched tbody tr.now td{background:var(--warn-bg)}.g-sched tbody tr.now td:first-child{border-radius:var(--r-sm) 0 0 var(--r-sm)}.g-sched tbody tr.now td:last-child{border-radius:0 var(--r-sm) var(--r-sm) 0}.g-head{border:0;border-bottom:1px solid var(--line);border-radius:var(--r-sm) var(--r-sm) 0 0;width:100%;color:var(--ink);font:inherit;text-align:center;cursor:pointer;background:0 0;grid-template-columns:minmax(0,1fr) auto;gap:0 6px;padding:4px 8px;display:grid}.g-head b{font-weight:600}.g-head small{color:var(--muted);grid-row:2;font-size:12px;font-weight:400}.g-head svg{color:var(--muted);grid-row:span 2;align-self:center}.g-head:hover,.g-head.chosen{background:var(--primary-0)}.g-rate{grid-template-columns:1fr 1fr;gap:8px;display:grid}.g-bands{justify-items:start;gap:6px;display:grid}.g-band{grid-template-columns:88px 12px 88px 104px 32px;align-items:center;gap:8px;display:grid}.g-band-head{color:var(--muted);font-size:12px;font-weight:600}.g-band input{text-align:right}.thresholds-then{margin:4px 0 8px}.skel{vertical-align:middle;background:linear-gradient(90deg,#eee 0%,#f6f6f6 50%,#eee 100%) 0 0/200% 100%;border-radius:4px;width:48px;height:10px;animation:1.2s ease-in-out infinite skel;display:inline-block}@keyframes skel{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skel{animation:none}}.vib,.vib-page{--vib-trace:var(--secondary);--vib-fund:#c94a4a;--vib-harm:var(--primary-ink);--vib-sb:var(--mantine-color-navy-4);--vib-cursor:var(--ink);--vib-kin:var(--muted);--vib-font:var(--mantine-font-family);--vib-mono:var(--mantine-font-family-monospace)}.vib{grid-template-columns:270px minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width<=900px){.vib{grid-template-columns:1fr}}.vib-side{background:var(--card);border:1px solid var(--line);border-radius:var(--r);max-height:calc(100vh - 16px);padding:8px 6px;font-size:13px;position:sticky;top:8px;overflow:auto}.vib-treehead{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:6px 8px 4px;font-size:11px}.vib-tree,.vib-tree ul{margin:0;padding:0;list-style:none}.vib-tree ul{padding-left:14px}.vib-node{text-align:left;cursor:pointer;width:100%;color:var(--ink);font:inherit;background:0 0;border:0;border-radius:4px;padding:4px 8px;display:block}.vib-node:hover{background:var(--ground)}.vib-node.on{background:var(--mantine-color-orange-0);color:var(--primary-ink);font-weight:600}.vib-node.method{font-weight:700}.vib-node.fig{white-space:nowrap;text-overflow:ellipsis;padding:2px 8px;font-size:12.5px;overflow:hidden}.vib-node.fig.std{font-weight:600}.vib-node.fig.other{color:var(--muted);padding-left:22px}.vib-node.run{color:var(--vib-fund);border:1px dashed var(--vib-fund);margin:4px 0 6px;font-size:12.5px}.vib-node.run:disabled{opacity:.6;cursor:progress}.vib-tgroup{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:6px 8px 0;font-size:11px}.vib-badge{background:var(--ground);border:1px solid var(--line);color:var(--muted);border-radius:9px;margin-left:4px;padding:0 6px;font-size:11px;font-weight:400;display:inline-block}.vib-sym{text-align:center;width:1.15em;margin-right:2px;font-weight:700;display:inline-block}.vib-sym.std{color:var(--primary)}.vib-sym.dmg{color:var(--vib-fund)}.vib-main{gap:12px;min-width:0;display:grid}.vib-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r)}.vib-card-h{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 14px;display:flex}.vib-card-h .meta{color:var(--muted);font-size:12px}.vib-card-h .tools{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.vib-card-b{padding:12px 14px}.vib-bar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px 14px;padding:6px 14px;font-size:12.5px;display:flex}.vib-bar label,.vib-bar .lbl{align-items:center;gap:4px;display:inline-flex}.vib-bar select{max-width:30em}.vib-bar input[type=text],.vib-chartbar input{border:1px solid var(--line);border-radius:4px;width:6em;padding:1px 4px}.vib-seg button,.vib-chartbar button,.vib-lnk{border:1px solid var(--line);background:var(--card);cursor:pointer;font:inherit;color:var(--ink);border-radius:4px;padding:1px 8px}.vib-seg button.on{background:var(--secondary);border-color:var(--secondary);color:#fff}.vib-chartbar button:hover,.vib-lnk:hover,.vib-chartbar button.primary:not(:disabled){border-color:var(--primary);color:var(--primary-ink)}.vib-chartbar button:disabled,.vib-lnk:disabled{opacity:.5;cursor:default}.vib-chart{position:relative}.vib-chart canvas{outline:none;display:block}.vib-chart canvas:focus-visible{box-shadow:0 0 0 2px var(--primary)}.vib-chart-busy{color:var(--muted);font-size:12px;position:absolute;top:6px;right:16px}.vib-chartbar{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 14px;font-size:12px;display:flex}.vib-info{border-top:1px solid var(--line);padding:6px 14px;font-size:12.5px}.vib-warn{color:var(--warn-fg);background:var(--warn-bg);border-radius:3px;padding:0 4px}.vib-table{border-collapse:collapse;width:100%;font-size:13px}.vib-table th,.vib-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:4px 8px}.vib-table th{color:var(--muted);font-size:11px;font-weight:600}.vib-table td.num,.vib-table th.num{text-align:right}.vib-drop{border:2px dashed var(--line);border-radius:var(--r);text-align:center;justify-items:center;gap:6px;padding:20px;display:grid}.vib-drop.over{border-color:var(--primary);background:var(--mantine-color-orange-0)}.vib-sev{border:1px solid;border-radius:9px;margin-right:4px;padding:0 6px;font-size:11px;display:inline-block}.vib-sev.notable{color:var(--vib-fund)}.vib-sev.slight{color:var(--vib-harm)}.vib-sev.normal{color:var(--ok-fg)}.vib-finding{border:1px solid var(--line);border-radius:6px;gap:6px;padding:8px 10px;display:grid}.vib-finding.rejected{opacity:.6}.vib-finding-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px 12px;display:grid}.vib-form{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px 16px;display:grid}.vib-form .wide{grid-column:1/-1}.vib-table td.num,.vib-info,.vib-chartbar input,.vib-bar input[type=text]{font-family:var(--vib-mono)}.vib-bar select{border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;border-radius:4px;padding:2px 6px}.vib-bar select:focus,.vib-bar input:focus,.vib-chartbar input:focus{outline:2px solid var(--primary);outline-offset:0}.vib-stage{white-space:nowrap;border-radius:9px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.vib-stage.open{background:var(--line);color:var(--muted)}.vib-stage.in_progress{background:var(--warn-bg);color:var(--primary-ink)}.vib-stage.finished{background:var(--ok-bg);color:var(--ok-fg)}.vib-rating:before{content:"";vertical-align:baseline;width:9px;height:9px;margin-right:6px;display:inline-block}.vib-rating.green:before{background:#3cb521}.vib-rating.yellow:before{background:#f2d500}.vib-rating.orange:before{background:#f29100}.vib-rating.red:before{background:#d7263d}.vib-ov td{vertical-align:middle;padding-top:6px;padding-bottom:6px}.vib-ov-row{cursor:pointer}.vib-ov-row:hover{background:var(--mantine-color-orange-0,#fff6ee)}.vib-ov-row.pr{background:var(--card)}.vib-ov-row.pr td{border-top:1px solid var(--line)}.vib-caret{width:16px;color:var(--muted);display:inline-block}.vib-snap{gap:2px;width:240px;margin:0;display:grid}.vib-snap img{border:1px solid var(--line);width:100%}.vib-checklist{flex-wrap:wrap;gap:6px;display:flex}.vib-check{border:1px solid var(--line);border-radius:9px;align-items:center;gap:6px;padding:2px 8px;font-size:12px;display:inline-flex}.vib-check.unchecked,.vib-check.open{background:var(--warn-bg)}.vib-check.normal,.vib-check.finding{background:var(--ok-bg);color:var(--ok-fg)}.vib-card details>summary{cursor:pointer;list-style:none}.vib-card details>summary::-webkit-details-marker{display:none}.vib-doc{background:var(--card);border:1px solid var(--line);border-radius:var(--r,8px);gap:12px;max-width:1000px;padding:28px 36px;display:grid;box-shadow:0 1px 4px #0000000f}.vib-doc-head h1{color:var(--secondary,#314657);margin:0;font-size:22px}.vib-doc-h{border-bottom:2px solid var(--primary,#ff7800);align-items:center;gap:12px;margin:16px 0 4px;padding-bottom:4px;font-size:16px;display:flex}.vib-doc-group{color:var(--secondary,#314657);margin:10px 0 2px;font-size:13px}.vib-doc-facts{border-collapse:collapse;max-width:640px;font-size:13px}.vib-doc-facts th{text-align:left;text-transform:none;letter-spacing:0;color:var(--ink);vertical-align:middle;width:190px;padding:3px 16px 3px 0;font-size:13px;font-weight:600}.vib-doc-facts td{padding:3px 0}.vib-remark{border-left:3px solid #0000;gap:6px;padding:8px 10px;display:grid}.vib-remark.todo{border-left-color:var(--primary,#ff7800);background:var(--warn-bg)}.vib-remark-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.vib-remark-n{min-width:22px}.vib-remark-tools{gap:8px;margin-left:auto;display:flex}.vib-todo input,.vib-todo textarea{border-color:var(--primary,#ff7800)!important}.vib-todo .mantine-InputWrapper-description,.vib-todo [class*=description]{color:var(--primary-ink)}.vib-pics{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.vib-pic{gap:4px;width:420px;margin:0;display:grid}.vib-pic img{border:1px solid var(--line);background:#fff;width:100%}.vib-pic-tools{flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.vib-pic-add{align-content:start;gap:6px;display:grid}.lp{--lp-navy-0:#eef1f6;--lp-navy-1:#d7dde8;--lp-navy-4:#43516b;--lp-orange-2:#ffc999;--lp-dim:#868e96;--lp-r:10px;--lp-mono:var(--mantine-font-family-monospace);background:var(--card);min-height:100vh;color:var(--ink);font-size:16px;line-height:1.6}.lp p{margin:0}.lp section[id]{scroll-margin-top:64px}.lp a{color:inherit}.lp :focus-visible{outline:2px solid var(--primary);outline-offset:2px}.lp-wrap{max-width:1160px;margin-inline:auto;padding-inline:24px}.lp-top{z-index:20;background:var(--nav);border-bottom:1px solid var(--secondary);position:sticky;top:0}.lp-top-in{align-items:center;gap:28px;height:64px;display:flex}.lp-logo{color:var(--card);letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:10px;font-size:18px;font-weight:600;text-decoration:none;display:inline-flex}.lp .lp-logo{color:var(--card)}.lp-links{gap:22px;font-size:15px;display:flex}.lp .lp-links a{color:var(--nav-fg);text-decoration:none}.lp .lp-links a:hover{color:var(--card)}.lp-top-right{align-items:center;gap:12px;margin-left:auto;display:flex}.lp-lang{border:1px solid var(--lp-navy-4);border-radius:6px;display:inline-flex;overflow:hidden}.lp-lang button{color:var(--nav-muted);font:500 12px/1 var(--lp-mono);cursor:pointer;background:0 0;border:0;padding:7px 8px}.lp-lang button.on{background:var(--secondary);color:var(--card)}.lp .lp-signin{border:1px solid var(--primary);height:32px;color:var(--primary);white-space:nowrap;border-radius:6px;align-items:center;padding:0 14px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.lp .lp-signin:hover{background:var(--primary);color:var(--nav)}.lp-hero{background:var(--nav);color:var(--card);overflow:hidden}.lp-hero-in{padding-block:76px 0}.lp-hero-copy{z-index:1;gap:22px;max-width:600px;display:grid;position:relative}.lp-eyebrow{font:500 12px/1.2 var(--lp-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--primary);align-items:center;gap:10px;display:flex}.lp-eyebrow:before{content:"";background:currentColor;flex:none;width:24px;height:12px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 12'%3E%3Cpath d='M1 6h6l2-4.5 4 9 2-4.5h8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 12'%3E%3Cpath d='M1 6h6l2-4.5 4 9 2-4.5h8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat}.lp-eyebrow.dark{color:var(--primary-ink)}.lp-hero h1{letter-spacing:-.028em;font-size:clamp(36px,5.2vw,60px);font-weight:600;line-height:1.04}.lp-hero h1 em{color:var(--primary);font-style:normal}.lp-lede{color:var(--nav-fg);max-width:54ch;font-size:18px}.lp-actions{flex-wrap:wrap;gap:12px;display:flex}.lp .lp-btn{border:1px solid #0000;border-radius:8px;align-items:center;height:44px;padding:0 20px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.lp .lp-btn.primary{background:var(--primary);color:var(--nav)}.lp .lp-btn.primary:hover{background:var(--lp-orange-2)}.lp .lp-btn.ghost{border-color:var(--lp-navy-4);color:var(--card)}.lp .lp-btn.ghost:hover{background:var(--nav-2)}.lp-trust{color:var(--nav-muted);align-items:center;gap:10px;font-size:14px;display:flex}.lp-trust svg{color:var(--primary);flex:none}.lp-scene-wrap{max-width:1440px;margin:clamp(-170px,-11vw,-60px) auto 0;padding-bottom:10px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.lp-scene{width:100%;height:auto;display:block}.lp-scene-label{font:500 13px var(--lp-mono);letter-spacing:.12em;fill:var(--nav-muted)}.lp-trace-base{fill:none;stroke:var(--lp-navy-4);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.lp-trace-run{fill:none;stroke:var(--primary);stroke-width:3px;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:60 1000;stroke-dashoffset:1060px;filter:drop-shadow(0 0 5px var(--primary));animation:5.5s linear infinite lp-run}@keyframes lp-run{to{stroke-dashoffset:0}}.lp-band{padding-block:88px}.lp-band.alt{background:var(--lp-navy-0)}.lp-head{gap:12px;max-width:680px;margin-bottom:40px;display:grid}.lp-head h2,.lp-split h2{letter-spacing:-.02em;font-size:clamp(28px,3.4vw,40px);font-weight:600;line-height:1.12}.lp-head p{color:var(--muted);font-size:17px}.lp-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.lp-card{border:1px solid var(--line);border-radius:var(--lp-r);background:var(--card);flex-direction:column;display:flex;overflow:hidden}.lp-art{background:var(--lp-navy-0);aspect-ratio:320/150;border-bottom:1px solid var(--line);max-width:100%}.lp-art svg{width:100%;height:100%;display:block}.lp-card-body{flex-direction:column;flex:1;gap:10px;padding:20px 22px 22px;display:flex}.lp-kicker{font:500 11px/1 var(--lp-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--lp-dim)}.lp-card h3{letter-spacing:-.01em;font-size:21px}.lp-card p{color:var(--muted);font-size:15px}.lp-card ul{gap:6px;margin:0;padding:0;font-size:15px;list-style:none;display:grid}.lp-card li{grid-template-columns:18px minmax(0,1fr);align-items:baseline;display:grid}.lp-card li:before{content:"";background:var(--primary);width:10px;height:2px;transform:translateY(-4px)}.lp-more{color:var(--primary-ink);cursor:pointer;background:0 0;border:0;align-self:flex-start;margin-top:auto;padding:8px 0 0;font-size:15px;font-weight:600}.lp-more:after{content:" →"}.lp-more:hover{text-decoration:underline}.lp-tabs{background:var(--card);border:1px solid var(--lp-navy-1);border-radius:10px;gap:4px;max-width:100%;margin-bottom:20px;padding:4px;display:inline-flex;overflow-x:auto}.lp-tab{color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px 16px;font-size:15px;font-weight:500}.lp-tab:hover{color:var(--ink)}.lp-tab[aria-selected=true]{background:var(--nav);color:var(--card)}.lp-explorer{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:28px;display:grid}.lp-figure{background:var(--card);border:1px solid var(--lp-navy-1);border-radius:var(--lp-r);min-width:0;padding:18px}.lp-fig-box{aspect-ratio:560/360;max-width:100%;position:relative}.lp-fig-box svg{width:100%;height:100%;position:absolute;inset:0}.lp-pins{position:absolute;inset:0}.lp-pin{border:2px solid var(--card);background:var(--nav);width:28px;height:28px;color:var(--card);font:500 13px/1 var(--lp-mono);cursor:pointer;border-radius:50%;place-items:center;padding:0;transition:transform .15s,background .15s;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 6px #0e0e1047}.lp-pin:hover{transform:translate(-50%,-50%)scale(1.12)}.lp-pin.on{background:var(--primary);color:var(--nav)}.lp-pin.on:after{content:"";border:2px solid var(--primary);pointer-events:none;border-radius:50%;animation:1.6s ease-out infinite lp-ring;position:absolute;inset:-8px}@keyframes lp-ring{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(1.3)}}.lp-points{gap:6px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.lp-point{text-align:left;border-radius:var(--lp-r);width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;grid-template-columns:28px minmax(0,1fr);gap:14px;padding:14px 16px;display:grid}.lp-point:hover{background:var(--card)}.lp-point[aria-pressed=true]{background:var(--card);border-color:var(--lp-navy-1);box-shadow:0 1px 3px #222d4014}.lp-n{background:var(--lp-navy-1);width:28px;height:28px;color:var(--nav);font:500 13px/28px var(--lp-mono);text-align:center;border-radius:50%}.lp-point[aria-pressed=true] .lp-n{background:var(--primary)}.lp-point b{font-size:16px;font-weight:600;display:block}.lp-d{color:var(--muted);margin-top:2px;font-size:15px;display:block}.lp-split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:56px;display:grid}.lp-split-copy{gap:16px;display:grid}.lp-split-copy>p{color:var(--muted);font-size:17px}.lp-ticks{gap:10px;margin:6px 0 0;padding:0;font-size:15px;list-style:none;display:grid}.lp-ticks li{grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;display:grid}.lp-ticks svg{color:var(--primary-ink);margin-top:2px}.lp-chart-card{border:1px solid var(--line);border-radius:var(--lp-r);background:var(--card);gap:14px;min-width:0;padding:18px 18px 16px;display:grid;box-shadow:0 1px 2px #0e0e100a,0 10px 28px #222d4012}.lp-chart{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.lp-chart.grab{cursor:ns-resize}.lp-chart-label{font:600 12px var(--mantine-font-family)}.lp-chart-axis{font:500 11px var(--lp-mono);fill:var(--lp-dim)}.lp-knob{cursor:ns-resize}.lp-sliders{grid-template-columns:1fr 1fr;gap:12px 24px;display:grid}.lp-sliders label{color:var(--muted);gap:4px;font-size:13px;font-weight:500;display:grid}.lp-sliders input{width:100%}.lp-range-warning{accent-color:#e5b400}.lp-range-alarm{accent-color:#d7263d}.lp-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:0;padding:0;list-style:none;display:grid;position:relative}.lp-step:not(:last-child):after{content:"";background:var(--lp-navy-1);height:2px;position:absolute;top:19px;left:52px;right:-16px}.lp-step{align-content:start;gap:10px;display:grid;position:relative}.lp-num{background:var(--nav);width:40px;height:40px;color:var(--primary);font:500 14px/40px var(--lp-mono);text-align:center;border-radius:10px}.lp-step h3{font-size:18px}.lp-step p{color:var(--muted);font-size:15px}.lp-feats{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;display:grid}.lp-feat{border-top:1px solid var(--line);grid-template-columns:34px minmax(0,1fr);gap:4px 12px;padding-block:22px;display:grid}.lp-feat svg{color:var(--primary-ink);grid-row:span 2;margin-top:1px}.lp-feat h3{font-size:17px}.lp-feat p{color:var(--muted);font-size:15px}.lp-cta{background:var(--nav);color:var(--card);padding-block:64px}.lp-cta-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.lp-cta-box{border:1px solid var(--secondary);border-radius:var(--lp-r);align-content:start;justify-items:start;gap:12px;padding:28px;display:grid}.lp-cta-box h3{letter-spacing:-.01em;font-size:22px}.lp-cta-box p{color:var(--nav-fg)}.lp .lp-mail{font:500 15px var(--lp-mono);color:var(--lp-orange-2)}.lp-foot{border-top:1px solid var(--line);color:var(--muted);padding-block:28px;font-size:14px}.lp-foot-in{flex-wrap:wrap;align-items:center;gap:12px 24px;display:flex}.lp .lp-foot .lp-logo{color:var(--ink);font-size:16px}.lp-foot nav{flex-wrap:wrap;gap:18px;margin-left:auto;display:flex}.lp-foot nav a{text-decoration:none}.lp-foot nav a:hover{color:var(--ink)}@media (width<=960px){.lp-cards,.lp-explorer,.lp-split,.lp-cta-grid{grid-template-columns:minmax(0,1fr)}.lp-feats,.lp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-step:after{display:none}.lp-split{gap:32px}.lp-scene-wrap{margin-top:28px}.lp-hero-copy{max-width:none}}@media (width<=820px){.lp-links{display:none}}@media (width<=600px){.lp-wrap{padding-inline:16px}.lp-band{padding-block:60px}.lp-hero-in{padding-block:48px 0}.lp-feats,.lp-steps,.lp-sliders{grid-template-columns:minmax(0,1fr)}.lp-top-in{gap:12px}.lp-logo span{font-size:16px}.lp-cta-box{padding:22px}}@media (prefers-reduced-motion:reduce){.lp-trace-run{stroke-dasharray:none;filter:none;stroke-width:2px;animation:none}.lp-pin.on:after{opacity:0;animation:none}}
