:root{--bg: #f6f5f4;--surface: #ffffff;--ink: #1b1b1b;--muted: #5d5a58;--line: #dedad7;--soft: #f0eeec;--accent: #c62828;--accent-soft: #fbe9e7;--on-accent: #ffffff;--n: #1f5fbf;--live: #FFD43B;--good: #2f7d3a;--good-soft: #e5f3e7;--warn: #a86400;--warn-soft: #fbf0dc;--bad: #9f1239;--bad-soft: #fce7ef;--l1: #7a4a22;--l2: #1b1b1b;--l3: #8b9097;--pe-g: #2f8f3a;--pe-y: #e2c21a;--f-display: "Commissioner", system-ui, sans-serif;--f-body: "IBM Plex Sans", system-ui, sans-serif;--f-mono: "JetBrains Mono", ui-monospace, monospace;color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #121212;--surface: #1c1b1a;--ink: #f0eeec;--muted: #a8a29e;--line: #34302d;--soft: #242220;--accent: #ff6b5e;--accent-soft: #3a1714;--on-accent: #1a0806;--n: #6aa2ff;--good: #5cc06a;--good-soft: #15291a;--warn: #f0b04a;--warn-soft: #2d2410;--bad: #ff8a80;--bad-soft: #351816;--l1: #b07a4c;--l2: #d6d9de;--l3: #7d848c;color-scheme:dark}}:root[data-theme=dark]{--bg: #121212;--surface: #1c1b1a;--ink: #f0eeec;--muted: #a8a29e;--line: #34302d;--soft: #242220;--accent: #ff6b5e;--accent-soft: #3a1714;--on-accent: #1a0806;--n: #6aa2ff;--good: #5cc06a;--good-soft: #15291a;--warn: #f0b04a;--warn-soft: #2d2410;--bad: #ff8a80;--bad-soft: #351816;--l1: #b07a4c;--l2: #d6d9de;--l3: #7d848c;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font:15.5px/1.5 var(--f-body);-webkit-text-size-adjust:100%}button,input,select,textarea{font:inherit;color:inherit}h1,h2{font-family:var(--f-display);margin:0;text-wrap:balance;line-height:1.2}h1{font-size:clamp(22px,4vw,28px);font-weight:800;letter-spacing:-.01em}h2{font-size:17px;font-weight:600}p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.busbar{display:grid;grid-template-rows:repeat(5,3px);gap:2px}.busbar i{display:block}.busbar i:nth-child(1){background:var(--l1)}.busbar i:nth-child(2){background:var(--l2)}.busbar i:nth-child(3){background:var(--l3)}.busbar i:nth-child(4){background:var(--n)}.busbar i:nth-child(5){background:repeating-linear-gradient(90deg,var(--pe-g) 0 14px,var(--pe-y) 14px 28px)}.bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:10px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.logo{background:none;border:0;font:800 21px var(--f-display);cursor:pointer;padding:0;color:var(--ink)}.logo b{color:var(--accent)}.bar nav{display:flex;gap:4px}.bar nav button{background:none;border:0;padding:8px 12px;border-radius:8px;cursor:pointer;color:var(--muted);font-weight:500}.bar nav button.on{background:var(--accent-soft);color:var(--accent)}.banner{padding:10px 16px;font-size:14px}.banner.warn{background:var(--warn-soft);color:var(--warn)}.main{max-width:920px;margin:0 auto;padding-block:20px 80px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.stack{display:flex;flex-direction:column;gap:14px;min-width:0}.stack.tight{gap:8px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.row.nowrap{flex-wrap:nowrap}.head-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.muted{color:var(--muted)}.small{font-size:13.5px}.err{color:var(--bad);font-size:14px}.eyebrow{font:600 12px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px;min-width:0}.card.note{background:var(--accent-soft);border-color:transparent;display:grid;gap:10px}.ok-box{background:var(--good-soft);border-color:transparent;color:var(--good)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.wide{grid-column:1 / -1}.f{display:flex;flex-direction:column;gap:5px;min-width:0}.f>span{font-size:13px;font-weight:500;color:var(--muted)}.f small{font-size:12.5px;color:var(--muted)}.f.end{justify-content:flex-end}input:not([type=checkbox]),select,textarea{width:100%;min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:var(--bg);font-size:16px}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}input.bad{border-color:var(--bad);background:var(--bad-soft)}textarea{resize:vertical}.chk{display:flex;gap:9px;align-items:flex-start;cursor:pointer;font-size:15px}.chk input{width:20px;height:20px;margin-top:1px;accent-color:var(--accent);flex:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1.5px solid var(--accent);background:var(--surface);color:var(--accent);font-weight:600;padding:10px 16px;border-radius:10px;cursor:pointer;text-decoration:none;min-height:44px}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.ghost{border-color:var(--line);color:var(--ink)}.btn.small{min-height:36px;padding:6px 12px;font-size:14px}.btn:disabled{opacity:.55;cursor:progress}.link{background:none;border:0;color:var(--accent);cursor:pointer;padding:6px 2px;font-size:14px;font-weight:500}.link.danger{color:var(--bad)}.seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--bg)}.seg button{border:0;background:none;padding:9px 12px;cursor:pointer;font-size:14px;color:var(--muted);border-right:1px solid var(--line);min-height:40px}.seg button:last-child{border-right:0}.seg button.on{background:var(--accent);color:var(--on-accent);font-weight:600}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--line);background:var(--surface);padding:7px 12px;border-radius:999px;cursor:pointer;font-size:14px}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.chip.add{border-style:dashed;color:var(--accent)}.empty{text-align:center;padding:32px 16px;color:var(--muted);display:grid;gap:6px;border:1.5px dashed var(--line);border-radius:12px}.plist{list-style:none;padding:0;margin:0;display:grid;gap:10px}.pcard{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:0}.pmain{flex:1;min-width:0;text-align:left;background:none;border:0;padding:14px;cursor:pointer;display:grid;gap:2px}.ptitle{font-weight:600;font-size:16.5px}.pmeta{color:var(--muted);font-size:13.5px;overflow-wrap:anywhere}.pside{padding:14px;display:grid;gap:6px;justify-items:end}.pill{font:600 12px var(--f-mono);padding:3px 9px;border-radius:999px;white-space:nowrap}.pill.good{background:var(--good-soft);color:var(--good)}.pill.bad{background:var(--warn-soft);color:var(--warn)}.steps{list-style:none;padding:0;margin:0;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;position:sticky;top:calc(env(safe-area-inset-top,0px) + 57px);z-index:4;background:var(--bg);padding-block:8px}.steps button{display:flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid var(--line);background:var(--surface);padding:8px 12px;border-radius:10px;cursor:pointer;font-weight:500;position:relative}.steps button.on{border-color:var(--ink);background:var(--surface);color:var(--ink);box-shadow:inset 0 -3px 0 var(--accent)}.steps .n{font:600 12px var(--f-mono);color:var(--muted)}.steps button.on .n{color:var(--ink)}.steps .dot{width:7px;height:7px;border-radius:50%;background:var(--bad)}.pager{display:flex;justify-content:space-between;gap:10px;margin-top:8px}.circuit summary{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;cursor:pointer;list-style:none}.circuit summary::-webkit-details-marker{display:none}.circuit[open] summary{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}.cno{font:600 14px var(--f-mono);color:var(--accent)}.clabel{font-weight:600;min-width:0;overflow-wrap:anywhere}.clabel small{color:var(--muted);font-weight:400}.cspec{font:13px var(--f-mono);color:var(--muted);text-align:right}.tag-w{color:var(--warn);font-weight:600}.loads{font:13px var(--f-mono);color:var(--muted)}.diagram{padding:8px}.sl-scroll{overflow-x:auto}.sl-t{font:10.5px var(--f-mono);fill:var(--ink)}.sl-t.b{font-weight:600}.sl-t.m{fill:var(--muted)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.mtable{border-collapse:collapse;width:100%;min-width:620px;font-size:14px}.mtable th{text-align:left;font-size:12.5px;color:var(--muted);font-weight:500;padding:9px 8px;border-bottom:1px solid var(--line);white-space:nowrap}.mtable td{padding:6px 8px;border-bottom:1px solid var(--soft);vertical-align:middle}.mtable td input{padding:8px;font:15px var(--f-mono);text-align:center}.mtable .num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.mtable .lbl{min-width:150px}.mtable .lbl small{display:block;color:var(--muted);font-size:12px}.comps{display:grid;gap:0;padding:0}.comp{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--soft)}.comp:last-child{border-bottom:0}.comp .ck{font:600 13px var(--f-mono);color:var(--muted)}.comp.fail{background:var(--bad-soft)}.comp .seg button{padding:7px 9px;font-size:13px;min-height:36px}.totals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.totals div{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:grid}.totals span{font-size:12.5px;color:var(--muted)}.totals strong{font:600 18px var(--f-mono);font-variant-numeric:tabular-nums}.devices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.dev{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--soft)}.dev.has .dl{font-weight:600}.dl small{display:block;color:var(--muted);font-size:12px;font-weight:400}.stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:9px;overflow:hidden;flex:none}.stepper button{width:38px;height:38px;border:0;background:var(--soft);font-size:18px;cursor:pointer}.stepper b{min-width:34px;text-align:center;font:600 15px var(--f-mono)}details.card>summary{cursor:pointer;font-weight:600}details.card[open]>summary{margin-bottom:12px}.stamp{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.stamp img{max-width:180px;max-height:110px;background:repeating-conic-gradient(var(--soft) 0 25%,transparent 0 50%) 0 0 / 14px 14px;border-radius:8px}.stamp-empty{width:180px;height:90px;border:1.5px dashed var(--line);border-radius:8px;display:grid;place-items:center;color:var(--muted);font-size:14px}.issues{list-style:none;padding:0;margin:0;display:grid;gap:8px}.issues li{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;font-size:14.5px}.issues li.error{background:var(--bad-soft)}.issues li.warn{background:var(--warn-soft)}.badge{font:600 11px var(--f-mono);text-transform:uppercase;letter-spacing:.05em}.issues li.error .badge{color:var(--bad)}.issues li.warn .badge{color:var(--warn)}.status{font-weight:600;color:var(--good)}@media (max-width: 680px){.grid,.grid.three,.grid.four,.devices{grid-template-columns:minmax(0,1fr)}.comp{grid-template-columns:38px 1fr}.comp .seg{grid-column:1 / -1}.circuit summary{grid-template-columns:28px 1fr}.cspec{grid-column:2;text-align:left}.issues li{grid-template-columns:1fr;gap:4px}.pcard{flex-direction:column;align-items:stretch}.pside{justify-items:start;padding-top:0;grid-auto-flow:column;justify-content:space-between;align-items:center}.totals strong{font-size:15px}}:root{--grid: #e7ebf1;--grid-strong: #d3d9e2;--wall: #3a3f46}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--grid: #1d2530;--grid-strong: #29323f;--wall: #b9c2cd}}:root[data-theme=dark]{--grid: #1d2530;--grid-strong: #29323f;--wall: #b9c2cd}.ped{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px;min-width:0}.ped.full{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;border-radius:0;border:0;padding-top:max(10px,env(safe-area-inset-top,0px));padding-bottom:max(10px,env(safe-area-inset-bottom,0px));padding-left:max(10px,env(safe-area-inset-left,0px));padding-right:max(10px,env(safe-area-inset-right,0px));overflow-y:auto}.ped-top{display:flex;gap:8px;flex-wrap:wrap;justify-content:space-between;align-items:center}.ped .tools{max-width:100%;overflow-x:auto;flex-wrap:nowrap}.ped .tools button{white-space:nowrap}.ped-actions{gap:6px}.ped-hint{font-size:13.5px;color:var(--muted);min-height:20px}.ped-canvas{position:relative;height:min(62vh,620px);border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}.ped.full .ped-canvas{height:calc(100vh - 230px);min-height:320px}.ped-canvas svg{width:100%;height:100%;display:block;cursor:crosshair;user-select:none;-webkit-user-select:none}.ped-room{fill:var(--muted);font-family:var(--f-body);font-weight:600;cursor:pointer}.ped-area{fill:var(--muted);font-family:var(--f-mono)}.ped-dim{fill:var(--accent);font-family:var(--f-mono);font-weight:600;paint-order:stroke;stroke:var(--surface);stroke-width:4px}.ped-symt{fill:var(--ink);font-family:var(--f-mono)}.ped-cno{font-family:var(--f-mono);font-weight:600}.ped-text{fill:var(--ink);font-family:var(--f-body);cursor:pointer}.ped-text.on{fill:var(--accent)}.ped-sym{cursor:pointer}.ped-zoom{position:absolute;right:8px;bottom:8px;display:grid;gap:6px}.ped-zoom button{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-size:20px;cursor:pointer}.ped-finish{position:absolute;left:50%;transform:translate(-50%);bottom:10px}.ped-panel{display:grid;gap:10px}.palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px}.symb{display:grid;justify-items:center;gap:2px;padding:8px 4px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);cursor:pointer;font-size:12px;line-height:1.2;text-align:center;position:relative}.symb.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.symb b{position:absolute;top:4px;right:6px;font:600 11px var(--f-mono);color:var(--accent)}.ped-more summary{cursor:pointer;font-weight:500;color:var(--muted);padding:4px 0}.ped-more[open] summary{margin-bottom:8px}.ped .f input[type=range]{padding:0}.ped-strip{display:grid;gap:8px;min-width:0}.ped-strip:empty{display:none}.ped-strip .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.ped-strip .chip{white-space:nowrap;padding:6px 11px}.ped-strip .palette{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.ped-strip .symb{flex:0 0 86px;font-size:11.5px;padding:6px 3px}.ped-circ select{padding:8px 10px}.ped>*{flex-shrink:0}.banner:not(.warn){background:var(--soft);color:var(--ink)}.main.auth{display:grid;place-items:start center;padding-top:6vh}.auth-card{width:100%;max-width:420px;padding:22px}.logo.big{font-size:30px;cursor:default}.auth-card .seg{display:flex}.auth-card .seg button{flex:1}.status.err{color:var(--bad)}.warn-text{color:var(--warn);font-weight:500}.sync{display:inline-flex;align-items:center;gap:6px;margin-left:auto;margin-right:6px;background:none;border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:12.5px;color:var(--muted);cursor:pointer;white-space:nowrap}.sync i{width:8px;height:8px;border-radius:50%;background:var(--muted);flex:none}.sync.good i{background:var(--good)}.sync.off i{background:var(--warn)}.sync.bad i{background:var(--bad)}.sync.bad{color:var(--bad)}.sync.busy i{background:var(--accent);animation:syncp 1s ease-in-out infinite alternate}@keyframes syncp{0%{opacity:.3}to{opacity:1}}@media (max-width: 560px){.sync span{display:none}.sync{padding:6px}.bar nav button{padding:8px}}.kv{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;border-bottom:1px solid var(--soft);padding-bottom:8px}.kv:last-child{border-bottom:0;padding-bottom:0}.kv>span{color:var(--muted);font-size:14px}.kv strong{overflow-wrap:anywhere}.team,.files{list-style:none;margin:0;padding:0;display:grid;gap:0}.team li,.files li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding:10px 0;border-top:1px solid var(--soft)}.team li.off{opacity:.6}.team select{width:auto;padding:6px 8px;font-size:14px}.fmain{background:none;border:0;padding:0;text-align:left;cursor:pointer;display:grid;gap:2px;min-width:0;flex:1 1 220px;color:var(--ink)}.fname{color:var(--accent);font-weight:500;overflow-wrap:anywhere}.pill.lock{background:var(--soft);color:var(--muted)}code.secret{font:600 18px var(--f-mono);background:var(--surface);padding:6px 10px;border-radius:8px;letter-spacing:.04em;-webkit-user-select:all;user-select:all}.wordmark{display:inline-flex;align-items:center;gap:8px;line-height:1}.wordmark .mark{flex:none;border-radius:22%}.wordmark .w-smart{font-weight:600}.logo b{font-weight:800}.logo.big{font-size:34px}.card.note{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--live)}.banner.bad{background:var(--bad-soft);color:var(--bad)}.link.subtle{color:var(--muted);font-weight:400}.due{color:var(--warn);font-weight:600}.search,.toolbar input[type=search]{max-width:520px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.tiles.four{grid-template-columns:repeat(4,minmax(0,1fr))}.tile{display:grid;gap:2px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;color:var(--ink);min-width:0;font:inherit}button.tile{cursor:pointer}.tile>span{font-size:12.5px;color:var(--muted);font-weight:500}.tile b{font:800 26px/1.15 var(--f-display);font-variant-numeric:tabular-nums}.tile small{color:var(--muted);font-size:12.5px}.tile.on{border-color:var(--ink);box-shadow:inset 0 -3px 0 var(--accent)}.tile.warn b{color:var(--warn)}@media (max-width: 640px){.tiles.four{grid-template-columns:repeat(2,minmax(0,1fr))}.tile b{font-size:22px}}.pside{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.toolbar input{flex:1 1 260px}.pill.plan{background:var(--soft);color:var(--ink)}.pill.st-active{background:var(--good-soft);color:var(--good)}.pill.st-trial{background:var(--accent-soft);color:var(--accent)}.pill.st-expired{background:var(--warn-soft);color:var(--warn)}.pill.st-suspended{background:var(--bad-soft);color:var(--bad)}.main:has(.admin){max-width:1240px}.ttable{display:grid;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}.tr{display:grid;grid-template-columns:minmax(220px,2.2fr) 1.3fr 1fr .6fr .5fr .7fr 1fr;gap:10px;align-items:center;padding:10px 14px;border-top:1px solid var(--soft);font-size:14px;font-variant-numeric:tabular-nums}.tr.th{border-top:0;background:var(--soft);font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.tr.sel{background:color-mix(in srgb,var(--accent-soft) 45%,var(--surface))}.tr .soon{color:var(--warn);font-weight:600}.tmain{background:none;border:0;padding:0;text-align:left;cursor:pointer;display:grid;gap:2px;min-width:0;color:var(--ink);font:inherit}.tname{font-weight:600;font-size:15px;overflow-wrap:anywhere}.tmain:hover .tname{color:var(--accent)}.tdetail{grid-column:1 / -1;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;margin:4px 0 6px;display:grid;gap:14px}.tdetail h2{font-size:20px}.tdetail h3{font-size:15px;margin:0}.tcols{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.audit{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:14px}.newt h2{font-size:20px}@media (max-width: 900px){.tcols{grid-template-columns:1fr}.tr.th{display:none}.tr{grid-template-columns:1fr 1fr;padding:12px 14px}.tr .tmain{grid-column:1 / -1}.tr>span[data-l]:before{content:attr(data-l);display:block;font-size:11.5px;color:var(--muted)}}.bottomnav{display:none}@media (max-width: 640px){.bar .topnav{display:none}.bottomnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:6;background:var(--surface);border-top:1px solid var(--line);padding:4px max(8px,env(safe-area-inset-right,0px)) calc(4px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px))}.bottomnav button{flex:1;display:grid;justify-items:center;gap:2px;background:none;border:0;padding:6px 2px;color:var(--muted);font-size:11.5px;font-weight:500;cursor:pointer;border-radius:10px}.bottomnav button.on{color:var(--accent)}.bottomnav button.on svg{stroke-width:2.3}.shell{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}.sync{margin-left:auto}}:root{--f-display: "Manrope", system-ui, sans-serif;--f-body: "Manrope", system-ui, sans-serif;--bg: #f2f3f6;--surface: #ffffff;--surface-2: #f7f8fa;--ink: #10131a;--muted: #5b6270;--line: #e1e4ea;--soft: #eef0f4;--accent: #d42a2a;--accent-2: #ff5a3c;--accent-soft: #fdecea;--on-accent: #ffffff;--live: #ffd43b;--head: #0d1016;--head-ink: #e9edf3;--head-muted: #8d96a6;--head-line: #1e2430;--paper: #fbf7ef;--paper-grid: #efe6d6;--room-a: #f1e3cc;--room-b: #e8d6b8;--room-c: #f6ecdc;--room-w: #dfe7e6;--twall: #2b2622;--shadow: 0 1px 2px rgba(16, 19, 26, .05), 0 6px 20px -8px rgba(16, 19, 26, .12);--glow: 0 6px 18px -6px rgba(212, 42, 42, .55);--r-btn: 6px;--r-card: 12px;--canvas: #ffffff}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0a0c11;--surface: #12151c;--surface-2: #171b23;--ink: #eef1f6;--muted: #98a1b2;--line: #232835;--soft: #1a1e27;--accent: #ff4d43;--accent-2: #ff7a45;--accent-soft: #2a1213;--on-accent: #ffffff;--head: #07090d;--head-line: #1a1f29;--shadow: 0 1px 2px rgba(0,0,0,.4), 0 8px 24px -10px rgba(0,0,0,.6);--glow: 0 6px 20px -6px rgba(255, 77, 67, .55);--canvas: #12151c;--paper: #171511;--paper-grid: #24201a;--room-a: #3a3024;--room-b: #43372a;--room-c: #2f281f;--room-w: #24302f;--twall: #e6dccb}}:root[data-theme=dark]{--bg: #0a0c11;--surface: #12151c;--surface-2: #171b23;--ink: #eef1f6;--muted: #98a1b2;--line: #232835;--soft: #1a1e27;--accent: #ff4d43;--accent-2: #ff7a45;--accent-soft: #2a1213;--on-accent: #ffffff;--head: #07090d;--head-line: #1a1f29;--shadow: 0 1px 2px rgba(0,0,0,.4), 0 8px 24px -10px rgba(0,0,0,.6);--glow: 0 6px 20px -6px rgba(255, 77, 67, .55);--canvas: #12151c;--paper: #171511;--paper-grid: #24201a;--room-a: #3a3024;--room-b: #43372a;--room-c: #2f281f;--room-w: #24302f;--twall: #e6dccb}body{font:500 15.5px/1.55 var(--f-body);letter-spacing:-.003em;background:radial-gradient(1200px 500px at 85% -10%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 60%),var(--bg);background-attachment:fixed}h1{font-weight:800;letter-spacing:-.025em;font-size:clamp(24px,3vw,32px)}h2{font-weight:750;font-size:18px;letter-spacing:-.01em}h3,h4{margin:0;font-weight:700}.eyebrow{font:700 11.5px var(--f-mono);letter-spacing:.12em}.f>span{font-weight:650;font-size:12.5px;letter-spacing:.01em;color:var(--muted);text-transform:none}.bar{background:color-mix(in srgb,var(--head) 92%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--head-line);color:var(--head-ink);padding-block:9px}.bar .logo,.bar .w-smart{color:var(--head-ink)}.bar .logo b{color:#ff5148}.bar nav button{color:var(--head-muted);font-weight:650;border-radius:var(--r-btn);padding:8px 14px;transition:color .15s,background .15s}.bar nav button:hover{color:var(--head-ink);background:#ffffff0d}.bar nav button.on{color:#fff;background:#ffffff12;box-shadow:inset 0 -2px #ff5148}.sync{border-color:var(--head-line);color:var(--head-muted);background:#ffffff08}.busbar{opacity:.95}.main{max-width:1680px;padding-block:26px 90px}@media (min-width: 1280px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(5,minmax(0,1fr))}.plist{grid-template-columns:repeat(auto-fill,minmax(460px,1fr))}.devices{grid-template-columns:repeat(3,minmax(0,1fr))}.pview{display:grid;grid-template-columns:236px minmax(0,1fr);column-gap:32px;row-gap:16px;align-items:start}.pview>*{grid-column:2}.pview>.steps{grid-column:1;grid-row:1 / span 30;flex-direction:column;position:sticky;top:84px;background:none;padding:0;overflow:visible}.pview>.steps button{width:100%;justify-content:flex-start;padding:11px 14px}}.card{border-radius:var(--r-card);box-shadow:var(--shadow);border-color:var(--line)}.card.note{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--live);box-shadow:var(--shadow)}.tile,.totals div{box-shadow:var(--shadow);border-radius:10px;position:relative;overflow:hidden}.tile:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-2));opacity:0;transition:opacity .15s}.tile.on:before,button.tile:hover:before{opacity:1}.tile.on{box-shadow:var(--shadow),0 0 0 1px var(--ink)}input:not([type=checkbox]):not([type=range]),select,textarea{border-radius:7px;background:var(--surface);border:1px solid var(--line);padding:10px 12px;font-weight:550;transition:border-color .15s,box-shadow .15s}input:not([type=checkbox]):not([type=range]):hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--ink) 25%,var(--line))}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 17px) 52%,calc(100% - 12px) 52%;background-size:5px 5px;background-repeat:no-repeat}select.catsel{font-weight:650}.btn{border-radius:var(--r-btn);font-weight:700;letter-spacing:.005em;min-height:42px;padding:9px 16px;border-width:1px;transition:transform .08s,box-shadow .15s,background .15s,border-color .15s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn.primary{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 88%,#fff),var(--accent));border-color:color-mix(in srgb,var(--accent) 80%,#000);box-shadow:var(--glow)}.btn.primary:hover:not(:disabled){box-shadow:0 10px 24px -8px color-mix(in srgb,var(--accent) 70%,transparent)}.btn:not(.primary):not(.ghost):not(.danger){background:var(--surface);border-color:color-mix(in srgb,var(--accent) 55%,var(--line));color:var(--accent)}.btn.ghost{background:var(--surface);border-color:var(--line);color:var(--ink);box-shadow:0 1px 1px #00000008}.btn.ghost:hover:not(:disabled){border-color:color-mix(in srgb,var(--ink) 30%,var(--line))}.btn.small{min-height:34px;padding:5px 11px;font-size:13.5px;border-radius:5px}.btn.danger{border-color:var(--bad);background:var(--bad);color:#fff}.chip{border-radius:6px;font-weight:600;font-size:13.5px;padding:7px 12px;transition:border-color .15s,background .15s}.chip:hover{border-color:color-mix(in srgb,var(--ink) 30%,var(--line))}.chip.on{background:var(--ink);border-color:var(--ink);color:var(--surface)}.pill{border-radius:5px}.link{font-weight:650}.seg{background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:3px;gap:3px;overflow:visible}.seg button{border:0;border-radius:5px;color:var(--muted);font-weight:650;min-height:34px;padding:6px 12px;transition:background .15s,color .15s,box-shadow .15s}.seg button:hover{color:var(--ink)}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #00000014,0 0 0 1px var(--line)}.seg button.on[data-k=ok]{background:var(--good);color:#fff;box-shadow:0 4px 12px -4px color-mix(in srgb,var(--good) 70%,transparent)}.seg button.on[data-k=fail]{background:var(--bad);color:#fff;box-shadow:0 4px 12px -4px color-mix(in srgb,var(--bad) 70%,transparent)}.seg button.on[data-k=na]{background:var(--muted);color:var(--surface)}.comp .seg button{min-height:32px;padding:5px 10px;font-size:13px}.comp.fail{background:color-mix(in srgb,var(--bad-soft) 70%,transparent)}.chk{align-items:center;gap:11px;font-weight:600}.chk input{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:40px;height:23px;border-radius:999px;background:color-mix(in srgb,var(--muted) 35%,var(--line));position:relative;cursor:pointer;margin:0;transition:background .18s;flex:none}.chk input:after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:transform .18s}.chk input:checked{background:linear-gradient(90deg,var(--accent),var(--accent-2))}.chk input:checked:after{transform:translate(17px)}.chk input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.steps button{border-radius:7px;font-weight:650;background:var(--surface);box-shadow:0 1px 1px #00000008;transition:border-color .15s,background .15s}.steps button:hover{border-color:color-mix(in srgb,var(--ink) 30%,var(--line))}.steps button.on{border-color:transparent;background:var(--ink);color:var(--surface);box-shadow:none}.steps button.on .n{color:color-mix(in srgb,var(--surface) 70%,transparent)}.steps .n{font-weight:700}.pcard{transition:box-shadow .15s,transform .15s}.pcard:hover{box-shadow:0 12px 30px -14px #10131a4d;transform:translateY(-1px)}.ptitle{font-weight:750;letter-spacing:-.01em}.pmain{color:var(--ink)}.preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.preset{text-align:left;display:grid;gap:3px;padding:11px 13px;border-radius:7px;border:1px solid var(--line);background:var(--surface-2);cursor:pointer;color:var(--ink);transition:border-color .15s,box-shadow .15s,transform .1s}.preset b{font-weight:750}.preset span{font-size:12.5px;color:var(--muted);font-weight:500}.preset:hover{border-color:var(--accent);box-shadow:0 6px 16px -10px color-mix(in srgb,var(--accent) 80%,transparent);transform:translateY(-1px)}.note-chips .chip{max-width:100%;text-align:left;font-weight:550}.note-chips .chip.on{background:var(--good-soft);color:var(--good);border-color:color-mix(in srgb,var(--good) 40%,transparent)}.plan-launch{display:grid;grid-template-columns:minmax(0,1fr);border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow);padding:0;cursor:pointer;overflow:hidden;color:var(--ink);text-align:left}.plan-thumb{width:100%;height:clamp(220px,34vh,420px);display:block;color:var(--wall);background:linear-gradient(var(--grid) 1px,transparent 1px) 0 0 / 24px 24px,linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0 / 24px 24px,var(--canvas);padding:14px}.plan-thumb.empty{color:var(--muted)}.plan-launch-cta{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-top:1px solid var(--line);flex-wrap:wrap}.plan-launch-cta b{font-size:17px;font-weight:800;color:var(--accent)}.plan-launch-cta small{color:var(--muted);font-weight:600}.plan-launch:hover{border-color:var(--accent)}body.ped-open{overflow:hidden}.ped.full{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;gap:0;padding:0;border:0;border-radius:0;background:var(--bg)}.ped.full>*{flex-shrink:0}.ped-head{display:flex;align-items:center;gap:12px;padding:8px max(12px,env(safe-area-inset-left,0px));padding-top:calc(8px + env(safe-area-inset-top,0px));background:var(--head);color:var(--head-ink);border-bottom:1px solid var(--head-line);flex-wrap:wrap}.ped-head .btn.ghost{background:transparent;color:var(--head-ink);border-color:var(--head-line)}.ped-head .btn.ghost:hover:not(:disabled){border-color:#3a4252}.ped-title{display:flex;align-items:baseline;gap:10px;min-width:0;flex:1}.ped-title b{font-size:16px;font-weight:800}.ped-title span{color:var(--head-muted);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ped-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ped-sep{width:1px;height:24px;background:var(--head-line);margin:0 4px}.ped-msg{font-size:12.5px;color:#8be39b;font-weight:600}.ibtn{width:36px;height:36px;display:grid;place-items:center;border-radius:6px;border:1px solid var(--head-line);background:transparent;color:var(--head-ink);cursor:pointer}.ibtn:hover:not(:disabled){background:#ffffff0f}.ibtn:disabled{opacity:.35;cursor:default}.ibtn[aria-pressed=true]{background:#ffffff14}.ped-snap{display:flex;align-items:center;gap:4px;color:var(--head-muted)}.ped-snap select{width:auto;background-color:transparent;color:var(--head-ink);border-color:var(--head-line);padding:6px 28px 6px 8px;min-height:36px;font-size:13px}.ped-snap select option{color:#111}.ped-toolbar{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap}.ped-tools{display:flex;gap:4px;background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:3px;overflow-x:auto;max-width:100%;scrollbar-width:none}.tool{display:flex;align-items:center;gap:7px;border:0;background:none;color:var(--muted);font-weight:700;padding:7px 12px;border-radius:6px;cursor:pointer;white-space:nowrap;min-height:36px}.tool:hover{color:var(--ink)}.tool.on{background:var(--surface);color:var(--accent);box-shadow:0 1px 2px #0000001a,0 0 0 1px var(--line)}.ped-circ{display:flex;align-items:center;gap:8px;min-width:0;font-size:13px;font-weight:700;color:var(--muted)}.ped-circ i{width:12px;height:12px;border-radius:3px;flex:none}.ped-circ select{width:auto;max-width:360px;min-height:36px;padding-top:6px;padding-bottom:6px}.ped-palette{display:grid;gap:8px;padding:8px 12px;background:var(--surface-2);border-bottom:1px solid var(--line)}.ped-palette .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.ped-palette .chip{white-space:nowrap;padding:5px 11px}.ped-palette .palette{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.ped-palette .symb{flex:0 0 92px;font-size:11.5px;padding:6px 3px;border-radius:7px}.ped.full .ped-hint{padding:6px 14px;margin:0;font-size:12.5px;color:var(--muted);background:var(--surface);border-bottom:1px solid var(--line);min-height:0}.ped-body{flex:1 1 auto!important;min-height:0;display:flex;position:relative}.ped.full .ped-canvas{flex:1;height:auto;min-height:0;border:0;border-radius:0;background:var(--canvas)}.ped-canvas svg{cursor:crosshair}.ped-wall.movable{cursor:move}.ped-handles .h{fill:var(--surface);stroke:var(--accent);stroke-width:2.4px;vector-effect:non-scaling-stroke;cursor:grab}.ped-handles .h:hover{fill:var(--accent-soft)}.ped-handles .h.rot{fill:var(--accent);cursor:alias}.ped-handles .h-ico{fill:none;stroke:#fff;stroke-width:1.6px;vector-effect:non-scaling-stroke;pointer-events:none}.ped-scale{position:absolute;left:14px;bottom:12px;display:flex;align-items:center;gap:6px;font:600 11px var(--f-mono);color:var(--muted);pointer-events:none}.ped-scale i{display:block;height:6px;border:2px solid var(--muted);border-top:0;max-width:300px}.ped-zoom{right:14px;bottom:14px}.ped-zoom button{border-radius:6px;box-shadow:var(--shadow);color:var(--ink)}.ped-panel{width:320px;flex:none;overflow-y:auto;background:var(--surface);border-left:1px solid var(--line);padding:14px;display:grid;align-content:start;gap:16px}.ped-panel h4{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-family:var(--f-mono)}.ped-panel .grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ped-panel .btn-row{display:flex;flex-wrap:wrap;gap:6px}.ped-panel .seg{display:flex}.ped-panel .seg button{flex:1;padding:5px 6px;font-size:12.5px}.ped-finish{bottom:16px}@media (max-width: 760px){.ped-body{flex-direction:column}.ped-panel{width:auto;max-height:38vh;border-left:0;border-top:1px solid var(--line)}.tool span{display:none}.tool{padding:7px 10px}.ped-title span{display:none}}.bottomnav{background:color-mix(in srgb,var(--head) 94%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top-color:var(--head-line)}.bottomnav button{color:var(--head-muted)}.bottomnav button.on{color:#ff5148}@media (max-width: 760px){.ped.full .ped-hint{display:none}.ped-head{gap:8px;padding-bottom:6px}.ped-actions{width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.ped-actions>*{flex:none}.ped-sep{display:none}}.tips{border:1px solid color-mix(in srgb,var(--accent, #D42A2A) 28%,transparent);border-left:4px solid var(--accent, #D42A2A);border-radius:6px;background:color-mix(in srgb,var(--accent, #D42A2A) 5%,var(--surface, #fff));padding:10px 14px}.tips summary{cursor:pointer;font-weight:700;font-size:14px;list-style:none;display:flex;align-items:center;gap:8px}.tips summary::-webkit-details-marker{display:none}.tips summary:before{content:"i";display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--accent, #D42A2A);color:#fff;font:700 12px/1 Georgia,serif}.tips summary:after{content:"▾";margin-left:auto;opacity:.6;transition:transform .15s}.tips:not([open]) summary:after{transform:rotate(-90deg)}.tips ul{margin:8px 0 2px;padding-left:20px;display:grid;gap:4px;font-size:13.5px;line-height:1.45}.tips li.sub{list-style:circle;margin-left:16px}.appfoot{display:flex;gap:4px 14px;justify-content:center;flex-wrap:wrap;padding:18px 16px 22px;font-size:12px;color:var(--ink);opacity:.55;font-variant-numeric:tabular-nums}@media (max-width: 760px){.appfoot{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}}.appfoot a{color:inherit;font-weight:700;text-decoration:none}.appfoot a:hover{text-decoration:underline}.wide2{grid-column:span 2;align-self:end}@media (max-width: 760px){.wide2{grid-column:1 / -1}}.deddie-link{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);color:var(--ink);text-decoration:none;transition:border-color .15s,box-shadow .15s}.deddie-link:hover{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.deddie-link span{display:grid;gap:2px;flex:1;min-width:0}.deddie-link small{opacity:.7;font-size:12.5px}.deddie-link>svg{flex:none;color:var(--accent)}.deddie-link.off{opacity:.5;pointer-events:none}.govdecl{border-left:4px solid var(--accent)}.govdecl h3{margin:0;font-size:16px}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.busy{background:var(--soft);color:var(--muted)}.decl-link{display:grid;grid-template-columns:1fr auto auto auto;gap:8px;align-items:center}.decl-link input{min-width:0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12.5px}.decl-link small{grid-column:1 / -1}@media (max-width: 640px){.decl-link{grid-template-columns:1fr 1fr}.decl-link input{grid-column:1 / -1}}.decl-page .main{padding-top:24px}.decl-wrap{max-width:680px;margin:0 auto}.decl-wrap h1{font-size:clamp(24px,5vw,32px);margin:0}.decl-steps{list-style:none;padding:0;margin:0;display:grid;gap:14px}.decl-steps h2{display:flex;align-items:center;gap:10px;font-size:18px;margin:0}.decl-steps h2 .n{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;font-size:14px;flex:none}.decl-steps ul{margin:0;padding-left:20px;display:grid;gap:6px;line-height:1.5}.decl-text{margin:0;padding:14px 16px;border-left:3px solid var(--accent);background:var(--surface-2);border-radius:6px;line-height:1.55;white-space:pre-wrap}.decl-steps .btn{justify-self:start}.btn.good{background:var(--good);color:#fff;border-color:transparent}.decl-done{text-align:center;align-items:center;padding-block:36px}.decl-check{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:34px;background:var(--good-soft);color:var(--good)}.admin-tabs{align-self:flex-start}.changelog{list-style:none;padding:0;margin:0;display:grid;gap:12px}.changelog ul{margin:0;padding-left:20px;display:grid;gap:5px;line-height:1.5}.grow-end{margin-left:auto}.f.grow{flex:1;min-width:220px}.vartext{display:grid;gap:6px}.varchips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.varchip{font:600 12px var(--f-mono);padding:4px 9px;border-radius:6px;border:1px dashed color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 7%,transparent);color:var(--accent);cursor:pointer}.varchip:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)}.decl-preview summary{cursor:pointer;font-weight:600;font-size:13.5px}.decl-preview p{margin:8px 0 0;padding:12px 14px;border-radius:6px;background:var(--surface-2);line-height:1.55}.mailtpl summary{cursor:pointer;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}.mailtpl[open] summary{margin-bottom:12px}.mailbtn{display:inline-flex;align-items:center;gap:6px}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0a0c128c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:max(12px,env(safe-area-inset-top)) 12px 12px}.modal{width:min(1180px,100%);max-height:calc(100dvh - 24px);overflow:auto;background:var(--surface);color:var(--ink);border-radius:12px;box-shadow:0 30px 80px #00000059;padding:20px;display:grid;gap:16px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.modal-head h2{margin:2px 0 0;font-size:18px;word-break:break-word}.mail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px}@media (max-width: 900px){.mail-grid{grid-template-columns:1fr}}.tpl-pick{display:flex;flex-wrap:wrap;gap:6px}.tpl{padding:7px 11px;border-radius:7px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);cursor:pointer;font-weight:600;font-size:13px}.tpl.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent)}.mail-preview{display:grid;gap:8px;align-content:start}.preview-bar{justify-content:space-between}.preview-frame{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#eef0f4;height:min(70dvh,720px);display:grid;justify-items:center}.preview-frame iframe{width:100%;height:100%;border:0;background:#eef0f4}.preview-frame.mobile iframe{width:380px;max-width:100%}.seg.small button{padding:4px 10px;font-size:12px}.ped-dock{display:flex;flex-direction:column;min-width:0}.ped-search{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--surface);border-bottom:1px solid var(--line);color:var(--muted)}.ped-search input{flex:1;min-width:0;border:0;background:transparent;padding:6px 0;font-size:14px;color:var(--ink);outline:none}.ped-palette .chip small{opacity:.6;font-size:11px;margin-left:2px}.room-opts{display:flex!important;flex-wrap:wrap;align-items:center;gap:10px}.chips.small .chip{padding:4px 9px;font-size:12.5px}.ped-panel .chips.small{flex-wrap:wrap}@media (min-width: 761px){.ped.full.dock-left{display:grid;grid-template-columns:286px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.ped.full.dock-left .ped-head{grid-column:1 / -1}.ped.full.dock-left .ped-dock{grid-row:2;grid-column:1;overflow-y:auto;border-right:1px solid var(--line);background:var(--surface)}.ped.full.dock-left .ped-body{grid-row:2;grid-column:2;min-height:0}.dock-left .ped-toolbar{flex-direction:column;align-items:stretch;gap:8px}.dock-left .ped-tools{display:grid!important;grid-template-columns:repeat(2,1fr);gap:6px}.dock-left .ped-tools .tool{justify-content:flex-start}.dock-left .ped-circ{flex-wrap:wrap}.dock-left .ped-circ select{width:100%}.dock-left .ped-palette .chips{flex-wrap:wrap;overflow:visible}.dock-left .ped-palette .palette{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible}.dock-left .ped-palette .symb{flex:initial}.dock-left.ped.full .ped-hint{border-bottom:0}}.tpl-modal{width:min(1080px,100%);position:relative}.tpl-modal .modal-head h2{font-size:22px}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;max-height:min(58dvh,620px);overflow-y:auto;padding:2px}.tpl-card{display:grid;gap:4px}.tpl-open{display:grid;gap:0;text-align:left;padding:0;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);cursor:pointer;overflow:hidden;transition:border-color .15s,box-shadow .15s}.tpl-paper{display:block;padding:10px;border-bottom:1px solid var(--line);background-color:var(--paper);background-image:linear-gradient(var(--paper-grid) 1px,transparent 1px),linear-gradient(90deg,var(--paper-grid) 1px,transparent 1px);background-size:12px 12px}.tpl-body{display:grid;gap:3px;padding:10px 12px 12px}.tpl-open:hover{border-color:var(--ink);box-shadow:4px 4px 0 var(--ink)}.tpl-open b{font-size:15.5px}.tpl-cat{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:6px}.tpl-cat:before{content:"";width:8px;height:8px;background:var(--accent);transform:rotate(45deg)}.pthumb{width:100%;height:120px;display:block}.pthumb .r0{fill:var(--room-a)}.pthumb .r1{fill:var(--room-b)}.pthumb .r2{fill:var(--room-c)}.pthumb .rw{fill:var(--room-w)}.pthumb .pw{stroke:var(--twall)}.pthumb .ps{fill:var(--accent)}.tpl-foot{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px}.tpl-foot input{flex:1;min-width:220px}.modal-back.inner{position:absolute;border-radius:12px}.modal.include{width:min(460px,100%);gap:12px}.modal.include h3{margin:0;font-size:19px}.inc{display:flex;gap:10px;align-items:center;font-size:15px;cursor:pointer}.inc.sub{margin-left:26px}.inc.off{opacity:.45;cursor:default}.inc input{width:18px;height:18px;accent-color:var(--accent)}.inc i{color:var(--muted);font-style:normal;font-size:13px}.row.end{justify-content:flex-end}.savebar{position:sticky;bottom:12px;z-index:20;display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;margin-top:18px;padding:10px 14px;border-radius:12px;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);box-shadow:0 10px 30px #0a0c121f}.savebar.dirty{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:0 10px 30px color-mix(in srgb,var(--accent) 22%,transparent)}.savebar-state{margin-right:auto;font-size:13.5px;font-weight:600;color:var(--muted);display:inline-flex;align-items:center;gap:8px}.savebar.dirty .savebar-state{color:var(--accent)}.savebar .dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 20%,transparent);animation:savepulse 1.6s ease-in-out infinite}@keyframes savepulse{50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 8%,transparent)}}@media (max-width: 760px){.savebar{bottom:calc(76px + env(safe-area-inset-bottom,0px))}.savebar-state{width:100%}}@media (prefers-reduced-motion: reduce){.savebar .dot{animation:none}}.decl-send{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.decl-send .f{flex:1 1 240px;min-width:0}.decl-send>.muted{align-self:center}.scan-card{display:grid;gap:12px;border:0;border-radius:6px;background:var(--head);color:var(--head-ink);box-shadow:inset 0 3px 0 var(--accent)}.scan-card .muted{color:var(--head-muted)}.scan-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.scan-rail{width:96px;height:36px;flex:0 0 auto}.scan-rail .rail{fill:var(--head-muted)}.scan-title{display:grid;gap:2px;min-width:0}.scan-title .small{color:var(--head-muted)}.scan-head h3{margin:0;font-size:18px;color:var(--head-ink);display:flex;align-items:center;gap:8px}.ai-chip{font:800 11px/1 var(--f-mono, monospace);letter-spacing:.06em;background:var(--live);color:#1b1405;padding:4px 6px;border-radius:3px}.scan-card .btn:not(.primary){background:transparent;color:var(--head-ink);border-color:var(--head-line)}.scan-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.scan-btns .btn{min-height:52px;font-size:16px;justify-content:center}.scan-card p{margin:0}.scan-busy{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--live)}.scan-busy .spin{width:18px;height:18px;border-radius:50%;border:3px solid color-mix(in srgb,var(--live) 25%,transparent);border-top-color:var(--live);animation:scanspin 1s linear infinite}@keyframes scanspin{to{transform:rotate(360deg)}}.scan-modal{width:min(1280px,100%)}.scan-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;align-items:start}.scan-photo{position:sticky;top:0;display:grid;gap:8px;min-width:0}.scan-img{position:relative;border-radius:10px;overflow:hidden;background:#000;line-height:0}.scan-img img{width:100%;display:block}.scan-box{position:absolute;border:2px solid var(--c);background:color-mix(in srgb,var(--c) 10%,transparent);padding:0;border-radius:0;cursor:pointer;outline:1px solid rgba(0,0,0,.45);outline-offset:0}.scan-box.low{border-style:dotted;border-width:3px}.scan-box.low:after{content:"?";position:absolute;right:-2px;top:-2px;font:800 11px/1 system-ui,sans-serif;background:#fff;color:#111;padding:2px 4px}.scan-box.on{background:color-mix(in srgb,var(--c) 34%,transparent);box-shadow:0 0 0 3px #fff,0 0 0 5px var(--c);z-index:2}.scan-tag{position:absolute;left:0;bottom:100%;transform:rotate(-55deg);transform-origin:left bottom;white-space:nowrap;background:var(--c);color:var(--ci, #fff);font:700 10px/1.25 var(--f-mono, ui-monospace),monospace;padding:2px 5px 2px 7px;border-radius:0;border-left:3px solid rgba(0,0,0,.35);pointer-events:none;box-shadow:0 1px 3px #00000059}.scan-list{max-height:min(70dvh,760px);overflow:auto;padding-right:4px;min-width:0}.scan-dev{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px 8px 14px;border:1px solid var(--line);border-radius:4px;background:var(--surface);position:relative}.scan-dev:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:repeating-linear-gradient(180deg,var(--c) 0 6px,color-mix(in srgb,var(--c) 55%,#000) 6px 8px)}.scan-dev.on{box-shadow:0 0 0 2px var(--c)}.scan-dev select,.scan-dev input{min-height:36px;font-size:14px;width:auto;flex:0 0 auto;padding-block:4px}.scan-dev select[aria-label=Είδος]{flex:1 1 170px;min-width:0}.scan-num{display:inline-flex;align-items:center;gap:3px;font-size:13px;color:var(--muted)}.scan-num input{width:54px;text-align:right}.scan-dev .scan-label{flex:1 1 160px;min-width:0}.scan-goes{margin-left:auto}.scan-foot{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:12px;position:sticky;bottom:-20px;background:var(--surface);padding-bottom:4px}@media (max-width: 820px){.scan-grid{grid-template-columns:1fr}.scan-photo{position:static}.scan-list{max-height:none;overflow:visible}.scan-modal{padding:14px}}html.native body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--surface);z-index:10}.apk-update{position:fixed;left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:55;display:flex;gap:10px 14px;align-items:center;flex-wrap:wrap;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;padding:12px 14px;box-shadow:0 10px 30px -10px #00000059;max-width:560px;margin:0 auto}.apk-update .apk-txt{display:grid;gap:2px;flex:1 1 220px;min-width:0}.apk-update .apk-txt span{color:var(--muted);font-size:13px}.apk-update .apk-act{display:flex;gap:8px}.pill.done{background:var(--ink);color:var(--surface)}.pstatus{display:grid;gap:2px;font-size:12px;color:var(--muted);font-weight:600}.pstatus select{min-height:38px;font-weight:700;width:auto}.pstatus.done select{border-color:var(--ink);background:var(--ink);color:var(--surface)}.delbtn{display:inline-flex;align-items:center;gap:5px;background:none;border:1px solid transparent;color:var(--muted);font:inherit;font-size:13px;padding:4px 8px;border-radius:6px;cursor:pointer}.delbtn:hover,.delbtn:focus-visible{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:var(--accent-soft)}.modal.delmodal{width:min(560px,100%);display:grid;gap:12px}.delmodal h3,.delname{margin:0}.delstep{display:grid;gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2, var(--soft))}.delstep.lockd{border-color:var(--ink);border-left:4px solid var(--ink)}.delfiles{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:180px;overflow:auto}.delfiles li{display:flex;justify-content:space-between;gap:10px;font-size:14px;border-bottom:1px dashed var(--line);padding-bottom:3px}.delfiles li span:first-child{min-width:0;overflow-wrap:anywhere}.delok{align-items:flex-start;font-weight:600;padding:10px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:8px;background:var(--accent-soft)}.btn.danger:disabled{opacity:.45;cursor:not-allowed}.mailbox h3{margin:0;font-size:17px}.mb-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}.mb-head>div{display:grid;gap:2px;min-width:0}.mb-on{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px;border:1px solid color-mix(in srgb,var(--good) 45%,var(--line));border-radius:8px;background:var(--good-soft, var(--soft))}.mb-dot{width:10px;height:10px;border-radius:50%;background:var(--good);box-shadow:0 0 0 4px color-mix(in srgb,var(--good) 22%,transparent);flex:none}.mb-who{display:grid;gap:2px;flex:1 1 220px;min-width:0;overflow-wrap:anywhere}.mb-provs{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.mb-prov{display:grid;gap:4px;justify-items:start}.mb-pick{display:flex;gap:10px;align-items:center;width:100%;text-align:left;padding:12px;border:1.5px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);cursor:pointer;font:inherit}.mb-pick:hover{border-color:var(--muted)}.mb-prov.on .mb-pick{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.mb-pick>span:last-child{display:grid;min-width:0}.mb-pick small{color:var(--muted);font-size:12px}.mb-mark{width:30px;height:30px;flex:none;color:var(--ink)}.mb-mark svg{width:100%;height:100%;display:block}.mb-form{padding-top:4px;border-top:1px dashed var(--line)}.ms-btn{background:#0f6cbd;border-color:#0f6cbd;color:#fff}.modal.mguide{width:min(640px,100%)}.mguide h3{margin:0}.msteps{margin:0;padding-left:0;list-style:none;counter-reset:st;display:grid;gap:10px}.msteps>li{counter-increment:st;display:block;position:relative;padding-left:38px;min-height:26px;line-height:1.55;overflow-wrap:anywhere}.msteps>li:before{content:counter(st);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--surface);font:700 13px/26px var(--f-mono, monospace);text-align:center}.msteps code{white-space:normal;word-break:break-all}.mnotes{margin:0;padding:10px 12px 10px 28px;background:var(--soft);border-radius:8px;display:grid;gap:6px;font-size:14px;color:var(--muted)}code.sel{-webkit-user-select:all;user-select:all;overflow-wrap:anywhere}.credits h3{margin:0;font-size:17px}.cr-head{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.cr-meter{height:10px;border-radius:99px;background:var(--soft);overflow:hidden;border:1px solid var(--line)}.cr-meter i{display:block;height:100%;background:linear-gradient(90deg,var(--live),var(--accent))}.cr-nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.cr-nums>div{display:grid}.cr-nums b{font:800 26px/1.1 var(--f-display)}.cr-nums span{color:var(--muted);font-size:13px}.cr-packs{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.cr-pack{display:grid;gap:2px;justify-items:start;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);cursor:pointer;font:inherit;text-align:left}.cr-pack:hover{border-color:var(--accent)}.cr-pack b{font:800 24px/1 var(--f-display)}.cr-pack em{font-style:normal;font-weight:800;color:var(--accent)}.cr-pack small{color:var(--muted);font-size:12px}.pack-row{align-items:flex-end;flex-wrap:wrap}.pack-row .f{width:120px}.cr-req{justify-content:space-between;border-bottom:1px dashed var(--line);padding-bottom:8px}.cr-hist{margin:6px 0 0;padding-left:18px;font-size:13px;color:var(--muted)}.cr-tot{font-size:15px}.tbl-wrap{overflow-x:auto;max-width:100%}.tbl{width:100%;border-collapse:collapse;font-size:14px}.tbl th,.tbl td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.tbl th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.tbl .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tbl tr.idle td{color:var(--muted)}.tbl .usage-x>td{background:var(--soft)}.tbl.sub{margin-top:8px;background:var(--surface)}.usage-ctl{align-items:end}.ped-box{fill:color-mix(in srgb,var(--accent) 10%,transparent);stroke:var(--accent);stroke-width:1.5;stroke-dasharray:6 4}.ped-selopts{gap:6px}.scan-busy.dark{color:var(--accent)}.modal.pscan{width:min(1180px,100%)}.pscan .modal-head h3{margin:0;display:flex;align-items:center;gap:8px}.pscan-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px;align-items:start}.pscan-img{position:relative;line-height:0;border-radius:6px;overflow:hidden;border:1px solid var(--line);background:#fff}.pscan-img img{width:100%;display:block;opacity:.75}.pscan-img svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.ps-wall{stroke:#1f6fd1;stroke-width:6;stroke-linecap:round;cursor:pointer;vector-effect:non-scaling-stroke}.ps-wall{stroke-width:4}.ps-wall.ext{stroke:#d42a2a;stroke-width:6}.ps-wall.off{stroke:#8a8f98;stroke-dasharray:4 4;opacity:.7}.ps-wall:hover{stroke-width:9}.ps-open.door{fill:#2f8f3a}.ps-open.win{fill:#e8a317}.ps-open{stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}.ps-room{fill:#e8a31714;stroke:#e8a31780;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.ps-legend{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--muted)}.ps-legend span{display:inline-flex;align-items:center;gap:6px}.ps-legend i{display:inline-block;width:18px;height:4px;background:#1f6fd1}.ps-legend .lg-wall.ext{background:#d42a2a;height:6px}.ps-legend .lg-door{width:10px;height:10px;background:#2f8f3a}.ps-legend .lg-win{width:10px;height:10px;background:#e8a317}@media (max-width: 760px){.pscan-grid{grid-template-columns:1fr}}.manual{display:grid;gap:14px}.man-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}.man-toc{position:sticky;top:calc(env(safe-area-inset-top,0px) + 70px);display:grid;gap:10px}.man-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}.man-toc button{display:flex;gap:8px;width:100%;text-align:left;background:none;border:0;padding:7px 8px;border-radius:6px;font:inherit;font-size:14px;color:var(--ink);cursor:pointer}.man-toc button:hover{background:var(--soft)}.man-body{display:grid;gap:14px;min-width:0}.man-sec{display:grid;gap:12px;scroll-margin-top:80px}.man-sec h2{margin:0;font-size:20px}.man-sec p{margin:0}@media (max-width: 760px){.man-grid{grid-template-columns:1fr}.man-toc{position:static}.man-toc ol{display:flex;gap:6px;overflow-x:auto}.man-toc button{white-space:nowrap;border:1px solid var(--line)}}.rot-by{align-items:flex-end}.rot-by .f{flex:1 1 110px;min-width:0}@media (max-width: 760px){.savebar.clean{display:none}}.mailbox .mb-head{align-items:center}.mailbox .mb-head .pill{flex:none}.mb-provs{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}.mb-prov{grid-template-rows:1fr auto;justify-items:stretch}.mb-prov .mb-pick{height:100%}.mb-prov>.link{justify-self:start;text-align:left}.mb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;align-items:start}.mb-grid>.full{grid-column:1 / -1}.mb-grid .f input,.mb-grid .f select{width:100%}.mb-grid .row.nowrap input[type=number]{flex:0 0 96px}.mb-grid .row.nowrap select{flex:1 1 auto}.mb-toggle{justify-self:start;text-align:left;width:auto;padding-left:0}.mailbox .msteps{padding:4px 0}@media (max-width: 900px){.mb-provs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.mb-grid{grid-template-columns:1fr}}.ai-tabs{align-self:start;flex-wrap:wrap}.ai-guide h3{margin:0;font-size:17px}.guide-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media (max-width: 1000px){.guide-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.guide-steps{grid-template-columns:1fr}}.guide-steps li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.gs-n{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--surface);font:800 15px/1 var(--f-mono, monospace)}.gs-body{display:grid;gap:6px;justify-items:start;min-width:0}.gs-body p{margin:0;color:var(--muted);font-size:14px;overflow-wrap:anywhere}.copybtn{min-height:26px;padding:2px 8px;font-size:12px;vertical-align:baseline;margin:0 4px}
