/* New site wizard */
.ns{display:flex;flex-direction:column;gap:14px}
.ns-steps{display:flex;gap:6px;flex-wrap:wrap}
.ns-steps .ni-step{border:1px solid var(--border-base);background:var(--bg-card);cursor:pointer;font-family:var(--font-sans)}
.ns-body{display:grid;grid-template-columns:minmax(0,760px);gap:16px;align-items:start}
.ns-body.with-map{grid-template-columns:minmax(340px,440px) minmax(0,1fr)}
.ns-form{background:var(--bg-card);border:1px solid var(--border-base);border-radius:10px;padding:18px;display:flex;flex-direction:column;gap:12px}
.ns-h{margin:0;font-size:15px;font-weight:700}
.ns-sec-h{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-muted);font-weight:600;margin-top:6px;padding-top:10px;border-top:1px solid var(--border-base)}
.ns-src{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ns-opt{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;background:var(--bg-inset);border:1px solid var(--border-base);border-radius:10px;cursor:pointer;text-align:left;color:var(--fg-primary);font-family:var(--font-sans)}
.ns-opt .ico{color:var(--accent-primary)}
.ns-opt b{font-size:13.5px}
.ns-opt span{font-size:11.5px;line-height:1.5;color:var(--fg-secondary)}
.ns-opt:hover{border-color:var(--border-strong)}
.ns-opt.on{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary);background:color-mix(in oklab,var(--accent-primary) 6%,var(--bg-inset))}
.ns-drop{display:flex;align-items:center;gap:14px;padding:18px;border:1.5px dashed var(--border-elevated);border-radius:10px;color:var(--fg-muted)}
.ns-drop>div{flex:1;display:flex;flex-direction:column;gap:3px}
.ns-drop b{color:var(--fg-primary);font-size:12.5px}
.ns-drop span{font-size:11px}
.ns-files{display:flex;flex-direction:column;gap:6px;width:100%}
.ns-file{display:grid;grid-template-columns:16px minmax(0,auto) auto 1fr;gap:10px;align-items:center;font-size:11.5px;color:var(--fg-primary)}
.ns-file .ico{color:var(--sev-low)}
.ns-file em{font-style:normal;font-size:10px;padding:1px 7px;border-radius:99px;background:var(--bg-inset);color:var(--fg-secondary)}
.ns-file .sec{font-size:10.5px;text-align:right}
.ns-files-note{font-size:10.5px;color:var(--fg-muted);padding-top:6px;border-top:1px dashed var(--border-base)}
.ns-tip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0;font-size:11.5px;line-height:1.5;color:var(--fg-muted)}
.ns-search{display:flex;align-items:center;gap:8px;padding:0 10px;height:32px;background:var(--bg-inset);border:1px solid var(--border-base);border-radius:7px;color:var(--fg-muted)}
.ns-search input{flex:1;background:transparent;border:0;outline:0;color:var(--fg-primary);font-size:12px;font-family:var(--font-sans)}
.ns-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ns-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ns-span{grid-column:1/-1}
.ns-span2{grid-column:span 2}
.ns-grid input[type=range]{width:100%}
.ns-stat-row,.ns-calc{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ns-calc{grid-template-columns:repeat(4,1fr)}
.ns-stat-row>div,.ns-calc>div{display:flex;flex-direction:column;gap:3px;padding:10px;background:var(--bg-inset);border-radius:8px}
.ns-stat-row b,.ns-calc b{font-size:17px;font-weight:700}
.ns-conn{display:flex;flex-direction:column;gap:6px}
.ns-zlist{display:grid;grid-template-columns:1fr 1fr;gap:4px;max-height:180px;overflow:auto}
.ns-z{display:flex;gap:8px;align-items:baseline;padding:5px 8px;background:var(--bg-inset);border-radius:5px;font-size:11px}
.ns-z .sec{font-size:10px}
.ns-review{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--bg-inset);border-radius:8px}
.ns-map{position:relative;background:#0a0f1a;border:1px solid var(--border-base);border-radius:10px;overflow:hidden;min-height:480px;position:sticky;top:12px}
.ns-map>svg{width:100%;height:100%;min-height:480px;display:block}
.ns-map>svg.is-draw{cursor:crosshair}
.ns-map-hint{position:absolute;top:12px;left:50%;transform:translateX(-50%);display:flex;gap:7px;align-items:center;padding:7px 12px;background:rgba(10,14,26,.9);border:1px solid #60a5fa;border-radius:7px;color:#93c5fd;font-size:11.5px;pointer-events:none}
.ns-map-badge{position:absolute;top:12px;left:12px;padding:5px 10px;background:rgba(10,14,26,.9);border:1px solid var(--border-elevated);border-radius:6px;font-size:11px;color:var(--fg-primary)}
.ns-ft{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--border-base)}
.ns-req{font-size:11px}
@media (max-width:1100px){.ns-body.with-map{grid-template-columns:1fr}.ns-map{position:relative;top:0}.ns-src{grid-template-columns:1fr}.ns-grid-3{grid-template-columns:1fr 1fr}}

.ns-map-hint .ico{width:13px;height:13px;flex-shrink:0}
.ns-zlist{grid-template-columns:1fr!important;max-height:240px}
.ns-z{display:grid!important;grid-template-columns:10px 40px minmax(0,1fr) auto;gap:8px;align-items:center;cursor:pointer;border:1px solid transparent}
.ns-z:hover{border-color:var(--border-strong)}
.ns-z.on{border-color:var(--accent-primary);background:color-mix(in oklab,var(--accent-primary) 8%,var(--bg-inset))}
.ns-z i{width:10px;height:10px;border-radius:3px}
.ns-z .warn{color:var(--sev-medium)}
.ns-zone-warn{display:flex;gap:6px;align-items:center;font-size:11px;color:var(--sev-medium)}
.ns-calc>div em{font-style:normal;font-size:10px;color:var(--fg-muted)}
/* Sites health cell */
.sh-cell{display:flex;align-items:center;gap:8px;min-width:120px}
.sh-cell b{font-size:12px;width:22px;text-align:right}
.sh-bar{flex:1;max-width:80px;height:5px;border-radius:99px;background:var(--bg-inset);overflow:hidden}
.sh-bar i{display:block;height:100%;border-radius:99px}

.ns-ft{padding-right:190px}
.main{padding-bottom:64px}

.pz-map{width:100%;height:260px;display:block;background:#0a0f1a}
.pz-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px;padding:8px 10px;border-top:1px solid var(--border-base)}
.pz-it{display:grid;grid-template-columns:10px 34px 1fr auto 16px;gap:6px;align-items:center;padding:5px 8px;background:var(--bg-inset);border:1px solid var(--border-base);border-radius:6px;color:var(--fg-muted);font-size:11px;cursor:pointer;font-family:var(--font-sans);text-align:left}
.pz-it i{width:10px;height:10px;border-radius:3px;opacity:.4}
.pz-it.on{color:var(--fg-primary);border-color:var(--border-strong)}
.pz-it.on i{opacity:1}
.pz-it .sec{font-size:10px}
.pz-chk{width:16px;height:16px;border-radius:4px;border:1px solid var(--border-elevated);display:grid;place-items:center}
.pz-it.on .pz-chk{background:var(--accent-primary);border-color:var(--accent-primary);color:#04101f}

.ws-body .grid,.ws-body .col,.ws-body .card{min-width:0}
.pz-map,.pz-list{max-width:100%;box-sizing:border-box}
.ps-kv b{min-width:0;overflow-wrap:anywhere;text-align:right}

.pl-gate{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:10px 14px;margin-bottom:14px;border:1px solid var(--border-base);border-radius:10px;background:var(--bg-card)}
.pl-gate.is-ready{border-color:color-mix(in oklab,var(--accent-primary) 50%,var(--border-base))}
.pl-gate.is-done{border-color:color-mix(in oklab,var(--sev-low) 50%,var(--border-base));background:color-mix(in oklab,var(--sev-low) 5%,var(--bg-card))}
.pl-gate-t{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700}
.pl-gate.is-done .pl-gate-t{color:var(--sev-low)}
.pl-gate.is-ready .pl-gate-t{color:var(--accent-primary)}
.pl-chk{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--fg-muted)}
.pl-chk i{width:14px;height:14px;border-radius:99px;border:1px solid var(--border-elevated);display:grid;place-items:center}
.pl-chk.ok i{background:var(--sev-low);border-color:var(--sev-low);color:#04140a}
.pl-chk b{font-weight:600;color:var(--fg-secondary)}
.pl-chk.ok b{color:var(--fg-primary)}
.pl-chk em{font-style:normal;font-size:10.5px}

.ws-adv{display:flex;align-items:center;gap:10px;padding:9px 14px;margin-bottom:14px;border:1px solid color-mix(in oklab,var(--accent-primary) 45%,var(--border-base));border-radius:10px;background:color-mix(in oklab,var(--accent-primary) 5%,var(--bg-card));font-size:12px;font-weight:600}
.ws-adv .ico{color:var(--accent-primary)}
.ws-adv.is-done{border-color:color-mix(in oklab,var(--sev-low) 45%,var(--border-base));background:color-mix(in oklab,var(--sev-low) 5%,var(--bg-card))}
.ws-adv.is-done .ico{color:var(--sev-low)}
.ws-adv-bar{width:180px;height:5px;border-radius:99px;background:var(--bg-inset);overflow:hidden}
.ws-adv-bar i{display:block;height:100%;background:var(--accent-primary);transition:width .3s}
.ws-stage,.fp-page,.fp-wrap,.fp-grid,.fp-main{min-width:0;max-width:100%}
.ws-body{overflow-x:hidden}

.fp-ctx{display:flex;flex-wrap:wrap;gap:0;margin-top:10px;border:1px solid var(--border-base);border-radius:8px;background:var(--bg-card);width:fit-content;max-width:100%}
.fp-ctx-it{display:flex;flex-direction:column;gap:3px;padding:8px 14px;border-right:1px solid var(--border-base);min-width:0}
.fp-ctx-it:last-child{border-right:0}
.fp-ctx-it .caps{font-size:9.5px}
.fp-ctx-it b{font-size:12.5px;font-weight:600;color:var(--fg-primary);white-space:nowrap}
.fp-ctx-it em{font-style:normal;font-size:10.5px;color:var(--fg-muted);white-space:nowrap}
.fp-ctx-z{display:flex;gap:4px}
.fp-ctx-z span{font-size:11px;font-weight:600;padding:1px 6px;border-radius:4px;color:var(--fg-primary);background:color-mix(in oklab,var(--zc) 18%,transparent);border:1px solid color-mix(in oklab,var(--zc) 50%,transparent)}

.fp-ctx{width:100%;margin:0 0 12px;flex-wrap:wrap}
.fp-ctx-it{flex:1 1 auto}
.fp-toolbar{overflow-x:hidden}

.ws-body>.ws-adv{flex:0 0 auto}
