:root{--rail: #0c1014;--rail-line: #1c242c;--rail-muted: #7a858f;--rail-ink: #e8eef2;--bg: #eef0f2;--bg-elev: #f7f8f9;--ink: #12151a;--steel: #6b7380;--line: #d5d9de;--signal: #c45c26;--live: #0b7f8a;--live-bg: #0a0d10;--live-ink: #e8eef2;--live-muted: #8a949e;--live-line: #1e262e;--ok: #1f7a4d;--focus: #0b7f8a;--radius: 12px;--font-ui: system-ui, sans-serif;--font-display: var(--font-ui);--font-mono: ui-monospace, monospace;--rail-w: 232px;color:var(--ink);background:var(--bg);font-family:var(--font-ui);font-size:15px;line-height:1.45}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg)}#root{min-height:100vh}button,.btn,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.mono{font-family:var(--font-mono);font-size:.8rem}.muted,.empty{color:var(--steel)}.status-ok{color:#2bb673}.status-bad{color:var(--signal)}.tag-signal{color:var(--signal);font-weight:600;font-size:.75rem}.app{display:grid;grid-template-columns:var(--rail-w) minmax(0,1fr);min-height:100vh}@media(max-width:900px){.app{grid-template-columns:1fr}.rail{position:sticky;top:0;z-index:20;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem 1rem;border-right:0;border-bottom:1px solid var(--rail-line)}.rail-nav{flex-direction:row;flex:1}.rail-foot{width:100%;margin-top:0}}.rail{display:flex;flex-direction:column;gap:1.5rem;padding:1.35rem 1rem 1.25rem;background:var(--rail);color:var(--rail-ink);border-right:1px solid var(--rail-line)}.rail-brand{padding:0 .35rem}.rail-brand .mark{font-family:var(--font-display);font-size:1.85rem;font-weight:800;letter-spacing:-.05em;line-height:1;margin:0}.rail-brand .mark span{color:var(--live)}.rail-brand .sub{margin:.35rem 0 0;font-size:.75rem;color:var(--rail-muted);letter-spacing:.02em}.rail-nav{display:flex;flex-direction:column;gap:.25rem}.rail-nav button{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;text-align:left;border:0;background:transparent;color:var(--rail-muted);font:inherit;font-weight:600;font-size:.92rem;padding:.7rem .85rem;border-radius:10px;cursor:pointer;min-height:44px;transition:background .15s ease,color .15s ease}.rail-nav button:hover{color:var(--rail-ink);background:#ffffff0a}.rail-nav button[aria-current=page]{color:var(--rail-ink);background:#0b7f8a38;box-shadow:inset 3px 0 0 var(--live)}.rail-meta{display:flex;flex-direction:column;gap:.45rem;padding:0 .35rem}.rail-chip{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.68rem;color:var(--rail-muted)}.rail-chip i{width:.45rem;height:.45rem;border-radius:50%;background:var(--rail-muted);display:inline-block}.rail-chip.ok i{background:#2bb673;box-shadow:0 0 0 3px #2bb67326}.rail-chip.bad i{background:var(--signal)}.rail-foot{margin-top:auto;display:flex;flex-direction:column;gap:.5rem;padding-top:1rem;border-top:1px solid var(--rail-line)}.rail-user{font-size:.82rem;color:var(--rail-muted);padding:0 .35rem}.rail-user strong{display:block;color:var(--rail-ink);font-weight:600;margin-bottom:.15rem}.rail-foot .ghost{border-color:var(--rail-line);color:var(--rail-ink);background:transparent}.rail-foot .ghost:hover:not(:disabled){border-color:var(--live);background:#0b7f8a1f}.hub-tabs{display:flex;gap:.35rem;margin:0 0 .85rem;padding:0 .15rem}.hub-tabs button{font-family:var(--font-ui);font-size:.82rem;font-weight:600;padding:.45rem .85rem;border:1px solid var(--live-line);border-radius:999px;background:transparent;color:var(--live-muted);cursor:pointer}.hub-tabs button.is-on,.hub-tabs button[aria-selected=true]{border-color:var(--live);background:color-mix(in srgb,var(--live) 22%,transparent);color:var(--live-ink)}.hub-audience{margin-top:.25rem;background:var(--bg-elev);color:var(--ink);border-radius:var(--radius);padding:1rem 1.1rem 1.15rem}.live-stage .hub-audience{color:var(--ink);background:var(--bg-elev)}.live-stage .hub-audience .adv-lede,.live-stage .hub-audience .hint,.live-stage .hub-audience .muted,.live-stage .hub-audience .chip-block-label,.live-stage .hub-audience .tgt-field span{color:var(--steel);opacity:1}.live-stage .hub-audience .tgt-field input,.live-stage .hub-audience .tgt-field select,.live-stage .hub-audience .deal-target-card input,.live-stage .hub-audience .deal-target-card select{color:var(--ink);background:#fff;border-color:var(--line)}.live-stage .hub-audience .chip-toggle{color:var(--ink);border-color:var(--line);background:var(--bg-elev)}.live-stage .hub-audience .chip-toggle.is-on{border-color:var(--live);background:color-mix(in srgb,var(--live) 14%,var(--bg-elev));color:var(--ink)}.live-stage .hub-audience button:not(.chip-toggle),.live-stage .hub-audience .btn{color:var(--ink);border-color:var(--line);background:var(--bg-elev)}.live-stage .hub-audience button:not(.chip-toggle):hover:not(:disabled),.live-stage .hub-audience .btn:hover{border-color:var(--live);background:color-mix(in srgb,var(--live) 10%,var(--bg-elev))}.hub-audience .adv-lede{color:var(--steel)}.chip-block{margin-bottom:.85rem}.chip-block-label{display:block;font-size:.75rem;color:var(--steel);margin-bottom:.35rem}.chip-toggle{font-family:var(--font-ui);font-size:.78rem;font-weight:500;padding:.35rem .65rem;border:1px solid var(--line);border-radius:999px;background:var(--bg-elev);color:var(--ink);cursor:pointer}.chip-toggle:hover{border-color:var(--live)}.chip-toggle.is-on{border-color:var(--live);background:color-mix(in srgb,var(--live) 14%,var(--bg-elev));color:var(--ink)}.seg-chips .chip-toggle{font-family:var(--font-ui)}.eco-details{margin-top:1.25rem}.main{display:flex;flex-direction:column;min-width:0;min-height:100vh}.main-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding:1rem 1.5rem;background:var(--bg-elev);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.main-bar h1{margin:0;font-family:var(--font-display);font-size:1.35rem;font-weight:700;letter-spacing:-.03em}.readonly-banner{margin:0;padding:.65rem 1.5rem;background:#f3e6dc;color:#6a3414;border-bottom:1px solid #e2c2ae}.app.is-readonly .live-layers button,.app.is-readonly .live-layers input,.app.is-readonly .live-layers select,.app.is-readonly .live-layers textarea,.app.is-readonly .hub-audience button,.app.is-readonly .hub-audience input,.app.is-readonly .hub-audience select,.app.is-readonly .hub-audience textarea,.app.is-readonly .eng-block button,.app.is-readonly .eng-fields input,.app.is-readonly .eng-fields select,.app.is-readonly .eng-fields textarea,.app.is-readonly .screen-setup button,.app.is-readonly .screen-setup input,.app.is-readonly .screen-setup select,.app.is-readonly .screen-setup textarea,.app.is-readonly .deal-target-card button,.app.is-readonly .deal-target-card input,.app.is-readonly .deal-target-card select,.app.is-readonly .deal-target-card textarea,.app.is-readonly .live-actions button:not(.ghost){pointer-events:none;opacity:.55}.main-bar .lede{margin:.15rem 0 0;font-size:.85rem;color:var(--steel)}.main-bar-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.canvas{flex:1;padding:1.25rem 1.5rem 2.5rem;max-width:1280px;width:100%}button,.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--ink);background:var(--ink);color:#f4f6f8;font:inherit;font-weight:600;font-size:.88rem;padding:.5rem .95rem;border-radius:9px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:40px;transition:background .15s ease,border-color .15s ease,color .15s ease}button:hover:not(:disabled),.btn:hover{background:color-mix(in srgb,var(--ink) 88%,var(--live))}button:disabled{opacity:.45;cursor:not-allowed}button.ghost,.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}button.ghost:hover:not(:disabled),.btn.ghost:hover{border-color:var(--ink);background:#00000008}button.live-cta{background:var(--live);border-color:var(--live);color:#fff;min-height:36px;padding:.35rem .75rem;font-size:.8rem}button.live-cta:hover:not(:disabled){background:color-mix(in srgb,var(--live) 82%,#000)}.row{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.gate-screen{min-height:100vh;display:grid;grid-template-columns:minmax(280px,42vw) 1fr;background:var(--rail)}@media(max-width:800px){.gate-screen{grid-template-columns:1fr}.gate-visual{min-height:28vh}}.gate-visual{position:relative;overflow:hidden;background:radial-gradient(ellipse 80% 60% at 30% 40%,rgba(11,127,138,.35),transparent 60%),radial-gradient(ellipse 50% 40% at 80% 80%,rgba(196,92,38,.2),transparent 55%),var(--rail)}.gate-visual:after{content:"DOOH";position:absolute;inset:auto 8% 12% 8%;font-family:var(--font-display);font-weight:800;font-size:clamp(3.5rem,12vw,7rem);letter-spacing:-.06em;line-height:.9;color:#e8eef214;pointer-events:none}.gate-panel{display:flex;flex-direction:column;justify-content:center;padding:2.5rem 2rem;background:var(--bg-elev);color:var(--ink);animation:rise .45s ease both}.gate-panel .mark{font-family:var(--font-display);font-size:2.4rem;font-weight:800;letter-spacing:-.04em;margin:0 0 .75rem}.gate-panel .mark span{color:var(--live)}.gate-lede{margin:0 0 1.75rem;color:var(--steel);font-size:1.05rem;max-width:22rem}.gate-hint{margin-top:1.25rem;font-size:.82rem;color:var(--steel)}.gate-pills{display:flex;gap:.4rem;margin-top:1.5rem}.pill{font-family:var(--font-mono);font-size:.7rem;padding:.28rem .55rem;border-radius:999px;border:1px solid var(--line);color:var(--steel);background:var(--bg)}.pill.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,var(--line))}.pill.bad{color:var(--signal);border-color:color-mix(in srgb,var(--signal) 40%,var(--line))}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1.25rem}@media(max-width:720px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.metric{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);padding:.85rem 1rem}.metric-label{display:block;font-size:.7rem;font-weight:600;color:var(--steel);margin-bottom:.25rem;letter-spacing:.02em}.metric-value{font-family:var(--font-display);font-size:1.55rem;font-weight:700;letter-spacing:-.03em;line-height:1.1}.metric-value.sm{font-size:1.05rem}.metric-hint{margin-top:.2rem;font-size:.72rem;color:var(--steel);font-family:var(--font-mono)}.alerts{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:baseline;padding:.7rem 1rem;margin-bottom:1.15rem;border:1px solid color-mix(in srgb,var(--signal) 40%,var(--line));border-left:3px solid var(--signal);background:color-mix(in srgb,var(--signal) 7%,var(--bg-elev));border-radius:var(--radius);animation:slide-in .3s ease both}.alerts-label{font-family:var(--font-display);font-weight:700;font-size:.78rem;color:var(--signal)}.alerts ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem 1rem}.alerts li{font-size:.88rem}.error-banner{margin:0 0 1rem;padding:.65rem .85rem;border-radius:var(--radius);background:color-mix(in srgb,var(--signal) 10%,var(--bg-elev));border:1px solid color-mix(in srgb,var(--signal) 35%,var(--line));color:var(--signal);font-size:.88rem}.panel{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem 1.15rem;margin-bottom:1.15rem}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.panel-head h2{margin:0;font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.panel-head .hint{font-size:.78rem;color:var(--steel)}.fleet-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.85rem;align-items:center}.fleet-search{flex:1;min-width:12rem;font:inherit;padding:.55rem .75rem;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);min-height:40px}.fleet-filter{font:inherit;font-weight:600;padding:.5rem .65rem;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);min-height:40px}.fleet-pager{margin-top:.85rem;justify-content:flex-end}.fleet-table{width:100%;border-collapse:collapse;font-size:.9rem}.fleet-table th{text-align:left;font-weight:600;font-size:.7rem;color:var(--steel);padding:.35rem .5rem .55rem;border-bottom:1px solid var(--line);letter-spacing:.02em}.fleet-table td{padding:.65rem .5rem;border-bottom:1px solid var(--line);vertical-align:middle}.fleet-table tbody tr{cursor:pointer;transition:background .12s ease}.fleet-table tbody tr:hover{background:color-mix(in srgb,var(--live) 6%,transparent)}.fleet-table tbody tr.is-active{background:color-mix(in srgb,var(--live) 9%,transparent);box-shadow:inset 3px 0 0 var(--live)}.status-dot{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;font-size:.8rem}.status-dot:before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--steel);flex-shrink:0}.status-dot.on:before{background:var(--live);animation:pulse-dot 2s ease infinite}.status-dot.off:before{background:var(--signal)}.live-stage{background:var(--live-bg);color:var(--live-ink);border-radius:14px;overflow:hidden;margin-bottom:1.25rem;border:1px solid var(--live-line);animation:rise .4s ease both;box-shadow:0 18px 48px #0a0d1047}.live-stage-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem 1.15rem;border-bottom:1px solid var(--live-line)}.live-stage-head h2{margin:0;font-family:var(--font-display);font-size:1.1rem;font-weight:700;letter-spacing:-.02em;color:var(--live-ink)}.live-stage-head .ghost{border-color:var(--live-line);color:var(--live-ink);background:transparent}.live-stage-head .ghost:hover:not(:disabled){border-color:var(--live-muted);background:#ffffff0a}.live-mismatch{margin:0;padding:.6rem 1.15rem;background:#c45c2633;color:#ffc9a8;font-size:.88rem;border-bottom:1px solid rgba(196,92,38,.35)}.live-body{display:grid;min-height:0}.live-body.preview-closed{grid-template-columns:1fr}.live-body.preview-open{grid-template-columns:minmax(17rem,.9fr) minmax(0,1.2fr);min-height:300px}@media(max-width:860px){.live-body.preview-open{grid-template-columns:1fr}}.live-preview-col{border-left:1px solid var(--live-line);display:flex;flex-direction:column;background:#05070a}@media(max-width:860px){.live-preview-col{border-left:0;border-top:1px solid var(--live-line)}}.live-body.preview-closed .live-preview-col{border-left:0;border-top:1px solid var(--live-line);background:transparent}.preview-toggle{align-self:flex-start;margin:.75rem 1rem .35rem;font:inherit;font-size:.85rem;color:var(--live-ink, #e8eef6);background:#ffffff0f;border:1px solid var(--live-line);border-radius:6px;padding:.4rem .75rem;cursor:pointer}.preview-toggle:hover{background:#ffffff1a}.preview-collapsed-hint{margin:0 1rem .9rem;font-size:.78rem}.live-preview{background:#05070a;min-height:280px;display:flex;flex-direction:column;justify-content:center}.preview-mjpeg{display:block;width:100%;max-height:440px;object-fit:contain;background:#05070a}.preview-caption{padding:.45rem .9rem .65rem;font-size:.72rem;color:var(--live-muted);font-family:var(--font-mono)}.preview-empty{padding:2.5rem 1.25rem;text-align:center;color:var(--live-muted)}.live-layers{padding:1rem 1.15rem 1.2rem;display:flex;flex-direction:column;gap:.8rem}.layer{border-bottom:1px solid var(--live-line);padding-bottom:.65rem}.layer:last-of-type{border-bottom:0}.live-stage .live-layers .chip-toggle{color:var(--live-ink, #e8eef6);border-color:var(--live-line);background:#ffffff0f}.live-stage .live-layers .chip-toggle.is-on{border-color:var(--signal, #3d9b8f);background:#3d9b8f40;color:var(--live-ink, #e8eef6)}.layer-label{display:block;font-size:.68rem;font-weight:600;color:var(--live-muted);margin-bottom:.2rem;letter-spacing:.03em;text-transform:uppercase}.layer-value{font-size:.95rem;color:var(--live-ink)}.audience-count{font-family:var(--font-display);font-size:2.25rem;font-weight:700;letter-spacing:-.04em;line-height:1}.live-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.15rem}.live-actions .btn,.live-actions button{background:transparent;border-color:var(--live-line);color:var(--live-ink);font-size:.78rem;min-height:38px;padding:.35rem .7rem}.live-actions .btn:hover,.live-actions button:hover:not(:disabled){border-color:var(--live);background:#0b7f8a26}.live-stage .status-ok{color:#3ecf8e}.live-stage .status-bad{color:#ffb088}.live-stage .muted{color:var(--live-muted)}.live-stage .screen-setup{background:var(--bg-elev);color:var(--ink);border-radius:var(--radius);padding:.85rem .95rem 1rem;border-bottom:0}.live-stage .screen-setup .layer-label,.live-stage .screen-setup .tgt-field span,.live-stage .screen-setup .eng-hint,.live-stage .screen-setup .muted{color:var(--steel);opacity:1}.live-stage .screen-setup .tgt-field input:not([type=checkbox]),.live-stage .screen-setup .tgt-field select{color:var(--ink);background:#fff;border-color:var(--line)}.live-stage .screen-setup .screen-check{flex-direction:row;align-items:center;gap:.55rem}.live-stage .screen-setup .screen-check input[type=checkbox]{width:1.1rem;height:1.1rem;margin:0;padding:0;flex:0 0 auto;accent-color:var(--live)}.live-stage .screen-setup button.ghost{color:var(--ink);border-color:var(--line);background:#fff}.live-stage .screen-setup button.ghost:hover:not(:disabled){border-color:var(--ink);background:#fff;color:var(--ink)}.live-stage .screen-setup button:not(.ghost){background:var(--ink);color:#f4f6f8;border-color:var(--ink)}.geo-map-panel{display:flex;flex-direction:column;gap:.85rem}.geo-map{height:min(70vh,640px);min-height:420px;border-radius:var(--radius);overflow:hidden;background:#d7dde3}.geo-map .screen-pin-wrap,.geo-map .map-face{background:transparent;border:0}.geo-map .map-face{width:80px;height:80px;min-height:0;padding:0;cursor:pointer;display:block;background:transparent}.geo-map .leaflet-div-icon.screen-pin-wrap{background:transparent;border:0}.map-fov{display:block;width:80px;height:80px;transform-origin:40px 46px}.shift-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}button.shift-row{width:100%;min-height:52px;justify-content:flex-start;gap:.75rem;background:var(--bg-elev);color:var(--ink);border-color:var(--line);text-align:left}button.shift-row:hover:not(:disabled){border-color:var(--ink);background:#fff;color:var(--ink)}.shift-copy{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;font-weight:500}.shift-copy strong{font-weight:650}.shift-calm{margin:.4rem 0 0;color:var(--ok)}.day-ribbon-block{margin-top:.65rem}.day-ribbon-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.35rem 1rem;margin-bottom:.35rem;font-size:.82rem}.day-ribbon{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:2px;height:52px}.day-cell{position:relative;border-radius:2px;min-width:0}.day-cell.is-now{outline:2px solid var(--ink);outline-offset:1px}.day-cell i{position:absolute;left:1px;right:1px;bottom:1px;background:#fff;border-radius:1px}.day-scale{display:flex;justify-content:space-between;margin-top:.25rem;font-size:.7rem;color:var(--steel)}@media(prefers-reduced-motion:reduce){.face-turn{transition:none}}.geo-map .screen-pin{width:28px;height:28px;min-height:0;padding:0;border-radius:50%;border:2px solid #fff;background:var(--live);position:relative;box-shadow:0 1px 4px #00000059;cursor:pointer}.geo-map .screen-pin i{position:absolute;left:50%;top:50%;width:2px;height:12px;margin-left:-1px;margin-top:-12px;background:#fff;transform-origin:bottom center;pointer-events:none}.geo-missing ul{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.adv-lede{color:var(--steel);margin:0 0 1.15rem;max-width:36rem}.adv-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:1.25rem}@media(max-width:640px){.adv-kpis{grid-template-columns:1fr}}.deals-table{width:100%;border-collapse:collapse;margin-bottom:1rem;font-size:.9rem}.deals-table th{text-align:left;font-size:.7rem;color:var(--steel);font-weight:600;padding:.35rem .5rem .55rem;border-bottom:1px solid var(--line)}.deals-table td{padding:.6rem .5rem;border-bottom:1px solid var(--line)}.eco-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem;padding-top:.5rem;font-size:.82rem}.eco-strip a{color:var(--steel);text-decoration:none;padding:.3rem .5rem;border-radius:6px}.eco-strip a:hover{color:var(--ink);background:#0000000a}.eco-strip .sep{color:var(--line)}details.raw-wrap{margin-top:1rem;font-size:.82rem;color:var(--steel)}details.raw-wrap summary{cursor:pointer;font-weight:600}.raw{margin-top:.55rem;padding:.75rem;border:1px solid var(--line);border-radius:8px;overflow:auto;max-height:12rem;background:var(--bg-elev);color:var(--ink)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes slide-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes pulse-dot{0%,to{box-shadow:0 0 #0b7f8a73}50%{box-shadow:0 0 0 5px transparent}}.seg-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.seg-chip{font-family:var(--font-ui);font-size:.75rem;padding:.25rem .55rem;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 22%,transparent);background:color-mix(in srgb,currentColor 6%,transparent)}.seg-chip.is-active-provider{border-color:var(--live);background:color-mix(in srgb,var(--live) 14%,transparent);font-weight:600}.tgt-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin-bottom:1rem}.tgt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.75rem;margin-bottom:1rem}.tgt-field{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem}.tgt-field.wide{grid-column:1 / -1}.tgt-field span{opacity:.7}.eng-block{border-top:1px solid color-mix(in srgb,currentColor 12%,transparent);margin-top:1.35rem;padding-top:1.1rem}.eng-title{font-size:1.05rem;font-weight:600;margin:0}.eng-lead{margin:.3rem 0 .85rem;max-width:36rem;color:var(--steel)}.eng-fields{display:flex;flex-direction:column;gap:.85rem;max-width:36rem}.eng-fields .tgt-field input,.eng-fields .tgt-field select{width:100%}.eng-hint{opacity:.65;font-size:.75rem}.eng-reset{align-self:flex-start;margin-top:.35rem}.tgt-field input,.tgt-field select{font:inherit;padding:.45rem .55rem;border:1px solid color-mix(in srgb,currentColor 20%,transparent);background:transparent;color:inherit}.tgt-preview{border:1px solid color-mix(in srgb,currentColor 14%,transparent);padding:.85rem 1rem;margin-bottom:.75rem}.tgt-preview-meta{display:grid;gap:.35rem;margin-bottom:.65rem;font-size:.9rem}.deal-target-card{border:1px solid color-mix(in srgb,currentColor 14%,transparent);padding:.85rem 1rem;margin-bottom:.85rem}.deal-target-head{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.65rem;align-items:baseline}.deal-create{margin:0 0 1.25rem;padding:1rem 1.1rem 1.05rem;border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb,var(--bg-elev) 70%,#fff)}.deal-create .panel-head{margin-bottom:.75rem}.deal-create-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.85rem}.check-inline{display:inline-flex;align-items:center;gap:.45rem;font-size:.88rem;color:var(--steel);cursor:pointer}.status-pill{display:inline-block;font-size:.75rem;font-weight:600;padding:.15rem .5rem;border-radius:999px;border:1px solid var(--line);color:var(--steel);background:var(--bg)}.status-pill.on{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,var(--line));background:color-mix(in srgb,var(--ok) 10%,var(--bg-elev))}.deals-table td .muted{font-size:.8rem}.arch-map{display:flex;flex-direction:column;gap:1rem}.arch-map-body{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,.65fr);gap:1rem;align-items:start}@media(max-width:960px){.arch-map-body{grid-template-columns:1fr}}.arch-map-canvas{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1rem 1.15rem;overflow-x:auto}.arch-bus{position:relative;padding:.35rem .25rem .15rem;min-width:640px}.arch-bus-rail{position:absolute;left:1.1rem;right:1.1rem;top:2.55rem;height:2px;background:linear-gradient(90deg,color-mix(in srgb,var(--live) 55%,var(--line)),color-mix(in srgb,var(--signal) 35%,var(--line)));border-radius:1px;pointer-events:none;z-index:0}.arch-bus-stations{list-style:none;margin:0;padding:0;display:flex;align-items:flex-start;position:relative;z-index:1}.arch-bus-slot{flex:1 1 0;display:flex;flex-direction:column;align-items:center;min-width:0;gap:.35rem}.arch-bus-label{display:block;min-height:.95rem;font-size:.62rem;line-height:1;color:var(--steel);text-align:center;letter-spacing:.01em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arch-bus-label-spacer{visibility:hidden}.arch-station{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:.7rem .65rem .55rem;width:calc(100% - .35rem);max-width:6.8rem;cursor:pointer;text-align:left;position:relative;box-shadow:0 1px color-mix(in srgb,var(--ink) 4%,transparent);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.arch-station:hover{border-color:color-mix(in srgb,var(--live) 45%,var(--line));transform:translateY(-1px)}.arch-station.is-on{border-color:var(--live);box-shadow:0 0 0 2px color-mix(in srgb,var(--live) 22%,transparent)}.arch-station.is-home{border-style:dashed}.arch-station.is-guest{border-style:dashed;background:color-mix(in srgb,var(--signal) 7%,#fff)}.arch-station.is-compact{max-width:none;width:auto;min-width:5.2rem;padding:.45rem .55rem .4rem}.arch-station-title{display:block;font-family:var(--font-display);font-weight:650;font-size:.88rem;letter-spacing:-.01em;padding-right:.7rem}.arch-station.is-compact .arch-station-title{font-size:.78rem}.arch-station-group{display:block;margin-top:.15rem;font-size:.62rem;color:var(--steel);letter-spacing:.02em}.arch-pulse{position:absolute;top:.35rem;right:.35rem;width:.42rem;height:.42rem;border-radius:50%;background:var(--steel)}.arch-pulse.pulse-ok{background:var(--ok)}.arch-pulse.pulse-bad{background:var(--signal)}.arch-pulse.pulse-off{background:var(--line)}.arch-pulse.pulse-unknown{background:var(--steel);opacity:.45}.arch-demand-spur{display:flex;flex-direction:column;align-items:center;margin-top:.15rem;gap:0}.arch-spur-wire{display:flex;flex-direction:column;align-items:center;width:1px;height:1.35rem;background:repeating-linear-gradient(180deg,var(--signal) 0 3px,transparent 3px 6px);order:-1;margin-bottom:.2rem}.arch-spur-cap{position:absolute;transform:translateY(-.1rem);font-size:.6rem;color:var(--signal);white-space:nowrap;margin-left:2.2rem}.arch-spur-wire{position:relative}.arch-platform{margin-top:1.15rem;padding-top:.85rem;border-top:1px dashed var(--line)}.arch-platform-head{margin:0 0 .55rem;font-family:var(--font-display);font-size:.78rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--steel)}.arch-platform-row{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.arch-infra{margin-top:.75rem}.arch-infra summary{cursor:pointer;color:var(--steel);font-size:.82rem;-webkit-user-select:none;user-select:none}.arch-infra-row{margin-top:.45rem}.arch-map-detail{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.15rem 1.2rem}.arch-map-detail h2{margin:0 0 .45rem;font-family:var(--font-display);font-size:1.2rem;letter-spacing:-.02em}.arch-map-detail p{margin:0;color:var(--steel);font-size:.92rem}.arch-map-detail .hint{margin-top:.35rem}.arch-group-tag{margin:0 0 .35rem!important;font-size:.72rem!important;letter-spacing:.03em;text-transform:uppercase}.arch-detail-pulse{margin-left:.55rem;font-family:var(--font-ui);font-size:.72rem;font-weight:600;letter-spacing:0;color:var(--steel);vertical-align:middle}.arch-detail-pulse.pulse-ok{color:var(--ok)}.arch-detail-pulse.pulse-bad{color:var(--signal)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
