:root{--bg:#1f2023;--panel:#2a2b2f;--panel-2:#323338;--border:#3b3c42;--border-strong:#4c4e55;--text:#ececee;--muted:#a2a5ad;--accent:#ffd60a;--accent-soft:#3b3516;--on-accent:#141414;--ok:#45c97f;--warn:#f5a524;--crit:#ff6b5e;--ok-soft:#1b3326;--warn-soft:#3b2d14;--crit-soft:#3d1d1a;--sidebar:#18191b;--sidebar-text:#d0d2d6;--sidebar-muted:#8b8e95;--sidebar-hover:#2a2b2f;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--radius:8px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}a{color:var(--accent)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:13px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{font:inherit;color:inherit}h1,h3,h4{margin:0}.mono{font-family:var(--mono);font-size:12px}.muted{color:var(--muted)}.small{font-size:12px}.txt-crit{color:var(--crit)}.txt-warn{color:var(--warn)}.r{text-align:right}.app{grid-template-columns:220px 1fr;height:100%;display:grid}.sidebar{background:var(--sidebar);color:var(--sidebar-text);padding:14px 10px;overflow-y:auto}.brand{color:#fff;align-items:center;gap:10px;padding:4px 8px 16px;display:flex}.brand-name{letter-spacing:-.01em;font-size:14px;font-weight:650}.brand-sub{color:var(--sidebar-muted);font-size:11px}.nav-group{text-transform:uppercase;letter-spacing:.08em;color:var(--sidebar-muted);padding:14px 10px 6px;font-size:10.5px}.nav-item{text-align:left;cursor:pointer;width:100%;color:var(--sidebar-text);background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;padding:7px 10px;display:flex}.nav-item:hover{background:var(--sidebar-hover)}.nav-item.on{background:var(--accent);color:var(--on-accent)}.status-dot{border-radius:9px;justify-content:center;align-items:center;min-width:20px;height:18px;padding:0 6px;font-size:11px;font-weight:600;display:inline-flex}.status-dot.ok{background:var(--ok);color:#fff}.status-dot.warn{background:var(--warn);color:#111}.status-dot.crit{background:var(--crit);color:#fff}.main{flex-direction:column;min-width:0;height:100%;display:flex}.topbar{background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;display:flex}.topbar-title{align-items:baseline;gap:12px;min-width:0;display:flex}.topbar-title h1{letter-spacing:-.01em;font-size:17px;font-weight:650}.topbar-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.sep{background:var(--border);width:1px;height:20px;margin:0 6px}.dirty{color:var(--warn)}.content{flex:1;overflow:auto}.page{flex-direction:column;gap:16px;max-width:1600px;padding:18px 20px 40px;display:flex}.page.split{grid-template-columns:minmax(420px,1fr) minmax(380px,1fr);align-items:start;display:grid}.search-hit{background:var(--accent-soft);color:var(--text);border-radius:4px;margin-top:2px;padding:1px 6px;display:inline-block}.col-stack{flex-direction:column;gap:16px;min-width:0;display:flex}.two-col{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));align-items:start;gap:16px;display:grid}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:14px 16px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.card-head h3{font-size:14px;font-weight:620}.card-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card h4{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);align-items:center;margin:16px 0 8px;font-size:12px;font-weight:620;display:flex}.card p{margin:0 0 10px}.empty{text-align:center;color:var(--muted);background:var(--panel-2);border:1px dashed var(--border);border-radius:6px;padding:18px}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.stat{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);border-left:3px solid var(--border-strong);padding:12px 14px}.stat.ok{border-left-color:var(--ok)}.stat.warn{border-left-color:var(--warn)}.stat.crit{border-left-color:var(--crit)}.stat-label{color:var(--muted);font-size:11.5px}.stat-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:650}.stat-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.btn{background:var(--accent);border:1px solid var(--accent);height:30px;color:var(--on-accent);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:0 12px;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){filter:brightness(1.08)}.btn:disabled{opacity:.45;cursor:default}.btn.primary,.btn.ghost{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.active{box-shadow:inset 0 0 0 2px var(--on-accent)}.btn.small{height:24px;padding:0 8px;font-size:12px}.btn.danger{background:var(--crit);border-color:var(--crit);color:#fff}.seg .btn,[role=radiogroup] .btn,.btn[role=radio]{background:var(--panel-2);border-color:var(--border-strong);color:var(--text);font-weight:500}.seg .btn.primary,.seg .btn.active,[role=radiogroup] .btn.active,.btn[role=radio][aria-checked=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:none;font-weight:600}.btn.star{background:0 0;border-color:#0000;font-weight:400}.icon-btn{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:5px;padding:5px;display:inline-flex}.icon-btn:hover{background:var(--panel-2);color:var(--text)}.icon-btn.danger:hover{color:var(--crit);background:var(--crit-soft)}button.link{color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.in{border:1px solid var(--border);background:var(--panel);height:28px;color:var(--text);font:inherit;border-radius:5px;min-width:0;max-width:100%;padding:0 8px}textarea.in{resize:vertical;width:100%;height:auto;padding:6px 8px}select.in{padding-right:4px}.in:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.in.mono{font-family:var(--mono);font-size:12px}.in.num{text-align:right;font-variant-numeric:tabular-nums}.in.invalid{border-color:var(--crit);background:var(--crit-soft)}.tbl.edit .in{background:0 0;border-color:#0000}.tbl.edit .in:hover{border-color:var(--border)}.tbl.edit .in:focus{border-color:var(--accent);background:var(--panel)}.tbl.edit .in.invalid{border-color:var(--crit)}.check{cursor:pointer;white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.check input{accent-color:var(--accent);width:15px;height:15px;margin:0}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field-label{color:var(--muted);font-size:11.5px;font-weight:550}.field .in:not([type=checkbox]){width:100%}.hint{color:var(--muted);font-size:11px;line-height:1.3}.form-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px 14px;margin-bottom:12px;display:grid}.row-tight{align-items:center;gap:6px;display:flex}.swatch{cursor:pointer;background:0 0;border:0;width:26px;height:22px;padding:0}.tbl-wrap{margin:0 -4px;overflow-x:auto}.tbl{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.tbl th{color:var(--muted);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;padding:6px 8px;font-size:11px;font-weight:600}.tbl td{border-bottom:1px solid var(--border);vertical-align:middle;padding:5px 8px}.tbl.edit td{padding:3px 4px}.tbl th.r,.tbl td.r{text-align:right}.tbl tr:last-child td{border-bottom:0}.tbl td.mono,.tbl td.r{white-space:nowrap}.tbl td.actions{white-space:nowrap;text-align:right}.tbl.select tbody tr{cursor:pointer}.tbl.select tbody tr:hover{background:var(--panel-2)}.tbl tr.selected{background:var(--accent-soft)!important}.tbl.kv td:first-child{color:var(--muted);width:40%}.tbl .sec{background:color-mix(in srgb, var(--accent) 5%, transparent)}.badge{background:var(--panel-2);color:var(--muted);border:1px solid var(--border);white-space:nowrap;border-radius:10px;padding:1px 7px;font-size:11px;font-weight:550;display:inline-block}.badge.ok{background:var(--ok-soft);color:var(--ok);border-color:#0000}.badge.warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.badge.crit{background:var(--crit-soft);color:var(--crit);border-color:#0000}.badge.info{background:var(--accent-soft);color:var(--accent);border-color:#0000}.utilbar{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;height:18px;position:relative;overflow:hidden}.utilbar-fill{position:absolute;inset:0 auto 0 0}.utilbar-fill.ok{background:color-mix(in srgb, var(--ok) 45%, transparent)}.utilbar-fill.warn{background:color-mix(in srgb, var(--warn) 55%, transparent)}.utilbar-fill.crit{background:color-mix(in srgb, var(--crit) 60%, transparent)}.utilbar-text{font-size:11px;font-family:var(--mono);padding-left:6px;line-height:16px;position:relative}.issues{flex-direction:column;gap:6px;max-height:480px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.issues li{background:var(--panel-2);border-radius:6px;align-items:flex-start;gap:8px;padding:6px 8px;display:flex}.issues li.critical{background:var(--crit-soft)}.issues li.warning{background:var(--warn-soft)}.issues .badge{flex-shrink:0;margin-top:1px}.chips{flex-wrap:wrap;gap:3px;display:flex}.chip{font:11px var(--mono);border:1px solid var(--border);cursor:pointer;color:var(--muted);background:0 0;border-radius:4px;padding:1px 6px;text-decoration:line-through}.chip.on{color:var(--text);text-decoration:none}.tabs{background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:2px;display:inline-flex}.tabs button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:4px;padding:4px 12px}.tabs button.on{background:var(--panel);color:var(--text);box-shadow:0 1px 2px #0000001f}.result-row{background:var(--panel-2);border-radius:6px;flex-wrap:wrap;gap:28px;margin:4px 0 12px;padding:12px 14px;display:flex}.big{font-size:20px;font-weight:650}.mid{font-size:15px}.notes{color:var(--muted);margin:0 0 12px;padding-left:18px;font-size:12px}.dest-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 12px;max-height:260px;margin-bottom:12px;display:grid;overflow:auto}ul.plain{margin:0;padding:0;list-style:none}ul.plain li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:4px 0;display:flex}ul.pick li{flex-direction:column;align-items:flex-start}.page.topo{max-width:none;height:100%;padding-bottom:18px}.toolbar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.spacer{flex:1}.legend{color:var(--muted);align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.lg{border-radius:2px;width:18px;height:4px;margin-left:6px;display:inline-block}.lg.ok{background:var(--ok)}.lg.warn{background:var(--warn)}.lg.crit{background:var(--crit)}.lg.standby{background:repeating-linear-gradient(90deg, var(--muted) 0 4px, transparent 4px 7px)}.topo-body{flex:1;grid-template-columns:1fr 300px;gap:12px;min-height:480px;display:grid}.topo-svg{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;width:100%;height:100%}.topo-svg .bg{fill:var(--panel)}.topo-side{overflow:auto}.node{cursor:move}.net-tag{stroke:none}.link{cursor:pointer}.link-hit{stroke:#0000;stroke-width:16px}.topo-grid .g-minor{stroke:var(--border);stroke-width:.5px;opacity:.4}.topo-grid .g-major{stroke:var(--border-strong);stroke-width:.8px;opacity:.6}.link-line{stroke-linecap:round}.link.ok .link-line{stroke:var(--ok)}.link.warn .link-line{stroke:var(--warn)}.link.crit .link-line{stroke:var(--crit)}.link.standby .link-line{stroke:var(--muted);stroke-dasharray:6 5}.link.sel .link-line{filter:drop-shadow(0 0 4px var(--accent))}.lbl-bg{fill:var(--panel);stroke:var(--border)}.lbl{fill:var(--text);font-family:var(--mono)}.dev-line{stroke:var(--border-strong);stroke-width:1px}.dev text{fill:var(--muted)}.dev-drag{cursor:grab}.dev-drag:active{cursor:grabbing}.modal-bg{z-index:20;--modal-max:calc(100vh - 24px);background:#0006;justify-content:center;align-items:flex-start;padding:12px 0;display:flex;position:fixed;inset:0}@supports (height:100dvh){.modal-bg{--modal-max:calc(100dvh - 24px)}}.modal{background:var(--panel);border:1px solid var(--border);width:min(820px,92vw);max-height:var(--modal-max);border-radius:10px;padding:16px;overflow:auto;box-shadow:0 20px 50px #0000004d}.toast{background:var(--text);color:var(--bg);z-index:30;border-radius:8px;max-width:420px;padding:10px 14px;position:fixed;bottom:18px;right:18px;box-shadow:0 8px 20px #00000040}.toast.error{background:var(--crit);color:#fff}@media (width<=900px){.app{grid-template-rows:max-content auto;grid-template-columns:1fr}.sidebar{scrollbar-width:thin;gap:4px;min-height:max-content;padding:8px;display:flex;overflow:auto hidden}.sidebar nav{gap:2px;display:flex}.brand,.nav-group{display:none}.nav-item{white-space:nowrap}.page.split,.topo-body,.two-col{grid-template-columns:1fr}}.modal.wizard{width:min(1180px,96vw);max-height:var(--modal-max);flex-direction:column;padding:0;display:flex;overflow:hidden}.modal.wizard>.card-head{padding:14px 18px 0}.stepper{border-bottom:1px solid var(--border);gap:4px;margin:0;padding:10px 18px;list-style:none;display:flex;overflow-x:auto}.stepper button{cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;display:flex}.stepper .num{background:var(--panel-2);border:1px solid var(--border-strong);border-radius:11px;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:600;display:inline-flex}.stepper li.on button{color:var(--text);background:var(--accent-soft)}.stepper li.on .num{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.stepper li.done .num{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}.stepper li.bad .num{background:var(--crit-soft);border-color:var(--crit);color:var(--crit)}.wizard-body{flex-direction:column;flex:1;gap:12px;padding:16px 18px;display:flex;overflow:auto}.wizard-body p{margin:0}.wizard-body h4{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:8px 0 0;font-size:12px;font-weight:620}.wizard-foot{border-top:1px solid var(--border);background:var(--panel-2);gap:8px;padding:12px 18px;display:flex}.wizard-body>.btn{align-self:flex-start}.choice-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.choice{text-align:left;border:1.5px solid var(--border);background:var(--panel);cursor:pointer;border-radius:8px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.choice span{color:var(--muted);font-size:12.5px}.choice:hover{border-color:var(--border-strong)}.choice.on{border-color:var(--accent);background:var(--accent-soft)}.tree{background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:8px 12px 10px}.tree h4{margin:0 0 6px!important}.tree-row{flex-wrap:wrap;align-items:center;gap:6px;padding:2px 0;display:flex}.tbl tr.dim td{opacity:.5}.dot{vertical-align:-1px;border-radius:3px;width:10px;height:10px;display:inline-block}.wiz-problems{max-height:none}.start-card{border-color:var(--accent);background:var(--accent-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.start-card h3{margin-bottom:4px;font-size:15px}.start-card p{max-width:720px;margin:0}.panel-body{fill:var(--panel-2);stroke:var(--border-strong);stroke-width:1.2px}.panel.sel .panel-body{stroke:var(--accent);stroke-width:2.5px}.panel-title{fill:var(--text)}.panel-sub,.panel-glabel{fill:var(--muted)}.panel-glabel{font-family:var(--mono);letter-spacing:.02em}.panel-badge{fill:var(--muted);font-family:var(--mono)}.panel-badge.warn{fill:var(--warn)}.panel-badge.crit{fill:var(--crit);font-weight:700}.panel-divider{stroke:var(--border-strong);stroke-dasharray:2 2}.panel-preview{max-width:100%;height:auto;margin:4px 0 8px;display:block}.devsym .dev-body{fill:var(--panel);stroke-width:1.5px}.devsym .dev-name{fill:var(--text)}.devsym .dev-sub{fill:var(--muted)}.node .port,.devsym .port{cursor:default}.eq-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px;display:grid}.eq-card{flex-direction:column;gap:6px;display:flex}.eq-card.selected{outline:2px solid var(--accent,#2563eb)}.eq-head>.sel-box{margin-top:3px}.eq-head>.sel-box+div{margin-right:auto}.eq-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.eq-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:6px;display:flex}.eq-foot a{color:var(--accent);margin-right:8px}.stat.sel{outline:2px solid var(--accent);outline-offset:-1px}.stat .utilbar{margin:4px 0 2px}.tbl tr.sub-row>td{background:var(--panel-2);padding:8px 12px 12px}.lag-tag{color:var(--accent);font-size:10.5px;font-family:var(--mono);align-items:center;gap:3px;margin-top:2px;display:inline-flex}.lag-tag .in{height:22px;padding:0 4px}.lag-chip{margin-top:3px}.lag-chip .badge{font-family:var(--mono);font-weight:500}.lag-bracket rect{fill:none;stroke:var(--accent);stroke-width:1px;stroke-dasharray:3 2}.lag-bracket text{fill:var(--accent);font-family:var(--mono);font-weight:600}.igmp-cell .check{margin:1px 0;font-size:12px;display:flex}.igmp-cell .check input{width:13px;height:13px}.igmp-grid{grid-template-columns:repeat(auto-fill,minmax(480px,1fr));gap:12px;display:grid}.igmp-group .tbl{width:100%}.igmp-group td,.igmp-group th{white-space:nowrap}.igmp-group{border:1px solid var(--border);border-radius:8px;padding:10px 12px}.igmp-group h4{align-items:center;gap:8px;margin:0 0 6px;font-size:13px;display:flex}.igmp-group .kv{grid-template-columns:110px 1fr;gap:2px 8px;font-size:12px;display:grid}.igmp-explain{font-size:12.5px;line-height:1.5}.igmp-explain ul{margin:4px 0 0;padding-left:18px}.txt-ok{color:var(--ok,#16a34a);font-weight:600}.tbl.compact th,.tbl.compact td{padding:3px 6px;font-size:12px}.panel-querier rect{fill:var(--ok)}.panel-querier text{fill:#fff}.port-select{flex-direction:column;gap:3px;display:flex}.port-select select{font-size:12px}.port-assign li{justify-content:space-between;align-items:center;gap:8px;display:flex}.port-pair{flex-direction:column;gap:6px;margin:8px 0;display:flex}.add-dialog h4{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:16px 0 6px;font-size:12px}.add-dialog .form-grid.wide{margin-bottom:4px}.add-dialog .sec-box{background:var(--panel-2);border:1px dashed var(--border-strong);border-radius:6px;margin:6px 0;padding:10px}.add-dialog .field .in{width:100%}.add-dialog .field .row-tight .in{width:auto}.add-dialog .wiz-problems{margin-top:12px}.add-foot{border-top:1px solid var(--border);background:var(--panel);margin-top:16px;padding-top:12px;padding-bottom:4px;position:sticky;bottom:-16px}.modal.eq-modal{width:min(1000px,96vw);max-height:var(--modal-max);padding:0}.modal.eq-modal>.card{box-shadow:none;border:0;margin:0}.modal-bg{z-index:50}.modal:has(.add-dialog){padding-top:10px}.add-dialog .chips{margin-bottom:12px}.auto-task{margin-bottom:10px}.date-in{display:block;position:relative}.date-in>.in{width:100%;padding-right:34px}.date-in.bad>.in{border-color:var(--crit,#e5484d)}.date-in .date-pick{width:28px;height:26px;color:var(--muted,#999);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.date-in .date-pick:hover{color:inherit;background:#7f7f7f26}.date-in .date-pick input{opacity:0;pointer-events:none;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.band-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px;display:grid}.band-chip{border:1px solid var(--line,#3a3a3a);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:5px 8px;display:flex}.band-chip.on{border-color:var(--accent,#ffd60a);background:#ffd60a14}.band-chip input{margin:0}.warn-text{color:var(--warn,#f5a524)}.btn.star{color:var(--muted,#999);background:0 0;border-color:#0000;padding:0 6px;font-size:15px}.btn.star.on{color:var(--accent,#ffd60a)}.save-state{color:var(--muted);white-space:nowrap;font-size:12px}.save-state.err{color:var(--crit);font-weight:600}.route-grab{stroke:#0000;stroke-width:12px;stroke-linecap:round}.route-grab.ns{cursor:ns-resize}.route-grab.ew{cursor:ew-resize}.route-grab:hover,.route-grab.on{stroke:#ffd60a4d}.modal-bg.confirm-bg{z-index:90;padding-top:22vh}.confirm-box{max-width:460px}.confirm-box p{margin:0 0 8px;line-height:1.45}.confirm-box .row-tight{margin-top:14px}.tbl tr.tree-context td{opacity:.55}:root{--pd-3p:#ffd60a;--pd-l1:#c8834a;--pd-l2:#f2f2f2;--pd-l3:#8f96a3}.pd-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);flex-direction:column;gap:0;display:flex;overflow:hidden}.pd-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;padding:8px 12px}.pd-legend{border-bottom:1px solid var(--border);color:var(--muted);flex-wrap:wrap;gap:14px;padding:6px 12px;font-size:11.5px;display:flex}.pd-legend span{align-items:center;gap:5px;display:inline-flex}.pd-legend i{border-radius:2px;width:18px;height:3px;display:inline-block}.pd-legend i.dash{background:repeating-linear-gradient(90deg, var(--muted) 0 4px, transparent 4px 7px)}.pd-legend-load{margin-left:auto}.pd-main{min-height:420px;display:flex}.pd-canvas{background-color:var(--bg);background-image:radial-gradient(var(--border) 1px, transparent 1px);background-size:20px 20px;flex:1;min-width:0;max-height:calc(100vh - 260px);padding:10px 14px;overflow:auto}.pd-svg{height:auto;font-family:system-ui,-apple-system,Segoe UI,sans-serif;display:block}.pd-col{letter-spacing:.08em;fill:var(--muted);font-size:10.5px}.pd-line{stroke:#6b6e75;stroke-width:2.5px;transition:opacity .15s}.pd-line.bus{stroke-width:3px}.pd-line.unset{stroke:var(--muted);stroke-dasharray:6 4}.pd-line.dim,.pd-dim{opacity:.2}.pd-lbl.ph{font-size:10px}.pd-lbl{font:600 10.5px var(--mono);fill:var(--text);paint-order:stroke;stroke:var(--bg);stroke-width:3px}.pd-free-line{stroke:var(--border-strong);stroke-dasharray:5 4}.pd-free{fill:var(--warn);font-size:12px;font-weight:650}.pd-box{cursor:pointer;outline:none;transition:opacity .15s}.pd-box.dim{opacity:.32}.pd-rect{fill:var(--panel);stroke:var(--border-strong);stroke-width:1px}.pd-box:hover .pd-rect,.pd-box:focus-visible .pd-rect{stroke:var(--muted)}.pd-box.sel .pd-rect{stroke:var(--accent);stroke-width:2.5px}.pd-box.free .pd-rect{stroke-dasharray:5 3;fill:var(--bg)}.pd-box.source .pd-stripe{fill:var(--accent)}.pd-box.distro .pd-stripe{fill:#6aa8ff}.pd-name{fill:var(--text);font-size:12.5px;font-weight:700}.pd-right{font:11px var(--mono);fill:var(--muted)}.pd-sub{fill:var(--muted);font-size:11px}.pd-bar-bg{fill:var(--border)}.pd-bar.ok{fill:var(--ok)}.pd-bar.warn{fill:var(--warn)}.pd-bar.crit{fill:var(--crit)}.pd-ph{font:10px var(--mono);fill:var(--muted)}.pd-ph.over{fill:var(--crit)}.pd-side{border-left:1px solid var(--border);flex-direction:column;flex:none;gap:10px;width:290px;padding:14px 16px;display:flex}.pd-side h3{margin:0;font-size:15px}.pd-kind{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:10.5px}.pd-kv{grid-template-columns:96px minmax(0,1fr);gap:4px 10px;margin:0;font-size:12.5px;display:grid}.pd-kv dt{color:var(--muted)}.pd-kv dd{margin:0}.pd-reqs{flex-direction:column;gap:6px;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex}.pd-reqs li{border-top:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:8px;padding-top:6px;display:flex}@media (width<=900px){.pd-main{flex-direction:column}.pd-side{border-left:0;border-top:1px solid var(--border);width:auto}}.tbl tr.row-focus td{background:var(--accent-soft);transition:background .4s}.tbl tr.row-focus td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.pd-conns{font:10.5px var(--mono);fill:var(--text);opacity:.8}.pd-conn-list{flex-direction:column;gap:1px;display:flex}.update-reload{z-index:10000;background:var(--accent);color:#111;border-radius:6px;padding:8px 14px;font-weight:600;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000059}.csv-map{margin-top:10px}.csv-map-head{margin-bottom:6px}.csv-map-tbl td{vertical-align:middle}.csv-map-tbl select.in{max-width:320px}.csv-preview{max-height:320px;overflow:auto}.modal-foot{background:var(--panel);border-top:1px solid var(--border);margin:12px -16px -16px;padding:10px 16px;position:sticky;bottom:-16px}.clear-mods{gap:6px;margin:8px 0 12px;display:grid}.clear-mod{align-items:flex-start;gap:8px;display:flex}.clear-mod input{margin-top:3px}.power-ov{flex-direction:column;gap:16px;display:flex}.power-ov-cols{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}.power-ov-col>.card,.power-ov-cols>.card{margin:0}.meter-groups{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));align-items:start;gap:16px;display:grid}@media (width<=1100px){.power-ov-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.power-ov-cols>.col-stack{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}}@media (width<=760px){.power-ov-cols,.power-ov-cols>.col-stack,.meter-groups{grid-template-columns:minmax(0,1fr)}.area-load-tbl th:nth-child(4),.area-load-tbl td:nth-child(4){display:none}.area-load-tbl th:first-child{width:36%}}.add-wall{flex-direction:column;gap:12px;display:flex}.add-wall-group{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;margin:0;padding:8px 12px 10px;display:flex}.add-wall-group legend{padding:0 4px;font-weight:600}.add-wall-group .field{margin:0}.add-wall-x{align-self:flex-end;padding-bottom:8px}.add-wall-result{background:var(--panel-2,#ffffff0a);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.report-sec-opt{margin-left:26px;font-size:13px}.sel-col{text-align:center;width:34px;padding-left:8px!important;padding-right:0!important}.sel-box{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;vertical-align:middle}tr.selected td{background:var(--accent-soft)}.bulk-bar{z-index:3;background:var(--accent-soft);border-bottom:1px solid var(--accent);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 14px;display:flex;position:sticky;top:0}.bulk-fields{flex-direction:column;gap:8px;display:flex}.bulk-field{border:1px solid var(--border);border-radius:6px;grid-template-columns:minmax(150px,220px) minmax(0,1fr);align-items:center;gap:4px 12px;padding:6px 8px;display:grid}.bulk-field.on{border-color:var(--accent)}.bulk-field .muted{grid-column:2}@media (width<=560px){.bulk-field{grid-template-columns:minmax(0,1fr)}.bulk-field .muted{grid-column:1}}@media (width>=761px){.modal:has([data-modal-actions]){grid-template-columns:minmax(0,1fr) 170px;align-content:start;column-gap:24px;width:min(1100px,95vw);padding:18px 22px;display:grid}.modal.xwide:has([data-modal-actions]){width:min(1560px,97vw)}.modal.narrow:has([data-modal-actions]){width:min(740px,94vw)}.modal:has([data-modal-actions])>form{display:contents}.modal:has([data-modal-actions])>*{grid-column:1;min-width:0}.modal:has([data-modal-actions])>form>*{grid-column:1;min-width:0}.modal:has([data-modal-actions])>header{grid-column:1/-1}.modal [data-modal-actions]{z-index:2;flex-direction:column-reverse;grid-row:2/span 60;justify-content:flex-end;align-self:start;align-items:stretch;gap:8px;display:flex;position:sticky;top:0;background:0 0!important;border:0!important;grid-column:2!important;margin:0!important;padding:0!important}.modal [data-modal-actions]>.btn,.modal [data-modal-actions]>button,.modal [data-modal-actions]>a.btn{text-align:center;white-space:normal;justify-content:center;width:100%;margin:0}.modal [data-modal-actions]>.spacer{display:none}.modal [data-modal-actions]>:not(button):not(.btn):not(.spacer){font-size:12px}}.csv-cols{grid-template-columns:minmax(0,560px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.csv-cols .csv-side{min-width:0;padding-top:10px}.csv-cols .csv-map-tbl td:first-child{width:170px}@media (width<=1100px){.csv-cols{grid-template-columns:1fr}}.field:has(:required)>.field-label:after{content:" *";color:var(--crit);font-weight:700}.field.missing .in,.field.missing select.in,.field.missing textarea.in{border-color:var(--crit);box-shadow:0 0 0 2px #ff6b5e40}.field.missing>.field-label{color:var(--crit)}.confirm-box p.confirm-item{margin:0 0 4px;padding-left:14px;position:relative}.confirm-box p.confirm-item:before{content:"•";color:var(--crit);position:absolute;left:2px}:root{--brand-black:#161719;--brand-yellow:#ffe100}.shell{flex-direction:column;height:100%;display:flex}.shell-head{background:var(--brand-black);color:#fff;border-bottom:3px solid var(--brand-yellow);flex-shrink:0;align-items:center;gap:20px;height:52px;padding:0 16px;display:flex}.shell-brand{color:#fff;letter-spacing:-.01em;align-items:center;gap:10px;font-size:15px;font-weight:650;text-decoration:none;display:flex}.shell-brand img{width:auto;height:32px;display:block}.shell-nav{flex:1;gap:4px;min-width:0;display:flex;overflow-x:auto}.shell-nav a{color:#c9c9c9;white-space:nowrap;border-radius:6px;padding:6px 10px;text-decoration:none}.shell-nav a:hover{color:var(--brand-yellow);background:#26272b}.shell-nav a.on{color:var(--brand-black);background:var(--brand-yellow);font-weight:600}.shell-body{flex:1;min-height:0;overflow:auto}.user-menu{position:relative}.user-btn{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:4px 6px;display:flex}.user-btn:hover{background:#26272b}.avatar{background:var(--brand-yellow);width:26px;height:26px;color:var(--brand-black);border-radius:13px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.menu{background:var(--panel);color:var(--text);border:1px solid var(--border);z-index:40;border-radius:8px;flex-direction:column;min-width:180px;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #0003}.menu a,.menu button{text-align:left;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:8px 10px;text-decoration:none}.menu a:hover,.menu button:hover{background:var(--panel-2)}.narrow-page{width:100%;max-width:1200px;margin:0 auto}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.page-head h1{letter-spacing:-.02em;font-size:20px;font-weight:680}.card.flush{padding:0;overflow:hidden}.card.flush>.tbl,.card.flush .tbl-wrap{margin:0}.card.flush .tbl th:first-child,.card.flush .tbl td:first-child{padding-left:16px}.card.flush .tbl th:last-child,.card.flush .tbl td:last-child{padding-right:16px}.card-head.pad,.pad{padding:12px 16px}.card h3{margin-bottom:10px;font-size:14px;font-weight:620}.nowrap{white-space:nowrap}.pre{white-space:pre-wrap}.strong-link{color:var(--text);font-weight:600;text-decoration:none}.strong-link:hover{color:var(--accent);text-decoration:underline}.form-error{color:var(--crit);background:var(--crit-soft);border-radius:6px;margin:8px 0;padding:7px 10px}.row-tight.right{justify-content:flex-end;margin-top:12px}.form-grid.wide{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .span2{grid-column:span 2}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid.four .span3{grid-column:span 3}@media (width<=760px){.form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.four .span3{grid-column:span 2}}.btn.block{justify-content:center;width:100%;height:36px}a.btn{color:var(--on-accent);text-decoration:none}a.btn.danger{color:#fff}.tabs a{color:var(--muted);border-radius:4px;padding:4px 12px;text-decoration:none}.tabs a.on{background:var(--panel);color:var(--text);box-shadow:0 1px 2px #0000001f}.modal.narrow{width:min(560px,94vw)}.badge+.badge,td .badge{margin-left:4px}td .badge:first-child{margin-left:0}.auth-page{background:var(--brand-black);justify-content:center;align-items:center;min-height:100%;padding:24px 16px;display:flex}.auth-card{background:var(--panel);border-radius:12px;flex-direction:column;gap:10px;width:min(400px,100%);padding:28px 28px 22px;display:flex;box-shadow:0 20px 60px #00000080}.auth-card h1{letter-spacing:-.02em;font-size:20px;font-weight:680}.auth-card p{margin:0}.auth-logo{width:150px;height:auto;margin-bottom:6px}.auth-form{flex-direction:column;gap:12px;margin-top:6px;display:flex}.auth-form .in{height:34px;font-size:14px}.project-shell{flex-direction:column;height:100%;display:flex}.project-head{background:var(--panel);border-bottom:1px solid var(--border-strong);flex-direction:column;flex-shrink:0;gap:6px;padding:10px 20px 0;display:flex}.project-title{flex-direction:column;gap:2px;min-width:0;display:flex}.project-title a{text-decoration:none}.project-title h1{letter-spacing:-.02em;font-size:18px;font-weight:680}.project-tabs{scrollbar-width:thin;gap:4px;margin-bottom:-1px;padding-top:4px;display:flex;overflow:auto hidden}.project-tabs a{color:var(--muted);white-space:nowrap;background:var(--panel-2);border:1px solid var(--border);border-bottom-color:var(--border-strong);border-radius:10px 10px 0 0;align-items:center;gap:8px;padding:11px 20px 10px;font-size:15px;font-weight:560;text-decoration:none;transition:background .12s,color .12s;display:inline-flex;position:relative}.project-tabs a svg{opacity:.75;flex:none}.project-tabs a:hover{color:var(--accent);background:var(--panel-2)}.project-tabs a:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.project-tabs a.on{color:var(--text);background:var(--bg);border-color:var(--border-strong);border-bottom-color:var(--bg);box-shadow:inset 0 3px 0 var(--brand-yellow);z-index:1;font-weight:680}.project-tabs a.on svg{opacity:1}.project-body{flex:1;min-height:0;overflow:auto}.project-body>.app.planner{height:100%}.tool-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.tool-card{background:var(--panel);border:1px solid var(--border);border-left:4px solid var(--brand-yellow);border-radius:var(--radius);color:var(--text);flex-direction:column;gap:4px;padding:14px 16px;text-decoration:none;display:flex}.tool-card:hover{border-color:var(--border-strong);border-left-color:var(--brand-yellow);box-shadow:0 2px 10px #0000000f}.tool-card span{color:var(--muted);font-size:12.5px}.lookup{position:relative}.lookup-list{background:var(--panel);border:1px solid var(--border);z-index:10;border-radius:6px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 2px);left:0;right:0;box-shadow:0 8px 20px #00000026}.lookup-list button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;width:100%;padding:6px 8px}.lookup-list button:hover{background:var(--panel-2)}.invite-fresh{background:var(--ok-soft);border-radius:6px;gap:6px;margin-top:10px;padding:10px;display:flex}.invite-fresh .in{flex:1}@media (width<=700px){.user-name,.shell-brand span,.shell-nav .nav-home,.shell-nav .nav-long{display:none}.shell-nav a{padding:6px 8px}}@media (width<=400px){.shell-head{gap:8px!important;padding-left:10px!important;padding-right:10px!important}.shell-nav{gap:0}.shell-nav a{padding:6px;font-size:14px}.form-grid.wide{grid-template-columns:1fr}.form-grid .span2{grid-column:auto}.project-head{padding:8px 12px 0}.project-tabs a{gap:6px;padding:9px 12px 8px;font-size:14px}}.tbl select.in{width:auto}.tool-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.show-select{min-width:280px;font-weight:600}.big-empty{padding:40px 20px}.big-empty p{margin:4px 0}.page.lighting{min-height:100%;position:relative}.page.lighting.dragging{outline:3px dashed var(--brand-yellow);outline-offset:-8px}.drop-hint{background:var(--brand-black);color:var(--brand-yellow);z-index:30;border-radius:8px;padding:12px 20px;font-weight:600;position:fixed;bottom:30px;left:50%;transform:translate(-50%)}.toolbar.pad{border-bottom:1px solid var(--border);padding:10px 16px}.tbl th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.tbl th.sortable:hover{color:var(--text)}.sort-arrow{color:var(--accent)}.tbl.patch tr.conflict td{background:var(--crit-soft)}.tbl.patch tr.conflict td:first-child{box-shadow:inset 3px 0 0 var(--crit)}.tbl td .badge.crit{text-transform:uppercase;margin-left:6px;font-size:10px}.tbl tfoot td{border-top:1.5px solid var(--border-strong);border-bottom:0}.col-menu{position:relative}.col-menu .menu{min-width:160px;padding:6px;top:calc(100% + 4px)}.menu-check{padding:5px 8px}.meter-list{flex-direction:column;gap:10px;display:flex}.meter-card{border:1px solid var(--border);border-left:4px solid var(--ok);border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.meter-card.warn{border-left-color:var(--warn)}.meter-card.over{border-left-color:var(--crit)}.meter-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.phase-bars{flex-direction:column;gap:3px;display:flex}.phase-bar{grid-template-columns:24px 1fr;align-items:center;gap:6px;display:grid}.phase-bar .utilbar{height:15px}.phase-bar .utilbar-text{font-size:10.5px;line-height:13px}.tabs .badge{margin-left:6px}.badge.type-admin{background:var(--brand-black);color:var(--brand-yellow);border-color:#0000}.badge.type-pm{background:var(--accent-soft);color:var(--accent);border-color:#0000}.badge.type-technician{background:var(--ok-soft);color:var(--ok);border-color:#0000}.badge.type-onsite{background:var(--ok-soft);color:var(--ok);border-color:var(--ok)}.badge.type-client{background:var(--warn-soft);color:var(--warn);border-color:#0000}.project-tabs a.admin-tab{margin-left:auto}.project-tabs a.admin-tab.on{box-shadow:inset 0 3px 0 var(--brand-black)}.admin-layout{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:20px;max-width:1100px;margin:0 auto;display:grid}.admin-nav{flex-direction:column;gap:2px;display:flex;position:sticky;top:12px}.admin-nav a{color:var(--text);border-radius:6px;padding:8px 12px;font-size:13.5px;text-decoration:none}.admin-nav a:hover{background:var(--panel-2)}.admin-nav a.on{background:var(--panel);border-left:3px solid var(--brand-yellow);font-weight:600;box-shadow:0 1px 3px #0000000d}.admin-content{flex-direction:column;gap:16px;min-width:0;display:flex}.danger-card{border-color:var(--crit-soft)}.danger-card h3{color:var(--crit)}.client-tools li{border-bottom:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:2px;padding:8px 0;display:flex}.client-tools li:last-child{border-bottom:0}.client-tools .muted{padding-left:24px}.team-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:6px 0;display:flex}.team-list li:last-child{border-bottom:0}@media (width<=760px){.admin-layout{grid-template-columns:1fr}.admin-nav{flex-flow:wrap;position:static}.project-tabs a.admin-tab{margin-left:0}}.board-page{max-width:none}.board{align-items:flex-start;gap:12px;padding-bottom:12px;display:flex;overflow-x:auto}.board-col{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;flex:0 0 280px;max-height:calc(100vh - 230px);display:flex}.board-col.done-col{background:var(--ok-soft)}.board-col.drop{border-color:var(--accent)}.board-col-head{align-items:center;gap:6px;padding:10px 12px 6px;display:flex}.board-col-head h3{margin:0;font-size:13px;font-weight:650}.col-tools{gap:0;margin-left:auto;display:none}.board-col-head:hover .col-tools,.board-col-head:focus-within .col-tools{display:inline-flex}.board-cards{flex-direction:column;flex:1;gap:6px;min-height:40px;padding:4px 8px;display:flex;overflow-y:auto}.board-empty{color:var(--muted);text-align:center;padding:12px 0;font-size:12px}.add-card{justify-content:flex-start;margin:4px 8px 8px}.drop-line{background:var(--accent);border-radius:2px;height:3px;margin:2px 0}.task-card{background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--border-strong);cursor:pointer;border-radius:6px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.task-card:hover{border-color:var(--border-strong);box-shadow:0 2px 8px #0000000f}.task-card:focus-visible{outline:2px solid var(--accent)}.task-card.dragging{opacity:.4}.task-card.is-done .task-title{color:var(--muted);text-decoration:line-through}.task-card.prio-edge-high{border-left-color:var(--crit)}.task-card.prio-edge-low{border-left-color:var(--border)}.task-card[draggable=true]{cursor:grab}.task-title{word-break:break-word;font-size:13.5px;font-weight:560;line-height:1.3}.card-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:11.5px;display:flex}.cat{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600}.cat-network{color:#9db4ff;background:#1f2a44;border-color:#34477a}.cat-lighting{background:var(--accent-soft);color:var(--accent);border-color:#6b5d16}.cat-power{background:var(--crit-soft);color:#ff9a8f;border-color:#6b302a}.prio-high{color:var(--crit);font-weight:600}.prio-low{color:var(--muted)}.due.overdue{color:var(--crit);font-weight:600}.assignees{flex-wrap:wrap;gap:3px;display:flex}.initials{background:var(--brand-black);width:24px;height:24px;color:var(--brand-yellow);letter-spacing:.02em;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:10.5px;font-weight:700;display:inline-flex}.assign-list{flex-wrap:wrap;gap:6px;display:flex}.chip-check{border:1px solid var(--border);cursor:pointer;background:var(--panel);border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 4px;font-size:12.5px;display:inline-flex}.chip-check input{display:none}.chip-check.on{border-color:var(--accent);background:var(--accent-soft)}.task-detail{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px;display:grid}.task-detail h4{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:14px 0 6px;font-size:12px}.checklist{margin:0 0 8px;padding:0;list-style:none}.checklist li{justify-content:space-between;align-items:center;gap:6px;padding:3px 0;display:flex}.comments{flex-direction:column;gap:8px;display:flex}.comment-list{flex-direction:column;gap:8px;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.comment-list li{background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:8px 10px}.comment-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:3px;font-size:12px;display:flex}.pick-list{max-height:360px;overflow-y:auto}.pick-list li{border-bottom:1px solid var(--border);padding:6px 0}@media (width<=760px){.task-detail{grid-template-columns:1fr}.board-col{flex-basis:250px}}.my-tasks{margin:0;padding:0;list-style:none}.my-tasks li{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.my-tasks li a{color:var(--text);flex-direction:column;gap:2px;text-decoration:none;display:flex}.my-tasks li a:hover strong{text-decoration:underline}.page.files.dragging{outline:3px dashed var(--accent);outline-offset:-8px;background:var(--accent-soft)}.crumbs{flex-wrap:wrap;align-items:center;gap:4px;font-size:13.5px;display:flex}.crumbs a{color:var(--accent);text-decoration:none}.crumbs a:hover{text-decoration:underline}.files-tbl td{vertical-align:middle}.folder-row td:first-child{font-weight:600}.folder-row{cursor:default}.file-link{color:var(--text);word-break:break-all;text-decoration:none}.file-link:hover{color:var(--accent);text-decoration:underline}.tbl th.sortable{padding:0}.th-btn{all:unset;box-sizing:border-box;cursor:pointer;width:100%;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;align-items:center;gap:4px;display:flex}.tbl th.sortable .th-btn{padding:6px 8px}.card.flush .tbl th.sortable:first-child{padding-left:8px}.card.flush .tbl th.sortable:last-child{padding-right:8px}.tbl th.sortable.r .th-btn{justify-content:flex-end}.th-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tbl th.sortable .sort-arrow{color:var(--border-strong);font-size:9px}.tbl th.sortable.sorted .sort-arrow{color:var(--accent)}.tbl th.sortable.sorted{color:var(--text)}.tbl th.sortable:not(.sorted):hover .sort-arrow{color:var(--muted)}.filter-drop{position:relative}.filter-btn{gap:2px}.filter-btn.on{box-shadow:inset 0 0 0 2px var(--on-accent)}.filter-sum{text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-weight:600;overflow:hidden}.filter-pop{z-index:45;background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;width:260px;padding:8px;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 10px 30px #0000002e}.filter-actions{justify-content:space-between;font-size:12px;display:flex}.filter-list{max-height:280px;margin:0;overflow-y:auto}.filter-list li{padding:2px 0}.filter-list .check{align-items:center;gap:6px;width:100%;display:flex}.filter-list .check>span:first-of-type{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.filter-count{margin-left:auto}.group-by{align-items:center;gap:6px;display:inline-flex}.group-by select.in{height:28px;min-height:28px;padding:0 6px;font-size:12.5px}.group-by.on select.in{border-color:var(--accent);color:var(--accent)}.tbl tr.grp-row td{background:var(--panel-2);border-top:1px solid var(--border);padding:6px 8px;font-size:12.5px}.tbl tr.grp-row:hover td{background:var(--panel-2)}.tbl tr.grp-row .grp-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-right:4px;font-size:10.5px}.tbl tr.grp-row strong{color:var(--accent)}.tbl th.loc,.tbl td.loc{white-space:nowrap}.tbl td.loc{font-weight:600}@media (width<=760px){.filter-pop{width:auto;position:fixed;top:auto;left:16px;right:16px}}.seg{border:1px solid var(--border-strong);background:var(--panel);border-radius:6px;display:inline-flex;overflow:hidden}.seg button{font:inherit;color:var(--muted);cursor:pointer;border:0;border-left:1px solid var(--border);background:0 0;padding:5px 12px;font-size:12.5px}.seg button:first-child{border-left:0}.seg button:hover{background:var(--panel-2);color:var(--text)}.seg.small button{padding:3px 9px;font-size:12px}.seg button.on.seg-none{background:var(--border-strong);color:var(--text);font-weight:600}.seg button.on.seg-view{background:var(--accent-soft);color:var(--accent);font-weight:600}.seg button.on.seg-edit{background:var(--ok-soft);color:var(--ok);font-weight:600}.tbl.matrix{width:100%}.tbl.matrix td,.tbl.matrix th{vertical-align:middle}.tbl.matrix tr.matrix-tool th{text-transform:none;letter-spacing:0;color:var(--text);border-bottom:0;padding-top:14px;font-size:13px}.tbl.matrix tr.matrix-tool td{padding-top:14px}.tbl.matrix tr.matrix-screen td:first-child{padding-left:22px}.tbl.matrix tr.matrix-screen.off td:first-child{color:var(--muted)}.tbl.matrix tr.matrix-fields td{background:var(--panel-2);padding:8px 12px 8px 22px;display:table-cell}.tbl.matrix tr.matrix-fields .check{margin:2px 12px 2px 0;display:inline-flex}.choice-row{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.choice-line{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.choice-line.on{border-color:var(--accent);background:var(--accent-soft)}.access-cell{max-width:320px}.ro-fieldset{border:0;min-width:0;margin:0;padding:0}.ro-fieldset:disabled .btn,.ro-fieldset:disabled button{opacity:.55}.tbl tr.editable{cursor:pointer}.tbl tr.editable:hover td{background:var(--accent-soft)}.in.invite-mail{width:100%;font-family:inherit;line-height:1.45}.menu-version{border-top:1px solid var(--border);margin-top:4px;padding:6px 10px 4px}.admin-layout{width:100%;max-width:1320px}.members-tbl{width:100%}.members-tbl td{vertical-align:top}.members-tbl .member-cell{min-width:160px}.members-tbl .member-username{word-break:break-all}.members-tbl .member-badges .badge{margin:0 4px 4px 0;display:inline-block}.members-tbl td.member-badges .badge+.badge{margin-left:0}.members-tbl .access-cell{min-width:160px}.members-tbl td.member-actions,.tbl td.stack-actions{vertical-align:top;width:1%}.tbl td.stack-actions .btn,.members-tbl td.member-actions .btn{white-space:nowrap;text-align:center;width:100%;margin:0 0 4px;display:block}.live-dot{color:var(--ok);margin-left:6px;font-size:11px;font-weight:600}.sub-h{margin-bottom:8px;font-weight:600}.hbar{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;min-width:60px;height:8px;overflow:hidden}.hbar>div{border-radius:3px;height:100%;transition:width .4s}.cores{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px 14px;margin-bottom:10px;display:grid}.core{color:var(--muted);grid-template-columns:1fr auto;gap:2px 6px;font-size:11.5px;display:grid}.core .hbar{grid-column:1/-1}.spark{background:var(--panel-2);border-radius:6px;width:100%;display:block}.spark-empty{justify-content:center;align-items:center;height:80px;display:flex}.axis{color:var(--muted);justify-content:space-between;margin-top:3px;font-size:11px;display:flex}.membar{background:var(--panel-2);border:1px solid var(--border);border-radius:5px;height:14px;margin-bottom:8px;display:flex;overflow:hidden}.membar .m-used{background:#1f9d55}.membar .m-cache{background:#9fd8b5}.legend.small,div.legend{flex-wrap:wrap;gap:6px 16px;margin-bottom:10px;display:flex}.legend i{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.legend i.m-used{background:#1f9d55}.legend i.m-cache{background:#9fd8b5}.legend i.m-free{background:var(--panel-2);border:1px solid var(--border-strong)}.strong-link{font-weight:600}td.nowrap,.nowrap{white-space:nowrap}.admin-content .two-col{gap:16px}.admin-content .badge+.badge{margin-left:4px}.review-hint{border-bottom:1px solid var(--border);background:var(--accent-soft);margin:0}.aspect-picks{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px 12px;padding:10px 0 12px;display:flex}.aspect-pick{border:1px solid var(--border);border-radius:14px;padding:4px 10px;font-size:12.5px}.aspect-pick.on{border-color:var(--accent);background:var(--accent-soft)}.aspect-box{border:1px solid var(--border);border-radius:var(--radius);margin:0 0 12px;padding:8px 14px 12px}.aspect-box legend{padding:0 6px;font-size:13px;font-weight:650}.mini-edit{margin-bottom:6px}.mini-edit .in{height:28px}.mini-edit .in.num{text-align:right;width:90px}.proposal.decided{opacity:.75}.diff-tbl{margin-bottom:10px}.diff-from{color:var(--crit);-webkit-text-decoration:line-through #d92d2066;text-decoration:line-through #d92d2066}.diff-to{color:var(--ok);font-weight:550}.kv-line{flex-wrap:wrap;gap:4px 16px;display:flex}td .clip{white-space:nowrap;text-overflow:ellipsis;max-width:360px;overflow:hidden}.video-page .page-head{flex-wrap:wrap;gap:10px}.video-page .tabs button{white-space:nowrap}.video-layout{grid-template-columns:330px minmax(0,1fr);align-items:start;gap:16px;display:grid}.video-rail{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);max-height:calc(100vh - 210px);padding:4px 14px 12px;position:sticky;top:12px;overflow:auto}.video-rail fieldset{border:0;border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;gap:8px 10px;margin:0;padding:10px 0 12px;display:grid}.video-rail fieldset:last-of-type{border-bottom:0}.video-rail legend{padding:8px 0 4px;font-size:13px;font-weight:650}.video-rail .full{grid-column:1/-1}.vfield{flex-direction:column;gap:3px;min-width:0;display:flex}.vfield>span,.vlabel{color:var(--muted);margin-bottom:3px;font-size:11.5px;font-weight:550;display:block}.vfield .unit{align-items:center;gap:4px;display:flex}.vfield .unit .in{text-align:right;flex:1;min-width:0}.vfield .unit em{color:var(--muted);min-width:18px;font-size:11.5px;font-style:normal}.vfield select.in{width:100%}.video-rail .seg{border:1px solid var(--border-strong);border-radius:6px;display:flex;overflow:hidden}.video-rail .seg button,.video-results .seg button{background:var(--panel-2);cursor:pointer;color:var(--muted);border:0;flex:1;padding:5px 8px;font-size:12.5px}.video-results .seg{border:1px solid var(--border-strong);border-radius:6px;display:flex;overflow:hidden}.video-rail .seg button.on,.video-results .seg button.on{background:var(--accent);color:var(--on-accent)}.lib-changed{background:var(--warn-soft);border-radius:6px;margin:0;padding:5px 8px;font-size:12px}.save-state{color:var(--muted);min-height:1em;margin:8px 0 0;font-size:11.5px}.save-state.error{color:var(--crit)}.video-results{flex-direction:column;gap:14px;min-width:0;display:flex}.video-alerts{flex-direction:column;gap:6px;display:flex}.video-alert{background:var(--panel);border:1px solid var(--border);border-radius:6px;align-items:flex-start;gap:8px;padding:8px 12px;font-size:13px;display:flex}.video-alert.bad{background:var(--crit-soft);border-color:#0000}.video-alert.warn{background:var(--warn-soft);border-color:#0000}.video-alert.info{background:var(--accent-soft);border-color:#0000}.wall-diagram{background:#10151c;border-radius:8px;padding:12px}.wall-diagram svg{width:100%;height:auto;max-height:520px;display:block}.wall-legend{flex-wrap:wrap;gap:4px 14px;margin-top:8px;font-size:12px;display:flex}.swatch{vertical-align:0;border-radius:2px;width:9px;height:9px;margin-right:5px;display:inline-block}.video-cols3{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:14px;display:grid}.video-kv td:last-child{text-align:right;font-variant-numeric:tabular-nums}.video-kv tr.big td:last-child{font-size:15px;font-weight:700}.video-kv tr.sep td{border-top:1px solid var(--border-strong)}.loadbar{background:var(--panel-2);vertical-align:middle;border-radius:3px;width:60px;height:6px;display:inline-block;overflow:hidden}.loadbar b{background:var(--accent);height:100%;display:block}.loadbar b.hot{background:var(--crit)}.video-foot{margin-top:14px}@media (width<=900px){.video-layout{grid-template-columns:1fr}.video-rail{max-height:none;position:static}}.video-results .seg button{white-space:nowrap;padding:5px 12px}.mvr-banner{border-radius:var(--radius);background:var(--warn-soft);align-items:center;gap:12px;margin-bottom:12px;padding:8px 14px;font-size:13px;display:flex}.mvr-banner span{flex:1}.watts-in{text-align:right;width:80px;height:28px}.sync-card p{font-size:13px}.tabs a:hover,.tabs button:hover,.seg button:hover,.admin-nav a:hover{color:var(--accent);background:var(--panel-2)}.tabs a.on:hover,.tabs button.on:hover{color:var(--text)}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 14px;display:grid}.admin-board{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px;display:grid}@media (width<=900px){.admin-board{grid-template-columns:1fr}}.admin-col{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;min-height:120px;padding:10px;display:flex}.admin-col h3{margin:0 0 2px;font-size:14px}.admin-card{background:var(--panel);border:1px solid var(--border);cursor:pointer;border-radius:8px;flex-direction:column;gap:4px;padding:9px 10px;display:flex}.admin-card:hover{border-color:var(--accent)}.admin-card.urgent{border-left:3px solid var(--crit)}.admin-card-title{font-weight:600}.admin-card-actions{margin-top:2px}.clamp2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.empty-col{padding:6px 2px}.note-body{white-space:pre-wrap;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.note-thread{flex-direction:column;gap:8px;display:flex}.note-msg{white-space:pre-wrap;border:1px solid var(--border);border-radius:8px;margin-right:15%;padding:8px 10px}.note-msg.from-admin{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent) 7%, transparent);margin:0 0 0 15%}.seg{gap:4px;display:inline-flex}.stack{flex-direction:column;gap:10px;display:flex}.badge.type-head{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.home-page{flex-direction:column;gap:26px;max-width:1240px;margin:0 auto;padding-bottom:48px;display:flex}.home-hello{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.home-hello h1{letter-spacing:-.01em;margin:4px 0 6px;font-size:30px}.home-summary{color:var(--text);opacity:.85;margin:0;font-size:15px}.home-quick{flex-wrap:wrap;gap:8px;display:flex}.home-quick-btn{align-items:center;gap:8px;height:40px;padding:0 14px;font-size:14px;display:inline-flex}.home-quick-btn svg{color:var(--on-accent)}.home-section{flex-direction:column;gap:10px;display:flex}.home-section h2,.home-split h2{margin:0;font-size:17px}.home-section-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.home-projects{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.home-project{color:inherit;border-radius:12px;flex-direction:column;gap:11px;padding:16px 18px;text-decoration:none;display:flex}.home-project:hover{border-color:var(--accent);text-decoration:none}.home-project-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.home-project-name{flex-direction:column;gap:2px;min-width:0;display:flex}.home-project-name strong{font-size:15.5px}.home-project-tags{flex-wrap:wrap;gap:5px;display:flex}.home-project-tags .badge+.badge{margin-left:0}.home-power{flex-direction:column;gap:5px;display:flex}.home-power-text{opacity:.85;justify-content:space-between;font-size:12px;display:flex}.home-bar{background:var(--border);border-radius:3px;height:6px;overflow:hidden}.home-bar-fill{height:6px}.home-bar-fill.ok{background:var(--ok)}.home-bar-fill.warn{background:var(--warn)}.home-bar-fill.crit{background:var(--crit)}.home-figures{border-top:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:8px;padding-top:10px;display:grid}.home-figures>div{flex-direction:column;display:flex}.home-figures .mono{font-size:16px}.home-split{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.home-tasks{border-radius:12px;flex:999 540px;min-width:0;overflow:hidden}.home-tasks .home-section-head{padding-bottom:10px}.home-group{background:var(--panel-2);border-top:1px solid var(--border);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:7px 16px 5px;font-size:11.5px;font-weight:600}.home-task{border-top:1px solid var(--border);color:inherit;align-items:center;gap:12px;padding:10px 16px;text-decoration:none;display:flex}.home-task:hover{background:var(--panel-2);text-decoration:none}.home-task-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.home-task-main strong{font-weight:550}.home-note-line{border-top:1px solid var(--border);color:inherit;align-items:center;gap:10px;padding:12px 16px;font-size:13px;text-decoration:none;display:flex}.home-note-line:hover{background:var(--panel-2);text-decoration:none}.home-note-line .dot{background:var(--accent);border-radius:50%;width:8px;height:8px}.home-suggest{flex-direction:column;flex:320px;gap:10px;min-width:0;display:flex}.home-sugg{border-radius:10px;flex-direction:column;gap:10px;display:flex}.home-sugg-top{align-items:flex-start;gap:12px;display:flex}.home-sugg-top>div{flex-direction:column;gap:3px;min-width:0;display:flex}.home-sugg-icon{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:8px;flex:none;justify-content:center;align-items:center;display:flex}.home-sugg-foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.home-sugg-foot .badge{text-overflow:ellipsis;max-width:70%;overflow:hidden}.home-sugg-btn{align-items:center;height:30px;padding:0 12px;text-decoration:none;display:inline-flex}.home-sugg-btn:hover{text-decoration:none}.home-activity{border-top:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:10px 16px;display:flex}.home-activity:first-child{border-top:0}.home-when{width:120px}.home-what{flex:1;min-width:220px}.notice{border:1px solid var(--border);background:var(--panel-2);border-radius:8px;padding:9px 12px}.notice.warn{background:var(--warn-soft);color:var(--text);border-color:#0000}.notice.crit{background:var(--crit-soft);color:var(--text);border-color:#0000}.stat-value.small-value{font-size:15px;line-height:1.3}.wl-split{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.wl-main{flex:999 640px;min-width:0}.wl-side{flex-direction:column;flex:260px;gap:12px;min-width:0;display:flex}.wl-side h3{margin:0 0 6px;font-size:14px}.wl-table td{vertical-align:top}.wl-table tr.wl-bad td{background:color-mix(in srgb, var(--crit) 7%, transparent)}.wl-freq{width:100px}.wl-freq.invalid{border-color:var(--crit);color:var(--crit)}.wl-issue{white-space:normal;max-width:260px}.wl-env{flex-direction:column;gap:14px;display:flex}.wl-env h3{margin:0 0 8px;font-size:15px}.wl-env .badge+.badge{margin-left:4px}.wl-forms{border-top:1px solid var(--border);flex-direction:column;gap:8px;display:flex}.wl-svg{background:var(--bg);border:1px solid var(--border);border-radius:8px;width:100%;height:auto;display:block}.wl-band{fill:color-mix(in srgb, var(--accent) 7%, transparent)}.wl-excl{fill:color-mix(in srgb, var(--crit) 22%, transparent)}.wl-scan{fill:none;stroke:#7aa7ff;stroke-width:1px;opacity:.9}.wl-car line{stroke:var(--ok);stroke-width:2px}.wl-car.bad line{stroke:var(--crit);stroke-width:2.5px}.wl-car:hover line{stroke-width:4px}.wl-im{stroke-width:1px}.wl-im.im3{stroke:var(--warn)}.wl-im.im5{stroke:color-mix(in srgb, var(--warn) 60%, var(--muted))}.wl-im.im3x3{stroke:var(--muted);opacity:.45}.wl-axis{stroke:var(--border-strong)}.wl-tick,.wl-lane{fill:var(--muted);font-size:11px;font-family:var(--mono)}.wl-legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:8px;display:flex}.wl-legend .sw{vertical-align:-1px;border-radius:2px;width:12px;height:10px;margin-right:4px;display:inline-block}.sw.band{background:color-mix(in srgb, var(--accent) 25%, transparent)}.sw.car{background:var(--ok)}.sw.bad{background:var(--crit)}.sw.im{background:var(--warn)}.sw.excl{background:color-mix(in srgb, var(--crit) 40%, transparent)}.sw.scan{background:#7aa7ff}.wl-racks{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.wl-rack{border:1px solid var(--border);border-radius:10px;overflow:hidden}.wl-rack header{background:var(--panel-2);border-bottom:1px solid var(--border);padding:8px 12px}.wl-rack-row{border-top:1px solid var(--border);justify-content:space-between;gap:10px;padding:6px 12px;display:flex}.wl-rack-row:first-of-type{border-top:0}.wl-rack-row .mono{font-weight:600}.spec-list{grid-template-columns:auto 1fr;gap:3px 12px;margin:2px 0 0;font-size:13px;display:grid}.spec-list dt{color:var(--muted)}.spec-list dd{font-variant-numeric:tabular-nums;margin:0}.project-head-row{align-items:flex-start;gap:12px;display:flex}.project-head-row .project-title{flex:1}.notes-btn{align-items:center;gap:6px;height:28px;margin-top:14px;display:inline-flex}.notes-btn .count{background:var(--on-accent);color:var(--accent);border-radius:9px;padding:0 6px;font-size:11px;font-weight:700;line-height:16px}.notes-btn.active .count{background:var(--on-accent)}.project-main{flex:1;min-height:0;display:flex}.project-main>.project-body{flex:1;min-width:0}.notes-panel{border-left:1px solid var(--border-strong);background:var(--panel);flex-direction:column;flex:none;width:380px;min-height:0;display:flex}.notes-panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:8px;padding:12px 14px 10px;display:flex}.notes-panel-head h3{align-items:center;gap:6px;margin:0 0 2px;font-size:14px;font-weight:650;display:flex}.notes-panel-body{flex-direction:column;flex:1;gap:10px;padding:12px 14px;display:flex;overflow-y:auto}.notes-panel-foot{border-top:1px solid var(--border);justify-content:flex-end;padding:10px 14px;display:flex}.notes-panel-body>*{flex-shrink:0}.notes-panel-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 14px;display:flex}@media (width<=900px){.notes-panel{z-index:30;width:min(380px,100vw);position:fixed;top:0;bottom:0;right:0;box-shadow:-10px 0 30px #0006}}.note-editor{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.note-editor .in{width:100%}.note-editor textarea.in{resize:vertical;min-height:64px;font:inherit}.note-editor .row-tight.right{margin-top:0}.row-tight.wrap{flex-wrap:wrap}.note-vis{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.note-vis .check{cursor:pointer;align-items:center;gap:5px;display:inline-flex}.seg button:disabled{opacity:.45;cursor:not-allowed}.seg button.on.seg-issue{background:var(--crit-soft);color:var(--crit);font-weight:600}.note-item{background:var(--panel-2);border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:8px;flex-direction:column;gap:5px;padding:9px 11px;display:flex}.notes-page .note-item{background:var(--panel)}.note-item.kind-check{border-left-color:var(--warn)}.note-item.kind-issue{border-left-color:var(--crit)}.note-item.resolved{border-left-color:var(--ok)}.note-item.resolved .note-title,.note-item.resolved .note-body{color:var(--muted)}.note-item.pinned{box-shadow:inset 0 0 0 1px var(--accent-soft)}.note-item.editing{background:0 0;border:0;padding:0}.note-item header{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.note-item footer{margin-top:2px}.note-title{margin:0;font-size:13.5px;font-weight:620}.note-body{word-break:break-word}.note-kind{text-transform:uppercase;letter-spacing:.05em;background:var(--panel);border:1px solid var(--border);color:var(--muted);border-radius:4px;padding:1px 6px;font-size:10.5px;font-weight:700}.note-kind.k-check{color:var(--warn);background:var(--warn-soft);border-color:#6b4f1c}.note-kind.k-issue{color:var(--crit);background:var(--crit-soft);border-color:#6b302a}.note-pin{font-size:12px}.note-place a{text-decoration:none}.note-place a:hover{text-decoration:underline}.note-tasks{flex-direction:column;gap:3px;margin:2px 0 0;padding:0;list-style:none;display:flex}.note-tasks li{align-items:center;gap:6px;font-size:12.5px;display:flex}.note-tasks a{color:var(--text);text-overflow:ellipsis;white-space:nowrap;text-decoration:none;overflow:hidden}.note-tasks a:hover{color:var(--accent)}.note-tasks a.done{color:var(--muted);text-decoration:line-through}.note-tasks .icon-btn{padding:2px}.notes-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));align-items:start;gap:12px;display:grid}.notes-filters{margin:12px 0}.notes-filters select.in{width:auto}.notes-stats{margin:12px 0 0}.dialog-sub{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:6px 0 8px;font-size:12px}.link-list{flex-direction:column;gap:2px;max-height:320px;display:flex;overflow-y:auto}.link-row{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:6px 8px;display:flex}.link-row:hover:not(:disabled){background:var(--panel-2);border-color:var(--border)}.struck{color:var(--muted);text-decoration:line-through}.note-badge{cursor:pointer;color:var(--muted);opacity:.28;vertical-align:middle;background:0 0;border:0;border-radius:4px;align-items:center;gap:2px;padding:2px 3px;font-size:11px;font-weight:700;display:inline-flex}tr:hover .note-badge,.note-badge:focus-visible,.note-badge.has,.note-badge.always{opacity:1}.note-badge.always{border:1px solid var(--border);padding:5px 6px}.note-badge:hover{background:var(--panel-2);color:var(--text)}.note-badge.has{color:var(--accent)}.note-badge.open{color:var(--warn)}.cat-video{color:#c7a8ff;background:#2c2140;border-color:#4d3a73}.cat-wireless{color:#8fe0e8;background:#173236;border-color:#2b5a60}.task-notes .comment-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ov-page{max-width:1280px}.ov-tags{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.ov-tags .badge+.badge{margin-left:0}.ov-modules{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.ov-mod{color:inherit;border-radius:12px;flex-direction:column;gap:9px;padding:15px 16px;text-decoration:none;display:flex}.ov-mod:hover{border-color:var(--accent);text-decoration:none}.ov-mod-top{align-items:center;gap:10px;display:flex}.ov-mod-top .home-sugg-icon{width:32px;height:32px}.ov-mod-top strong{flex:1;min-width:0;font-size:15px}.ov-mod-fig{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.ov-mod-fig .mono{font-size:21px}.ov-mod-line{opacity:.8}.ov-main{flex-direction:column;flex:999 560px;gap:20px;min-width:0;display:flex}.ov-card{flex:none}.ov-cols{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;padding:0 16px 12px;display:grid}.ov-col{background:var(--panel-2);border-radius:8px;flex-direction:column;gap:1px;padding:8px 11px;display:flex}.ov-col .mono{font-size:17px}.ov-progress{padding:0 16px 12px}.ov-task-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ov-task-meta .badge+.badge{margin-left:0}.ov-avs{display:inline-flex}.ov-avs .ov-av+.ov-av{margin-left:-6px}.ov-av{background:var(--border-strong,var(--border));width:26px;height:26px;color:var(--text);box-shadow:0 0 0 2px var(--panel);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.ov-chips{flex-wrap:wrap;gap:6px;padding:0 16px 12px;display:flex}.ov-chips .badge+.badge{margin-left:0}.ov-note{align-items:flex-start}.ov-kind{border-radius:50%;flex:none;width:9px;height:9px;margin-top:6px}.ov-kind-issue{background:var(--crit)}.ov-kind-check{background:var(--warn);border-radius:2px}.ov-kind-info{border:2px solid var(--muted);box-sizing:border-box}.ov-pin{color:var(--accent)}.ov-side{border-radius:12px;overflow:hidden}.ov-side h3{margin:0;font-size:15px}.ov-side .home-section-head{padding-bottom:8px}.ov-dl{grid-template-columns:120px 1fr;gap:7px 12px;margin:0;padding:0 16px 14px;font-size:13px;display:grid}.ov-dl dt{color:var(--muted)}.ov-dl dd{margin:0}.ov-pnotes{margin:0;padding:0 16px 14px}.ov-member{border-top:1px solid var(--border);align-items:center;gap:10px;padding:8px 16px;display:flex}.ov-member-name{flex:1;min-width:0}.tab-badge{font-family:var(--mono,ui-monospace, monospace);background:var(--panel-2);color:var(--muted);border-radius:999px;padding:3px 6px;font-size:11px;font-weight:700;line-height:1}.tab-badge.crit{background:var(--crit-soft);color:var(--crit)}.tab-badge.warn{background:var(--warn-soft);color:var(--warn)}.reports-layout{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.reports-mods{flex-direction:column;flex:220px;gap:4px;max-width:280px;display:flex}.reports-mods a{border:1px solid var(--border);color:var(--text);border-radius:8px;flex-direction:column;gap:1px;padding:10px 12px;font-weight:600;text-decoration:none;display:flex}.reports-mods a:hover{border-color:var(--accent);text-decoration:none}.reports-mods a.on{border-color:var(--accent);background:var(--accent-soft)}.reports-mods a .small{font-weight:400}.reports-label{text-transform:uppercase;letter-spacing:.04em;padding:0 2px 4px}.reports-soon{padding:10px 2px}.reports-main{flex-direction:column;flex:999 560px;gap:14px;min-width:0;display:flex}.reports-sections{border:0;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px 16px;margin:0 0 12px;padding:0;display:grid}.reports-sections legend{margin-bottom:6px}.reports-options{flex-wrap:wrap;align-items:flex-end;gap:12px 18px;display:flex}.reports-preview{background:#8a8a8a;border-radius:10px;padding:16px;overflow:auto}.reports-preview iframe{background:#fff;border:0;width:210mm;max-width:100%;height:297mm;margin:0 auto;display:block;box-shadow:0 2px 12px #00000059}.reports-preview.land iframe{width:297mm;height:210mm}.doc-front{flex-wrap:wrap;align-items:center;gap:6px 18px;margin:4px 0 12px;display:flex}.doc-front .field-label{flex-basis:100%}.doc-chapters{flex-direction:column;gap:4px;margin:6px 0 12px;padding:0;list-style:none;display:flex}.doc-chapters li{border:1px solid var(--border);border-radius:8px;padding:6px 10px}.doc-chapters li.on{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.doc-ch-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;min-height:32px;display:flex}.doc-ch-tools{flex-wrap:wrap;gap:4px;display:inline-flex}.doc-no{min-width:18px;color:var(--accent);font-weight:700;display:inline-block}.doc-secs{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 14px;padding:6px 0 4px 28px;display:grid}.doc-attach{margin:0 0 12px}.doc-attach summary{cursor:pointer;margin-bottom:6px;font-weight:600}.doc-attach .check{gap:6px;padding:2px 0;display:flex}.install-section{flex-direction:column;gap:14px;display:flex}.install-section .section-title{margin:0;font-size:16px}.video-cols2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;gap:14px;display:grid}.roe-box{border:1px dashed var(--border-strong);border-radius:8px;flex-direction:column;gap:3px;padding:8px 10px;display:flex}.roe-box.on{background:var(--warn-soft);border-style:solid}.video-rail details summary{cursor:pointer;color:var(--muted)}.vgrid{grid-template-columns:1fr 1fr;gap:8px 10px;margin-top:8px;display:grid}.side-view{color:#e8e8ea;background:#10151c;border-radius:8px;padding:8px}.side-view svg{width:100%;height:auto;max-height:420px;display:block}.pos-strip{background:#10151c;border-radius:8px;padding:10px}.pos-grid{gap:2px;width:100%;display:grid}.pos-grid span{background:#2c3a52;border-radius:1px}.pos-cols{text-align:center;gap:2px;margin-top:6px;font-size:11px;display:grid}.pos-cols div{flex-direction:column;align-items:center;gap:1px;display:flex}.pos-points{text-align:center;justify-content:space-between;margin:0 -14px 4px;font-size:11px;display:flex}.pos-points div{flex-direction:column;align-items:center;gap:1px;display:flex}.pos-points i{background:var(--accent);width:2px;height:14px}.pos-strip b.front,.row-tight b.front{color:#ffd60a}.pos-strip b.back,.row-tight b.back{color:#ff9f43}.tbl tr.tot td{border-top:1px solid var(--border-strong);font-weight:700}.labels-layout{grid-template-columns:minmax(300px,1.1fr) minmax(260px,.8fr) minmax(380px,1.5fr);align-items:start;gap:24px;margin-bottom:12px;display:grid}@media (width<=1100px){.labels-layout{grid-template-columns:1fr 1fr}.labels-preview{grid-column:1/-1}}@media (width<=700px){.labels-layout{grid-template-columns:1fr}}.labels-pick,.labels-opts,.labels-preview{min-width:0}.labels-opts{flex-direction:column;gap:10px;display:flex}.labels-all{border-bottom:1px solid var(--border);align-items:center;gap:6px;padding-bottom:6px;display:flex}.labels-list{max-height:max(180px,100vh - 300px);overflow:auto}.labels-row{border-bottom:1px solid var(--border);grid-template-columns:auto 52px minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 0;display:grid}.labels-id{color:var(--accent);font-weight:600}.labels-type{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.labels-frame{border:1px solid var(--border);background:#888;border-radius:8px;width:100%;height:max(240px,100vh - 290px)}.tbl tr.row-on td{background:var(--accent-soft)}.pos-cols i.sys{background:var(--muted);width:2px;height:6px}.wwb-show{border:1px solid var(--border);border-radius:8px;margin:12px 0;padding:10px 12px}.wwb-show .tbl{margin-top:6px}.wwb-show .wwb-show-sec td{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding-top:10px;font-size:12px;font-weight:700}.wwb-show .wwb-show-field{white-space:nowrap;width:140px}.wwb-show td.pre{white-space:pre-wrap}.rig-cat{padding:4px 0 2px;line-height:1.35}.crit-text{color:var(--crit);font-weight:700}.project-body>.app.tool-layout{height:100%}.tool-layout .content>.tool-page{max-width:none}.tool-layout .nav-item{text-align:left;gap:8px}.tool-layout .nav-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.tool-layout .nav-item.cur{background:var(--sidebar-hover);color:#fff;font-weight:650}.tool-layout .nav-item.act .nav-label:after{content:" ›";color:var(--sidebar-muted)}.tool-layout .nav-item.add{color:var(--accent)}.nav-count{background:var(--panel-2);min-width:20px;height:18px;color:var(--sidebar-text);border-radius:9px;flex:none;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:600;display:inline-flex}.nav-count.warn{background:var(--warn);color:#111}.nav-count.crit{background:var(--crit);color:#fff}.nav-count.ok{background:var(--ok);color:#fff}.nav-item.on .nav-count:not(.warn):not(.crit):not(.ok){color:var(--accent);background:#000000bf}.tool-layout.dragging .content{outline:3px dashed var(--brand-yellow);outline-offset:-8px}.nav-sub{text-align:left;width:100%;color:var(--sidebar-text);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 10px;font-size:12px;line-height:1.35;display:block}.nav-sub:hover{background:var(--sidebar-hover)}.nav-sub.on{background:var(--sidebar-hover);color:#fff;font-weight:650}.nav-sub small{color:var(--sidebar-muted);font-weight:400;display:block}.tool-cols{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));align-items:start;gap:16px;display:grid}@media (width<=900px){.tool-cols{grid-template-columns:1fr}.nav-sub{white-space:nowrap}}.tool-layout .nav-item.wall .nav-label:after,.tool-layout .nav-item.add .nav-label:after{content:none}.tool-layout .nav-item.wall .nav-count{color:var(--sidebar-muted);background:0 0;font-weight:400}.video-full{flex-direction:column;gap:16px;min-width:0;display:flex}.video-full>.video-results{flex-direction:column;gap:16px;display:flex}.tool-layout .tool-page.home-page{gap:20px;max-width:none;margin:0}.infosheet-body{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.infosheet .side-view{max-width:760px}.infosheet-why{flex-direction:column;gap:6px;margin:10px 0 0;padding-left:18px;line-height:1.45;display:flex}.modules-pick{border:0;min-width:0;margin:0;padding:0}.modules-pick legend{margin-bottom:6px;padding:0}.modules-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.module-opt{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.module-opt.on{border-color:var(--accent,#ffd400)}.module-opt>span{flex-direction:column;gap:2px;display:flex}.module-opt input{margin-top:2px}.pj-side{width:100%;overflow:hidden}.pj-side svg{width:100%;height:auto;max-height:460px;font-family:inherit;display:block}.stat-value.crit{color:var(--crit)}.video-results tr.sel td{background:var(--accent-soft)}.mini-table{flex-direction:column;align-items:flex-start;gap:6px;margin:10px 0 4px;display:flex}.mini-table table{width:100%}.mini-table td .in{width:100%;min-width:60px}@media (width>=901px){.project-body>.app.planner{grid-template-rows:minmax(0,1fr)}.project-body>.app.planner>.main,.project-body>.app.planner>.sidebar{min-height:0}.app.planner>.main>.content>.page:not(.split):not(.topo){box-sizing:border-box;height:100%;min-height:0;padding-bottom:20px}.app.planner>.main>.content>.page:not(.split):not(.topo)>*{flex-shrink:0}.app.planner>.main>.content>.page:not(.split):not(.topo)>:has(.tbl-wrap):not(.wl-split):not(.modal-bg):not(.modal-bg *){flex:0 auto;min-height:260px}.app.planner .page:not(.split):not(.topo) :has(.tbl-wrap):not(.wl-split):not(.page):not(.modal-bg):not(.modal-bg *){flex-direction:column;min-height:0;display:flex}.app.planner .page:not(.split):not(.topo) :has(.tbl-wrap):not(.wl-split):not(.modal-bg):not(.modal-bg *)>:not(:has(.tbl-wrap)):not(.tbl-wrap){flex-shrink:0}.app.planner .page:not(.split):not(.topo) :has(.tbl-wrap):not(.modal-bg):not(.modal-bg *)>:has(.tbl-wrap):not(.modal-bg):not(.modal-bg *){flex:0 auto}.app.planner .page:not(.split):not(.topo) .tbl-wrap:not(.modal-bg *){flex:0 auto;min-height:0;margin:0;overflow:auto}.app.planner .page:not(.split):not(.topo)>.wl-split:has(.tbl-wrap){flex-wrap:nowrap;flex:0 auto;align-items:stretch;min-height:300px}.app.planner .page:not(.split):not(.topo)>.wl-split>.wl-side{min-height:0;overflow-y:auto}.app.planner .page .tbl-wrap:not(.modal-bg *)>.tbl>thead th{z-index:3;background:var(--panel);box-sizing:border-box;height:32px;box-shadow:inset 0 -1px 0 var(--border);position:sticky;top:0}.app.planner .page .tbl-wrap>.tbl tr.grp-row td{z-index:2;position:sticky;top:32px}}.tool-layout .tool-page.diagram-page{box-sizing:border-box;height:100%;padding-bottom:14px}.tool-layout .tool-page.diagram-page>.dg-wrap{flex:1 1 0!important;min-height:520px!important}.dg-wrap{grid-template-columns:250px minmax(0,1fr) 300px;gap:12px;min-height:0;display:grid}.dg-lib,.dg-side{min-height:0;padding:12px;overflow-y:auto}.dg-lib{flex-direction:column;gap:6px;display:flex}.dg-lib-h{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-top:4px;font-size:11px}.dg-lib-list{flex-direction:column;gap:4px;min-height:0;display:flex}.dg-lib-item{border:1px solid var(--border);background:var(--panel-2);cursor:grab;border-radius:7px;align-items:center;gap:6px;padding:6px 8px;display:flex}.dg-lib-item.used{cursor:default;opacity:.8}.dg-lib-text{flex:1;min-width:0}.dg-lib-name{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.dg-lib-item .small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dg-center{flex-direction:column;gap:8px;min-width:0;min-height:0;display:flex}.dg-bar{flex-wrap:wrap;flex:none;gap:6px}.dg-canvas{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);flex:1 1 0;min-height:260px;position:relative;overflow:auto}.dg-empty{text-align:center;pointer-events:none;max-width:440px;font-size:13px;position:absolute;top:40px;left:50%;transform:translate(-50%)}.dg-svg{-webkit-user-select:none;user-select:none;display:block}.dg-svg.wiring{cursor:crosshair}.dg-dot{fill:var(--border)}.dg-area rect{fill:none;stroke:var(--border-strong);stroke-dasharray:6 4}.dg-area text{fill:var(--muted);font-size:11px}.dg-node .dg-box{fill:var(--panel);stroke:var(--border-strong);stroke-width:1.2px;cursor:move}.dg-node.sel .dg-box{stroke:var(--accent);stroke-width:2px}.dg-node.bad .dg-box{stroke:var(--crit)}.dg-node.warn:not(.sel) .dg-box{stroke:var(--warn)}.dg-sep{stroke:var(--border)}.dg-name{fill:var(--text);cursor:move;font-size:12px;font-weight:650}.dg-model{fill:var(--muted);cursor:move;font-size:10px}.dg-port{fill:var(--sidebar-text);pointer-events:none;font-size:10px}.dg-fmt{fill:var(--accent);font-family:var(--mono);font-size:9px}.dg-pin{fill:var(--bg);stroke:var(--muted);stroke-width:1.5px;cursor:crosshair}.dg-pin.on{fill:var(--muted)}.dg-pin.net{stroke:#6aa7ff}.dg-pin.net.on{fill:#6aa7ff}.dg-pin:hover{stroke:var(--accent);stroke-width:2.5px}.dg-link{cursor:pointer}.dg-link .dg-hit{fill:none;stroke:#0000;stroke-width:10px}.dg-wire{fill:none;stroke:#a2a5ad;stroke-width:2px;stroke-linejoin:round}.dg-link.warn .dg-wire{stroke:var(--warn);stroke-dasharray:6 4}.dg-link.bad .dg-wire{stroke:var(--crit)}.dg-link.sel .dg-wire{stroke:var(--accent);stroke-width:3px}.dg-link.off .dg-wire{stroke-dasharray:4 3}.dg-link text{fill:var(--muted);font-family:var(--mono);font-size:9.5px}.dg-link.sel text{fill:var(--accent)}.dg-off-text{cursor:pointer;text-decoration:underline}.dg-wire.drawing{stroke:var(--accent);stroke-dasharray:5 4;pointer-events:none}.dg-checks{flex:none;max-height:30%;overflow-y:auto}.dg-checks-head{width:100%;color:var(--text);font:inherit;cursor:pointer;text-align:left;background:0 0;background:var(--panel);border:0;align-items:center;gap:8px;padding:8px 12px;display:flex;position:sticky;top:0}.dg-check-list{margin:0;padding:0;list-style:none}.dg-check-list li button{border:0;border-top:1px solid var(--border);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;align-items:flex-start;gap:10px;padding:7px 12px;font-size:12.5px;display:flex}.dg-check-list li button:hover{background:var(--panel-2)}.dg-side{flex-direction:column;display:flex}.dg-insp{flex-direction:column;gap:8px;display:flex}.dg-insp-h{justify-content:space-between;align-items:center;display:flex}.dg-ports{border:1px solid var(--border);border-radius:6px;flex-direction:column;max-height:260px;display:flex;overflow-y:auto}.dg-prow{border:0;border-bottom:1px solid var(--border);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:74px 1fr auto;align-items:center;gap:6px;padding:4px 8px;font-size:12px;display:grid}.dg-prow:last-child{border-bottom:0}.dg-prow:hover{background:var(--panel-2)}.dg-prow.on{background:var(--accent-soft)}.dg-prow .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dg-fmt-ed{border:1px solid var(--accent);background:var(--panel-2);border-radius:6px;flex-direction:column;gap:6px;padding:8px;display:flex}.dg-own summary{cursor:pointer;color:var(--muted);font-size:12.5px}.dg-own[open] summary{margin-bottom:6px}.dg-net{border:1px solid var(--border);border-radius:6px;padding:8px}.dg-route{background:var(--panel-2);border-radius:6px;flex-direction:column;gap:3px;padding:8px;display:flex}.io-tbl td{padding:3px 4px}.io-tbl .in.small{height:26px}@media (width<=1100px){.dg-wrap{grid-template-columns:1fr}.dg-canvas{min-height:460px}}.conn-strip{flex-wrap:wrap;align-items:center;gap:6px;padding:0 12px 10px;display:flex}.conn-chip{border:1px solid var(--border-strong);background:var(--panel-2);border-radius:999px;align-items:baseline;gap:4px;padding:2px 9px;font-size:12.5px;display:inline-flex}.conn-chip strong{color:var(--accent)}.conn-chip.none{color:var(--warn);border-style:dashed}.area-load-tbl{table-layout:fixed;width:100%}.area-load-tbl th:first-child{width:auto}.area-load-tbl th:nth-child(2){width:44px}.area-load-tbl th:nth-child(3),.area-load-tbl th:nth-child(4){width:78px}.area-load-tbl th.pct-col{width:22%;min-width:0}.area-load-tbl td{text-overflow:ellipsis;overflow-wrap:break-word;overflow:hidden}.area-load-tbl th{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.area-load-tbl td .utilbar{width:100%;min-width:0}.area-load-tbl td .utilbar-text{white-space:nowrap}.pixelmap{flex-direction:column;gap:10px;min-width:0;display:flex}.pixelmap-head{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.pixelmap-head h3{margin:0}.pixelmap-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.pixelmap-frame{border:1px solid var(--border);border-radius:var(--radius);background:#0b0c0e;justify-content:center;padding:10px;display:flex}.pixelmap-canvas{image-rendering:auto;width:auto;max-width:100%;height:auto;max-height:70vh;display:block}button.unit-link{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px;font-weight:700}button.unit-link:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.unit-pop{flex-direction:column;gap:14px;min-width:0;display:flex}.unit-pop h4{align-items:center;gap:6px;margin:0 0 6px;font-size:13px;display:flex}.unit-pop section{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.unit-pop section>.tbl-scroll{align-self:stretch;overflow-x:auto}.unit-pop-meters{grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));align-items:center;gap:8px;display:grid}.unit-pop-meters .phase-bar{align-items:center;gap:6px;display:flex}.unit-pop-meters .phase-bar .utilbar{flex:1}.unit-pop-picker{border:1px solid var(--border);border-radius:8px;flex-direction:column;align-self:stretch;gap:4px;max-height:280px;padding:8px 10px;display:flex;overflow-y:auto}.unit-pop-picker .check{align-items:center;gap:10px;display:flex}.unit-pop-picker .grow{flex:1;min-width:0}@media (width<=700px){.unit-pop-meters{grid-template-columns:1fr}}.btn+.btn{margin-left:4px}.seg .btn+.btn,[role=radiogroup] .btn+.btn,.btn.block+.btn.block{margin-left:0}.note-badge.always{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.note-badge.always:hover{background:var(--accent);color:var(--on-accent);filter:brightness(1.08)}.labels-opts .check{white-space:normal;align-items:flex-start;gap:6px;line-height:1.3}.labels-opts .in,.labels-pick .in{box-sizing:border-box;width:100%;min-width:0}.labels-preview>.row-tight{flex-wrap:wrap;gap:4px 12px}.share-page{background:var(--bg);min-height:100vh;color:var(--text)}.share-top{z-index:5;color:#fff;border-bottom:3px solid var(--accent);background:#111;align-items:center;gap:14px;padding:8px 18px;display:flex;position:sticky;top:0}.share-top img{width:auto;height:30px;display:block}.share-head{flex-direction:column;min-width:0;line-height:1.2;display:flex}.share-head strong{white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.share-head span{color:#cfcfcf;font-size:12.5px}.share-stamp{color:#111;background:var(--accent);white-space:nowrap;border-radius:4px;margin-left:auto;padding:3px 8px;font-size:12px}.share-main{flex-direction:column;gap:12px;max-width:1500px;margin:0 auto;padding:18px;display:flex}.share-title{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.share-title h1{margin:0 0 2px;font-size:20px}.share-tools{flex-wrap:wrap}.share-tbl{overflow-x:auto}.share-sub td{border-top:0!important;padding-top:0!important}.share-sub ul{columns:2 320px;column-gap:24px;margin:0 0 6px;padding:0;font-size:12.5px;list-style:none}.share-sub li{break-inside:avoid;padding:1px 0}.share-msg{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:520px;margin:12vh auto 0;display:flex}.share-msg h2{margin:0;font-size:20px}.share-form{flex-direction:column;gap:14px;display:flex}.share-block{border:0;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.share-checks{flex-wrap:wrap;gap:4px 16px;display:flex}.share-values{border:1px solid var(--border);border-radius:6px;max-height:160px;padding:6px 8px;overflow:auto}.share-made{flex-wrap:wrap;align-items:flex-start;gap:18px;display:flex}.share-qr{border-radius:6px;flex:none}@media (width<=640px){.share-top{gap:10px;padding:6px 10px}.share-stamp{display:none}.share-main{padding:10px}}@media print{.share-page{color:#000;background:#fff}.share-top{color:#000;background:#fff;border-bottom:2px solid #000;position:static}.share-head span{color:#333}.share-stamp{background:0 0;border:1px solid #000}.share-page .no-print{display:none!important}.share-page .card{box-shadow:none;background:#fff;border:0}.share-page .tbl,.share-page .tbl td,.share-page .tbl th{color:#000!important;background:#fff!important}}.share-block .seg{align-self:flex-start}.share-tbl tr:not(.share-sub)>td,.share-tbl th{white-space:nowrap}.used-by{margin-top:3px;line-height:1.35}
