.dashboard{gap:1.4rem}.dash-eyebrow{display:flex;flex-direction:column;gap:.35rem}.dash-title{margin:0;font-size:26px;font-weight:600;letter-spacing:-.02em;color:var(--text);line-height:1.05}.dash-title .serif-accent{font-size:28px}.kpi-value-row{gap:.75rem;align-items:baseline}.kpi-accessory{flex:1;display:flex;justify-content:flex-end;align-self:center;min-width:0}.dash-live{display:inline-flex;align-items:center;gap:.5rem}.dash-table{width:100%}.dash-row{cursor:pointer;position:relative;transition:background-color .18s var(--ease-out),box-shadow .18s var(--ease-out)}.dash-row>td{position:relative;transition:border-color .18s var(--ease-out)}.dash-row>td:first-child:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;border-radius:2px;background:var(--border-strong);transition:background-color .18s var(--ease-out)}.dash-row.sev-danger>td:first-child:before{background:var(--danger)}.dash-row.sev-warn>td:first-child:before{background:var(--gold)}.dash-row.sev-info>td:first-child:before{background:var(--info)}.dash-row:hover{background:var(--hover)}.dash-row:hover>td:first-child:before{background:var(--gold-bright);box-shadow:0 0 8px var(--gold-glow)}.dash-row:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.dash-rel{font-size:11px}.dash-kind{font-weight:500;color:var(--text)}.dash-detail{font-size:11px;max-width:0;width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-event-detail{gap:1.1rem}.dash-event-meta{gap:1rem 1.25rem}.dash-event-meta>div{display:flex;flex-direction:column;gap:.3rem}.dash-event-kind{font-size:15px;font-weight:600;color:var(--text)}.dash-event-rawkind,.dash-event-iso{font-size:11px}.dash-payload-label{margin-bottom:.45rem}.dash-payload{margin:0;padding:.85rem 1rem;background:var(--bg-3);border:1px solid var(--border);border-left:2px solid var(--gold-line);border-radius:var(--r-md);font-size:12px;line-height:1.55;color:var(--text-muted);white-space:pre-wrap;word-break:break-word;max-height:320px;overflow:auto}.doors-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.door-card{display:flex;flex-direction:column;gap:.95rem;padding:1.15rem 1.2rem;overflow:hidden}.door-card:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,var(--gold-line),transparent);opacity:0;transition:opacity .25s var(--ease-out);pointer-events:none}.door-card:hover:before{opacity:1}.door-card.is-lockdown:before{background:linear-gradient(90deg,transparent,var(--danger),transparent);opacity:.7}.door-card.is-lockdown:after{content:"";position:absolute;inset:0;background:radial-gradient(140% 120% at 0% 0%,var(--danger-soft),transparent 55%);pointer-events:none}.door-card__head{display:flex;align-items:flex-start;gap:.8rem}.door-card__glyph{flex:none;width:42px;height:42px;border-radius:var(--r-md);display:grid;place-items:center;background:var(--gold-soft);border:1px solid var(--gold-line);color:var(--gold);transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s}.door-card:hover .door-card__glyph{box-shadow:0 0 18px var(--gold-glow)}.door-card__glyph.is-lockdown{background:var(--danger-soft);border-color:color-mix(in oklab,var(--danger) 35%,transparent);color:var(--danger)}.door-card:hover .door-card__glyph.is-lockdown{box-shadow:0 0 18px var(--danger-soft)}.door-card__glyph.is-open{background:var(--info-soft);border-color:color-mix(in oklab,var(--info) 35%,transparent);color:var(--info)}.door-card__title-wrap{min-width:0;flex:1}.door-card__name{font-weight:600;font-size:15px;letter-spacing:-.01em;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.door-card__meta{display:flex;align-items:center;gap:.5rem;margin-top:.4rem;flex-wrap:wrap}.door-card__telemetry{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--text-dim);text-transform:uppercase}.door-card__actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem}.door-card__unlock-btn.is-unlocked{--_pulse: var(--ok)}.door-card__unlock-btn.is-unlocked:not(:disabled){box-shadow:0 0 0 1px color-mix(in oklab,var(--ok) 50%,transparent),0 0 16px color-mix(in oklab,var(--ok) 30%,transparent)}.door-card__unlock-btn.is-failed:not(:disabled){box-shadow:0 0 0 1px color-mix(in oklab,var(--danger) 50%,transparent),0 0 16px var(--danger-soft)}@keyframes door-unlocking{0%,to{opacity:1}50%{opacity:.45}}.door-card__glyph.is-unlocking{animation:door-unlocking .9s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.door-card__glyph.is-unlocking{animation:none}}.crud-head{display:flex;flex-direction:column;gap:.25rem}.crud-head .crud-title{margin:0;font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--text)}.crud-head .crud-title .accent{font-family:var(--font-display);font-style:italic;font-weight:400;color:var(--gold)}.crud-head .crud-sub{font-size:13px;color:var(--text-muted);max-width:60ch}.crud-count{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap}.crud-count strong{color:var(--gold);font-weight:600}.crud-table.table tbody tr{position:relative}.crud-table.table tbody tr td:first-child{box-shadow:inset 2px 0 0 transparent;transition:box-shadow .15s var(--ease-out)}.crud-table.table tbody tr:hover td:first-child{box-shadow:inset 2px 0 0 var(--gold)}.crud-secret{font-family:var(--font-mono);font-size:12px;line-height:1.5;word-break:break-all;background:var(--bg-2);border:1px solid var(--gold-line);border-radius:var(--r-md);padding:.7rem .85rem;color:var(--champagne)}.crud-picker{max-height:220px;overflow:auto;display:flex;flex-direction:column;gap:.15rem;border:1px solid var(--border);border-radius:var(--r-md);padding:.4rem;background:var(--bg-0)}.crud-picker label{display:flex;align-items:center;gap:.55rem;padding:.4rem .5rem;border-radius:var(--r-sm);cursor:pointer;transition:background .12s}.crud-picker label:hover{background:var(--hover)}.crud-picker input[type=checkbox]{width:auto}.cp{display:flex;flex-direction:column;gap:1.5rem}.cp-header{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:1rem}.cp-title h1{font-size:24px;margin:.25rem 0 0;letter-spacing:-.01em}.cp .badge .live-dot{width:6px;height:6px;margin-right:1px}.cp-snapshot{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-dim);border:1px solid var(--border);background:var(--bg-2);padding:3px 9px;border-radius:9999px;white-space:nowrap}.cp-snapshot svg{color:var(--gold)}.cp-section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.85rem}.cp-section-head h2{font-size:13px;text-transform:uppercase;letter-spacing:.12em;font-family:var(--font-mono);color:var(--text-muted);font-weight:500;margin:0}.cp-health{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.cp-pill{display:flex;align-items:center;gap:.7rem;padding:.7rem .85rem;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-1);transition:border-color .2s var(--ease-out),background .2s var(--ease-out)}.cp-pill-icon{width:32px;height:32px;flex:none;border-radius:var(--r-md);display:grid;place-items:center;background:var(--bg-3);color:var(--text-muted)}.cp-pill-text{display:flex;flex-direction:column;gap:2px;min-width:0}.cp-pill-label{font-size:12px;color:var(--text-muted)}.cp-pill-state{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:.03em;text-transform:uppercase;color:var(--text)}.cp-pill-dot{width:7px;height:7px;border-radius:9999px;background:var(--text-dim)}.cp-pill-ok{border-color:color-mix(in oklab,var(--ok) 30%,var(--border))}.cp-pill-ok .cp-pill-icon{background:var(--ok-soft);color:var(--ok)}.cp-pill-ok .cp-pill-state{color:var(--ok)}.cp-pill-ok .cp-pill-dot{background:var(--ok);box-shadow:0 0 9px var(--ok)}.cp-pill-fault{border-color:color-mix(in oklab,var(--danger) 38%,var(--border));background:color-mix(in oklab,var(--danger-soft) 60%,var(--bg-1))}.cp-pill-fault .cp-pill-icon{background:var(--danger-soft);color:var(--danger)}.cp-pill-fault .cp-pill-state{color:var(--danger)}.cp-pill-fault .cp-pill-dot{background:var(--danger);box-shadow:0 0 9px var(--danger);animation:pulse-soft 1.8s ease-in-out infinite}.cp-pill-unknown .cp-pill-state{color:var(--text-dim)}.cp-pill-fw{border-color:var(--gold-line)}.cp-pill-fw .cp-pill-icon{background:var(--gold-soft);color:var(--gold)}.cp-pill-fw .cp-pill-state{color:var(--gold-bright);text-transform:none}@media(prefers-reduced-motion:reduce){.cp-pill-fault .cp-pill-dot{animation:none}}.cp-door{display:flex;flex-direction:column;gap:.9rem;transition:transform .2s var(--ease-out),border-color .2s var(--ease-out),box-shadow .2s var(--ease-out)}.cp-door:hover{transform:translateY(-2px);border-color:var(--gold-line);box-shadow:var(--shadow-md)}.cp-door-lockdown{border-color:color-mix(in oklab,var(--danger) 40%,var(--border))}.cp-door-head{display:flex;align-items:center;gap:.75rem}.cp-door-icon{width:38px;height:38px;flex:none;border-radius:var(--r-md);display:grid;place-items:center;background:var(--bg-3);color:var(--text-muted)}.cp-door-icon.is-ok{background:var(--ok-soft);color:var(--ok)}.cp-door-icon.is-gold{background:var(--gold-soft);color:var(--gold)}.cp-door-icon.is-warn{background:var(--warn-soft);color:var(--warn)}.cp-door-icon.is-danger,.cp-door-icon.is-lockdown{background:var(--danger-soft);color:var(--danger)}.cp-door-name{display:flex;flex-direction:column;gap:1px;min-width:0;margin-right:auto}.cp-door-name strong{font-size:15px;font-weight:600}.cp-door-name .mono{font-size:11px}.cp-door .badge .live-dot{width:6px;height:6px;margin-right:1px}.cp-door-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.cp-modal-status{display:flex;align-items:center;justify-content:space-between;padding:.6rem .8rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-2);margin-bottom:1rem}.cp-field{display:flex;flex-direction:column;gap:.45rem}.cp-field-label{font-size:12px;color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase}.cp-modal-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.3rem}.cp-zones{list-style:none;padding:0;margin:0;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-1);overflow:hidden}.cp-zone{display:flex;align-items:center;gap:.75rem;padding:.7rem .9rem;border-bottom:1px solid var(--border);transition:background .12s}.cp-zone:last-child{border-bottom:none}.cp-zone:hover{background:var(--hover)}.cp-zone-name{flex:1;font-size:13px;color:var(--text);min-width:0}.cp-zone-dot{width:8px;height:8px;flex:none;border-radius:9999px;background:var(--text-dim)}.cp-zone-dot.is-ok{background:var(--ok);box-shadow:0 0 8px var(--ok)}.cp-zone-dot.is-warn{background:var(--warn);box-shadow:0 0 8px var(--warn)}.cp-zone-dot.is-danger{background:var(--danger);box-shadow:0 0 8px var(--danger)}.cp-zone-dot.is-info{background:var(--info);box-shadow:0 0 8px var(--info)}.zones-page .page-head{display:flex;flex-direction:column;gap:.4rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.zones-page .page-head h1{font-size:24px;margin:0;letter-spacing:-.025em;line-height:1.05;color:var(--text)}.zones-page .page-head p{margin:0;font-size:13px}.zones-page .cell-name{font-weight:500;color:var(--text)}.hotel-head{display:flex;align-items:flex-end;gap:1rem;margin-bottom:1.4rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.hotel-head .title{display:flex;flex-direction:column;gap:.35rem}.hotel-head h1{font-size:26px;margin:0;letter-spacing:-.025em;line-height:1}.hotel-head h1 .serif{font-family:var(--font-display);font-style:italic;font-weight:400;color:var(--gold)}.hotel-head .sub{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.hotel-head .spacer{flex:1}.hotel-head .occupancy{display:flex;gap:1.5rem;align-items:baseline}.hotel-head .occupancy .stat{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}.hotel-head .occupancy .stat .n{font-size:22px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.hotel-head .occupancy .stat .n.gold{color:var(--gold)}.hotel-head .occupancy .stat .k{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim)}.floorplan{display:flex;gap:.6rem;flex-wrap:wrap;padding:1rem 1.1rem;margin-bottom:1.4rem;border:1px solid var(--border);border-radius:var(--r-lg);background:radial-gradient(120% 140% at 0% 0%,var(--gold-soft),transparent 50%),var(--bg-1);position:relative;overflow:hidden}.floorplan .fp-label{position:absolute;top:.6rem;right:.9rem;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}.fp-tile{display:flex;flex-direction:column;gap:.3rem;min-width:92px;padding:.65rem .75rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-2);cursor:pointer;transition:border-color .18s,transform .18s var(--ease-out)}.fp-tile:hover{border-color:var(--gold-line);transform:translateY(-2px)}.fp-tile .fp-no{font-weight:700;font-size:15px;letter-spacing:-.01em}.fp-tile .fp-state{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;gap:.3rem}.fp-tile .fp-dot{width:6px;height:6px;border-radius:9999px;background:var(--text-dim)}.fp-tile.unlocked{border-color:var(--gold-line)}.fp-tile.unlocked .fp-dot{background:var(--gold);box-shadow:0 0 8px var(--gold)}.fp-tile.unlocked .fp-state{color:var(--gold)}.fp-tile.lockdown{border-color:color-mix(in oklab,var(--danger) 40%,transparent)}.fp-tile.lockdown .fp-dot{background:var(--danger);box-shadow:0 0 8px var(--danger)}.fp-tile.lockdown .fp-state{color:var(--danger)}.fp-tile.secured .fp-dot{background:var(--ok)}.fp-tile.secured .fp-state{color:var(--ok)}.rooms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1rem}.room-card{position:relative;display:flex;flex-direction:column;gap:.85rem;padding:1.1rem;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-1);overflow:hidden;transition:border-color .2s,transform .2s var(--ease-out),box-shadow .2s}.room-card:after{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,var(--gold-line),transparent);opacity:0;transition:opacity .25s}.room-card:hover{border-color:var(--gold-line);transform:translateY(-3px);box-shadow:var(--shadow-md)}.room-card:hover:after{opacity:1}.room-card.is-lockdown{border-color:color-mix(in oklab,var(--danger) 40%,transparent)}.room-card .rc-top{display:flex;align-items:flex-start;gap:.75rem}.room-card .rc-no{display:flex;flex-direction:column}.room-card .rc-no .num{font-size:27px;font-weight:700;letter-spacing:-.03em;line-height:1}.room-card .rc-no .type{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-top:.25rem}.room-card .rc-top .spacer{flex:1}.lineage{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.05em;padding:.3rem .6rem;border:1px dashed var(--gold-line);border-radius:9999px;background:var(--gold-soft);color:var(--gold)}.lineage .arrow{opacity:.7}.lineage .porte{color:var(--text-muted)}.room-card .rc-guest{display:flex;align-items:center;gap:.6rem;padding:.55rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.room-card .rc-guest .avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--gold-soft);color:var(--gold);font-family:var(--font-mono);font-size:11px;font-weight:600;border:1px solid var(--gold-line)}.room-card .rc-guest .who{display:flex;flex-direction:column;gap:.1rem}.room-card .rc-guest .who .name{font-weight:600;font-size:13.5px}.room-card .rc-guest .who .meta{font-family:var(--font-mono);font-size:10.5px;color:var(--text-dim)}.room-card .rc-vacant{padding:.55rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:11.5px;color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase}.room-card .rc-actions{display:flex;gap:.5rem;align-items:center}.room-card .rc-actions .spacer{flex:1}.status-chip{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;padding:3px 9px;border-radius:9999px;border:1px solid var(--border);color:var(--text-muted);background:var(--bg-2)}.status-chip .d{width:6px;height:6px;border-radius:9999px;background:currentColor}.status-chip.occupied{color:var(--gold);border-color:var(--gold-line);background:var(--gold-soft)}.status-chip.vacant_clean{color:var(--ok);border-color:color-mix(in oklab,var(--ok) 30%,transparent);background:var(--ok-soft)}.status-chip.vacant_dirty{color:var(--warn);border-color:color-mix(in oklab,var(--warn) 30%,transparent);background:var(--warn-soft)}.status-chip.ooo{color:var(--danger);border-color:color-mix(in oklab,var(--danger) 30%,transparent);background:var(--danger-soft)}.lockstate{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.lockstate svg{width:13px;height:13px}.lockstate.secured{color:var(--ok)}.lockstate.unlocked{color:var(--gold)}.lockstate.lockdown{color:var(--danger)}.room-detail{display:flex;flex-direction:column;gap:1.1rem}.room-detail .rd-section-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.6rem;display:flex;align-items:center;gap:.5rem}.room-detail .rd-section-label:after{content:"";flex:1;height:1px;background:var(--border)}.room-detail .rd-controls{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.room-detail .rd-duration{display:flex;align-items:center;gap:.4rem}.room-detail .rd-duration input{width:64px;text-align:center}.room-detail .rd-duration .u{font-family:var(--font-mono);font-size:11px;color:var(--text-dim)}.iot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.55rem}.iot-tile{display:flex;flex-direction:column;gap:.35rem;padding:.7rem .8rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-2);color:var(--text-muted)}.iot-tile .iot-top{display:flex;align-items:center;gap:.4rem}.iot-tile .iot-top svg{color:var(--gold)}.iot-tile .iot-k{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.iot-tile .iot-v{font-size:14px;font-weight:600;color:var(--text)}.iot-tile .iot-soon{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);opacity:.7}.rd-activity{display:flex;flex-direction:column;gap:0}.rd-activity .ev{display:grid;grid-template-columns:auto 1fr auto;gap:.6rem;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border);font-size:12.5px}.rd-activity .ev:last-child{border-bottom:none}.rd-activity .ev .t{font-family:var(--font-mono);font-size:10.5px;color:var(--text-dim)}.schedules-page .page-head{display:flex;align-items:flex-end;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.schedules-page .page-head .title{display:flex;flex-direction:column;gap:.4rem}.schedules-page .page-head h1{font-size:24px;margin:0;letter-spacing:-.025em;line-height:1.05;color:var(--text)}.schedules-page .page-head p{margin:0;font-size:13px}.schedules-page .cell-name{font-weight:500;color:var(--text)}.schedules-page .field,#schedule-form .field{display:flex;flex-direction:column;gap:.4rem}#schedule-form .field-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}#schedule-form .day-pill{padding:4px 12px;font-size:12px;min-width:44px}.holidays-page .page-head{display:flex;align-items:flex-end;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.holidays-page .page-head .title{display:flex;flex-direction:column;gap:.4rem}.holidays-page .page-head h1{font-size:24px;margin:0;letter-spacing:-.025em;line-height:1.05;color:var(--text)}.holidays-page .page-head p{margin:0;font-size:13px}.holidays-page .cell-name{font-weight:500;color:var(--text)}#holiday-form .field{display:flex;flex-direction:column;gap:.4rem}#holiday-form .field-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}#holiday-form .repeat-toggle{font-size:13px;color:var(--text-muted);cursor:pointer}.settings-page .page-head{display:flex;flex-direction:column;gap:.4rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.settings-page .page-head h1{font-size:24px;margin:0;letter-spacing:-.025em;line-height:1.05;color:var(--text)}.settings-page .page-head p{margin:0;font-size:13px}.settings-page .setting-note{font-size:13px;margin:0;max-width:60ch}.settings-page .prefs-scroll{margin-top:12px;max-height:320px;overflow:auto;border:1px solid var(--border);border-radius:var(--r-md)}.settings-page .prefs-scroll .table thead th{position:sticky;top:0;background:var(--bg-1);z-index:1}.dev{position:relative}.dev-hero{position:relative;padding:1.6rem 1.6rem 1.5rem;border:1px solid var(--border);border-radius:var(--r-xl);background:radial-gradient(120% 140% at 100% -10%,var(--gold-soft),transparent 55%),var(--bg-1);overflow:hidden}.dev-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold-line) 25%,var(--gold-line) 75%,transparent)}.dev-hero h1{margin:.55rem 0 .4rem;font-size:clamp(22px,3vw,30px);line-height:1.12;letter-spacing:-.01em}.dev-hero p{margin:0;max-width:56ch;font-size:14px}.dev-stats{display:inline-flex;align-items:center;gap:.7rem;margin-top:1rem;padding:.4rem .8rem;border:1px solid var(--gold-line);border-radius:9999px;background:var(--gold-soft);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.dev-stats-sep{color:var(--text-dim)}.dev-table-wrap{overflow-x:auto;margin:0 -.2rem;padding:0 .2rem}.dev-keycode{font-family:var(--font-mono);font-size:12px;color:var(--champagne);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:.18rem .5rem;white-space:nowrap}.dev-scopes{flex-wrap:wrap;gap:.3rem}.dev-row-actions{text-align:right;white-space:nowrap}.dev-revoke{color:var(--text-dim);transition:color .15s,background .15s}.dev-revoke:hover:not(:disabled){color:var(--danger);background:var(--danger-soft)}.dev-row-revoked td{opacity:.55}.dev-empty{display:flex;flex-direction:column;align-items:center;gap:.6rem}.dev-empty .icon{color:var(--gold);opacity:.7}.dev-empty p{margin:0;max-width:48ch}.dev-docs p,.dev-soon p{margin:0 0 .9rem;font-size:14px}.dev-soon{border-style:dashed;border-color:var(--border-strong)}.dev-soon .card-header svg{opacity:.7}.dev-form{gap:1.1rem}.dev-field{display:flex;flex-direction:column;gap:.4rem}.dev-field-hint{margin:-.1rem 0 .2rem;font-size:12px}.dev-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.dev-scope{display:flex;align-items:center;gap:.55rem;padding:.55rem .7rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-2);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.dev-scope:hover{border-color:var(--border-strong);background:var(--hover)}.dev-scope input{width:auto;margin:0;accent-color:var(--gold)}.dev-scope.is-on{border-color:var(--gold-line);background:var(--gold-soft);color:var(--gold-bright)}@media(max-width:480px){.dev-scope-grid{grid-template-columns:1fr}}.dev-secret-note{margin:0 0 .8rem;font-size:13px}.dev-secret{margin:0;font-family:var(--font-mono);font-size:12.5px;line-height:1.55;color:var(--gold-bright);background:var(--bg-3);border:1px solid var(--gold-line);border-radius:var(--r-md);padding:.8rem .9rem;word-break:break-all;white-space:pre-wrap;box-shadow:inset 0 0 24px var(--gold-soft)}.landing{height:100%;overflow-x:hidden;overflow-y:auto;position:relative;isolation:isolate;background:radial-gradient(900px 480px at 18% 2%,var(--gold-soft),transparent 62%),linear-gradient(180deg,transparent,color-mix(in oklab,var(--bg-0) 70%,transparent)),var(--bg-0)}.landing:before{content:"";position:fixed;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 28%,var(--champagne) 50%,var(--gold) 72%,transparent);opacity:.72;z-index:5;pointer-events:none}.landing-field{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.field-orb{position:absolute;border-radius:50%;filter:blur(64px);opacity:.9;will-change:transform}.field-orb.a{top:-14%;left:-2%;width:min(54vw,760px);height:min(54vw,760px);background:radial-gradient(closest-side,var(--gold-soft),transparent 72%)}.field-orb.b{top:4%;right:-10%;width:min(46vw,680px);height:min(46vw,680px);background:radial-gradient(closest-side,color-mix(in oklab,var(--champagne) 14%,transparent),transparent 70%)}.field-orb.c{left:35%;bottom:8%;width:min(38vw,540px);height:min(38vw,540px);background:radial-gradient(closest-side,color-mix(in oklab,var(--info) 16%,transparent),transparent 74%)}.field-orb.static{top:-10%;left:8%;width:min(60vw,900px);height:min(50vw,620px);background:radial-gradient(closest-side,var(--gold-soft),transparent 70%)}.field-grid{position:absolute;inset:0;opacity:.95;-webkit-mask-image:radial-gradient(120% 90% at 50% 0%,#000 34%,transparent 86%);mask-image:radial-gradient(120% 90% at 50% 0%,#000 34%,transparent 86%)}.field-scan{position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 44px,var(--scan-line) 44px 45px);opacity:.9}.field-grain{position:absolute;inset:0}.landing-inner{max-width:1220px;margin:0 auto;padding:0 2rem;position:relative;z-index:1}.landing-coord{position:absolute;top:1rem;font-family:var(--font-mono);font-size:10px;color:var(--text-dim);letter-spacing:.09em;text-transform:uppercase;pointer-events:none}.landing-coord.tl{left:0}.landing-coord.tr{right:0}.eyebrow{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.55rem;max-width:100%;padding:.34rem .78rem .34rem .56rem;border-radius:9999px;background:var(--gold-soft);border:1px solid var(--gold-line);color:var(--gold);font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;white-space:normal}.eyebrow .dot{width:6px;height:6px;border-radius:9999px;background:var(--gold);box-shadow:0 0 12px var(--gold);animation:landing-pulse 2s ease-in-out infinite}@keyframes landing-pulse{0%,to{opacity:.55;transform:scale(.85)}50%{opacity:1;transform:scale(1.08)}}@media(max-width:760px){.landing-inner{padding:0 1rem}.landing-coord{display:none}}@media(prefers-reduced-motion:reduce){.eyebrow .dot{animation:none}}.landing-nav{display:flex;align-items:center;gap:.8rem;padding:1.6rem 0 1rem;border-bottom:1px solid var(--border)}.landing-nav .spacer,.landing-footer .spacer{flex:1}.brand-block{display:inline-flex;align-items:center;gap:.65rem;font-weight:700}.brand-block .mark{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,var(--gold-bright),var(--gold) 58%,var(--gold-deep));display:grid;place-items:center;color:var(--accent-fg);font-weight:800;font-size:13px;box-shadow:0 0 0 1px var(--gold-line),var(--shadow-gold)}.brand-block .name{font-size:15px;letter-spacing:.02em}.landing-nav .meta{font-family:var(--font-mono);font-size:10.5px;color:var(--text-dim);letter-spacing:.05em;text-transform:uppercase}.landing-nav .meta .ok{color:var(--ok)}.landing-nav .meta .sep{color:var(--border-strong);margin:0 .5rem}.btn-primary,.btn-ghost{border-radius:9999px;justify-content:center;white-space:nowrap}.btn-primary{padding:.75rem 1.15rem;font-size:14.5px}.btn-ghost{padding:.75rem 1.05rem;font-size:14.5px;font-weight:500;background:color-mix(in oklab,var(--bg-1) 32%,transparent);color:var(--text);border:1px solid var(--border-strong);box-shadow:none}.btn-ghost:after{display:none}.btn-ghost:hover:not(:disabled){background:var(--bg-2);border-color:var(--gold-line);box-shadow:var(--shadow-sm)}.landing-footer{display:flex;align-items:center;gap:1rem;padding:1.5rem 0 2rem;border-top:1px solid var(--border);font-family:var(--font-mono);font-size:11px;color:var(--text-dim);letter-spacing:.05em}.landing-footer a{color:var(--text-muted)}.landing-footer a:hover{color:var(--gold)}.footer-sep{color:var(--border-strong)}@media(max-width:760px){.landing-nav .meta,.nav-demo{display:none}.landing-nav{padding-top:1rem}.landing-footer{flex-wrap:wrap}}@media(max-width:420px){.nav-sign-in{padding:.68rem .82rem}.brand-block .name{font-size:14px}}.landing-hero{padding:5rem 0 4rem;display:grid;grid-template-columns:minmax(0,.94fr) minmax(420px,1.06fr);gap:3rem;align-items:center}.hero-copy{max-width:590px;min-width:0}.landing-hero>*{min-width:0}.landing h1.display{font-family:var(--font-sans);font-size:clamp(3rem,6.4vw,5.6rem);line-height:.93;letter-spacing:-.065em;margin:1.35rem 0 1.25rem;font-weight:650;color:var(--text)}.landing h1.display .serif{display:inline;font-family:var(--font-display);font-style:italic;font-weight:400;color:var(--gold);letter-spacing:-.035em}.landing .lead{font-size:17px;line-height:1.62;color:var(--text-muted);max-width:36rem;margin:0 0 2rem;overflow-wrap:anywhere}.cta-row{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}.cta-row.center{justify-content:center}.hero-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:2rem;border:1px solid var(--border);border-radius:18px;overflow:hidden;background:color-mix(in oklab,var(--bg-1) 72%,transparent)}.hero-stat{padding:1rem;border-right:1px solid var(--border)}.hero-stat:last-child{border-right:none}.hero-stat strong{display:block;font-family:var(--font-display);font-size:31px;font-style:italic;font-weight:400;line-height:1;color:var(--text)}.hero-stat span,.hero-stat small{display:block;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.hero-stat span{margin-top:.6rem;font-size:10.5px;color:var(--gold)}.hero-stat small{margin-top:.35rem;font-size:9.5px;color:var(--text-dim);line-height:1.35}@media(max-width:1040px){.landing-hero{grid-template-columns:1fr;padding-top:3rem}.hero-copy{max-width:720px}}@media(max-width:640px){.landing h1.display{font-size:clamp(2.8rem,14vw,4.2rem)}.hero-stat-grid{grid-template-columns:1fr}.hero-stat{border-right:none;border-bottom:1px solid var(--border)}.hero-stat:last-child{border-bottom:none}}@media(max-width:420px){.landing h1.display{font-size:clamp(2.45rem,13vw,3.4rem)}.landing .lead{font-size:16px}}.command-deck{position:relative;min-width:0;min-height:650px;border:1px solid var(--border-strong);border-radius:28px;padding:1rem;overflow:hidden;background:linear-gradient(145deg,color-mix(in oklab,var(--bg-2) 82%,transparent),color-mix(in oklab,var(--bg-0) 92%,transparent)),radial-gradient(680px 320px at 46% 12%,var(--gold-soft),transparent 62%);box-shadow:var(--shadow-lg),0 0 0 1px var(--gold-line)}.command-deck:before{content:"";position:absolute;inset:10px;border-radius:22px;border:1px solid var(--border);pointer-events:none}.deck-topline,.deck-actions{position:relative;z-index:2;display:flex;align-items:center;gap:.75rem;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.deck-topline strong{margin-left:auto;color:var(--gold);font-weight:500}.deck-map{position:relative;height:295px;margin:1rem 0;border-radius:22px;background:linear-gradient(90deg,transparent 49.6%,var(--grid-line) 50%,transparent 50.4%),linear-gradient(0deg,transparent 49.6%,var(--grid-line) 50%,transparent 50.4%);background-size:44px 44px;border:1px solid var(--border);overflow:hidden}.deck-map:before{content:"";position:absolute;inset:15% 10%;border:1px dashed var(--gold-line);border-radius:999px;transform:rotate(-12deg)}.site-pin,.relay-node,.cloud-node,.door-command{position:absolute;z-index:1;background:color-mix(in oklab,var(--bg-1) 82%,transparent);border:1px solid var(--border-strong);box-shadow:var(--shadow-md)}.site-pin{min-width:86px;padding:.6rem .7rem;border-radius:14px;font-family:var(--font-mono);font-size:11px;color:var(--text)}.site-pin span{display:inline-block;width:8px;height:8px;margin-right:.35rem;border-radius:50%;background:var(--ok);box-shadow:0 0 12px var(--ok)}.site-pin small,.relay-node span,.cloud-node span,.door-command span{display:block;margin-top:.2rem;color:var(--text-dim);font-size:10px;text-transform:uppercase;letter-spacing:.07em}.pin-a{top:32px;left:28px}.pin-b{top:94px;right:46px}.pin-c{bottom:42px;left:86px}.relay-node,.cloud-node{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;text-align:center;color:var(--gold)}.relay-node{top:104px;left:calc(50% - 98px)}.cloud-node{top:106px;right:calc(50% - 118px)}.door-command{right:24px;bottom:24px;display:flex;align-items:center;gap:.75rem;padding:.8rem;border-radius:16px;color:var(--gold)}.door-command strong{display:block;color:var(--text);font-size:12px}.deck-actions{margin-top:.9rem;flex-wrap:wrap}.deck-actions span{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-muted)}@media(max-width:640px){.command-deck{min-height:auto;padding:.7rem}.deck-map{height:245px}}.event-console{position:relative;z-index:2;border:1px solid var(--border);border-radius:20px;overflow:hidden;background:linear-gradient(180deg,var(--bg-2),var(--bg-1))}.event-console-head,.event-console-foot{display:flex;align-items:center;gap:.5rem;padding:.75rem .9rem;font-family:var(--font-mono);font-size:10.5px;color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase}.event-console-head{border-bottom:1px solid var(--border);color:var(--gold)}.event-console-head .spacer{flex:1}.streaming{display:inline-flex;align-items:center;gap:.35rem;color:var(--ok)}.streaming span{width:6px;height:6px;border-radius:50%;background:var(--ok)}.event-console-list{max-height:268px;overflow:hidden}.event-console-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.7rem .9rem;border-bottom:1px solid var(--border);font-size:13px}.event-console-row .ts{font-family:var(--font-mono);font-size:11px;color:var(--text-dim)}.event-console-row .door{min-width:0;color:var(--text);font-weight:600}.event-console-row .door span{display:block;margin-top:1px;font-family:var(--font-mono);font-size:10px;color:var(--text-dim);font-weight:400}.event-console-row .ev{font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:9999px;border:1px solid var(--border);white-space:nowrap}.event-console-row .ev.ok{color:var(--ok);border-color:color-mix(in oklab,var(--ok) 32%,transparent);background:var(--ok-soft)}.event-console-row .ev.warn{color:var(--warn);border-color:color-mix(in oklab,var(--warn) 32%,transparent);background:var(--warn-soft)}.event-console-row .ev.danger{color:var(--danger);border-color:color-mix(in oklab,var(--danger) 32%,transparent);background:var(--danger-soft)}.event-console-row .ev.info{color:var(--info);border-color:color-mix(in oklab,var(--info) 32%,transparent);background:var(--info-soft)}.event-console-foot{border-top:1px solid var(--border)}.event-console-foot strong{color:var(--gold);font-weight:500}.event-console-foot .divider{width:1px;align-self:stretch;background:var(--border);margin:0 .25rem 0 auto}@media(max-width:640px){.event-console-row{grid-template-columns:auto 1fr}.event-console-row .ev{grid-column:2;justify-self:start}}.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:22px;overflow:hidden;margin:0 0 5rem;background:color-mix(in oklab,var(--bg-1) 62%,transparent)}.proof{min-height:128px;padding:1.25rem;border-right:1px solid var(--border);transition:background .2s var(--ease-out)}.proof:last-child{border-right:none}.proof:hover{background:var(--gold-soft)}.proof span,.proof small{display:block;font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase}.proof span{font-size:10px;color:var(--text-dim)}.proof strong{display:block;margin:.7rem 0 .45rem;font-family:var(--font-display);font-size:clamp(1.65rem,3vw,2.25rem);font-style:italic;font-weight:400;color:var(--text);line-height:1}.proof small{font-size:10px;color:var(--gold);line-height:1.4}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:5rem;background:var(--border);border:1px solid var(--border);border-radius:24px;overflow:hidden}.feature-card{min-height:260px;padding:1.35rem;background:radial-gradient(420px 160px at 20% 0%,var(--gold-soft),transparent 60%),var(--bg-1);transition:transform .25s var(--ease-out),background .2s var(--ease-out)}.feature-card:hover{transform:translateY(-3px);background:radial-gradient(420px 170px at 50% 0%,var(--gold-soft),transparent 62%),var(--bg-2)}.feature-icon{width:44px;height:44px;display:grid;place-items:center;margin-bottom:1.5rem;border-radius:14px;color:var(--gold);background:var(--gold-soft);border:1px solid var(--gold-line)}.feature-card h3{margin:0 0 .7rem;font-size:18px;line-height:1.1;letter-spacing:-.025em}.feature-card p{margin:0;color:var(--text-muted);font-size:13.5px;line-height:1.6}@media(max-width:980px){.proof-strip,.feature-grid{grid-template-columns:repeat(2,1fr)}.proof:nth-child(2){border-right:none}.proof:nth-child(1),.proof:nth-child(2){border-bottom:1px solid var(--border)}}@media(max-width:620px){.proof-strip,.feature-grid{grid-template-columns:1fr}.proof,.proof:nth-child(2){border-right:none;border-bottom:1px solid var(--border)}.proof:last-child{border-bottom:none}}.section-head{display:flex;align-items:end;gap:1rem;margin:0 0 1.5rem;padding-bottom:.9rem;border-bottom:1px solid var(--border)}.section-head .num{font-family:var(--font-mono);font-size:11px;color:var(--gold);letter-spacing:.1em}.section-head h2{max-width:680px;margin:0;font-size:clamp(1.7rem,3.2vw,2.65rem);line-height:1.04;letter-spacing:-.045em}.section-head h2 span{font-family:var(--font-display);font-style:italic;font-weight:400;color:var(--gold)}.section-head small{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase}.ops-panel{display:grid;grid-template-columns:.92fr 1.08fr;gap:2rem;margin-bottom:5rem;padding:2rem;border:1px solid var(--border-strong);border-radius:28px;background:radial-gradient(600px 280px at 20% 0%,var(--gold-soft),transparent 62%),linear-gradient(145deg,var(--bg-2),var(--bg-1));box-shadow:var(--shadow-lg)}.ops-copy h2{margin:1rem 0;font-size:clamp(1.9rem,3.8vw,3.2rem);line-height:1;letter-spacing:-.055em}.ops-copy p{margin:0;max-width:34rem;color:var(--text-muted);font-size:15px;line-height:1.7}.command-path{display:grid;gap:.8rem}.path-step{display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1rem;border:1px solid var(--border);border-radius:18px;background:color-mix(in oklab,var(--bg-0) 34%,transparent)}.path-step>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--gold-soft);color:var(--gold);font-family:var(--font-mono);font-size:11px}.path-step h3{margin:0 0 .35rem;font-size:16px}.path-step p{margin:0;color:var(--text-muted);font-size:13px;line-height:1.55}.mission-cta{margin:0 0 4rem;padding:4rem 3rem;border:1px solid var(--border-strong);border-radius:30px;background:radial-gradient(640px 260px at 50% 0%,var(--gold-soft),transparent 64%),linear-gradient(180deg,var(--bg-2),var(--bg-1));text-align:center;position:relative;overflow:hidden}.mission-cta:before,.mission-cta:after{content:"";position:absolute;left:50%;width:1px;height:44px;background:linear-gradient(180deg,transparent,var(--gold),transparent)}.mission-cta:before{top:0}.mission-cta:after{bottom:0}.mission-meter{display:inline-flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:.65rem .9rem;border:1px solid var(--gold-line);border-radius:9999px;color:var(--gold);background:var(--gold-soft);font-family:var(--font-mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase}.mission-meter strong{color:var(--text);font-weight:600}.mission-cta h2{margin:0 auto .9rem;max-width:760px;font-size:clamp(2rem,4.8vw,4rem);line-height:.98;letter-spacing:-.06em}.mission-cta p{margin:0 auto 1.8rem;max-width:38rem;color:var(--text-muted);font-size:15.5px;line-height:1.65}@media(max-width:980px){.ops-panel{grid-template-columns:1fr}}@media(max-width:620px){.section-head{align-items:start;flex-direction:column}.section-head small{margin-left:0}.ops-panel,.mission-cta{padding:1.25rem}.mission-meter{flex-wrap:wrap;justify-content:center;border-radius:18px}}.contact-intro{margin:0 0 1.1rem;font-size:13.5px;line-height:1.55;color:var(--text-muted)}.contact-intro a{color:var(--gold)}.contact-intro a:hover{color:var(--gold-bright)}.contact-form{display:flex;flex-direction:column;gap:.9rem}.contact-field{display:flex;flex-direction:column;gap:.4rem}.contact-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.contact-form textarea{min-height:88px;line-height:1.5;resize:vertical}.dialog-actions .btn-primary{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.1rem;font-size:14px;font-weight:600;background:linear-gradient(135deg,var(--gold-bright),var(--gold) 55%,var(--gold-deep));color:var(--accent-fg);border-radius:9999px}.dialog-actions .btn-ghost{padding:.6rem 1rem;font-size:14px;font-weight:500;background:transparent;color:var(--text);border:1px solid var(--border-strong);border-radius:9999px}.dialog-actions .btn-ghost:after{display:none}.dialog-actions .btn-ghost:hover:not(:disabled){background:var(--bg-2);border-color:var(--gold-line)}:root,:root[data-theme=dark]{color-scheme:dark;--bg-0: #0b0a09;--bg-1: #141110;--bg-2: #1b1714;--bg-3: #241e1a;--border: #2a231f;--border-strong: #3a302a;--hover: #1e1916;--text: #f4efe7;--text-muted: #b0a89c;--text-dim: #756c61;--gold: #ff6a3d;--gold-bright: #ff8a5c;--champagne: #ffc4a3;--gold-deep: #b23f1e;--gold-soft: rgba(255, 106, 61, .12);--gold-line: rgba(255, 106, 61, .3);--gold-glow: rgba(255, 106, 61, .3);--accent: var(--gold);--accent-2: var(--champagne);--accent-fg: #170a05;--ok: #5bb98c;--ok-soft: rgba(91, 185, 140, .14);--warn: #ecb23e;--warn-soft: rgba(236, 178, 62, .14);--danger: #ee4b5e;--danger-soft: rgba(238, 75, 94, .15);--info: #5fa8b8;--info-soft: rgba(95, 168, 184, .16);--grid-line: rgba(255, 106, 61, .05);--scan-line: rgba(246, 244, 236, .018);--vignette: rgba(0, 0, 0, .5);--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-xl: 20px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 8px 28px rgba(0, 0, 0, .45);--shadow-lg: 0 24px 70px -20px rgba(0, 0, 0, .75);--shadow-gold: 0 6px 26px -6px var(--gold-glow);--font-sans: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "JetBrains Mono", "SF Mono", Menlo, monospace;--font-display: "Instrument Serif", "IBM Plex Sans", Georgia, serif;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1)}:root[data-theme=light]{color-scheme:light;--bg-0: #f7f4f0;--bg-1: #ffffff;--bg-2: #f2ede6;--bg-3: #ebe4da;--border: #e5dcd0;--border-strong: #d2c6b6;--hover: #f2ede6;--text: #16110d;--text-muted: #5e5347;--text-dim: #948a7c;--gold: #e0521f;--gold-bright: #ff6a3d;--champagne: #b23f1e;--gold-deep: #ff8a5c;--gold-soft: rgba(224, 82, 31, .12);--gold-line: rgba(224, 82, 31, .28);--gold-glow: rgba(224, 82, 31, .18);--accent-fg: #fff3ec;--ok: #2f9d6b;--ok-soft: rgba(47, 157, 107, .13);--warn: #b9802a;--warn-soft: rgba(185, 128, 42, .14);--danger: #cf3b4e;--danger-soft: rgba(207, 59, 78, .12);--info: #3e7e8f;--info-soft: rgba(62, 126, 143, .13);--grid-line: rgba(224, 82, 31, .07);--scan-line: rgba(22, 17, 13, .015);--vignette: rgba(120, 90, 70, .06);--shadow-sm: 0 1px 2px rgba(60, 54, 36, .08);--shadow-md: 0 10px 30px rgba(60, 54, 36, .1);--shadow-lg: 0 24px 60px -22px rgba(60, 54, 36, .28);--shadow-gold: 0 8px 26px -8px var(--gold-glow)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(1100px 560px at 15% -12%,var(--gold-soft),transparent 62%),radial-gradient(900px 520px at 112% 4%,color-mix(in oklab,var(--champagne) 9%,transparent),transparent 60%),var(--bg-0);color:var(--text);font:14px/1.55 var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color .3s var(--ease-out),color .3s var(--ease-out)}::selection{background:var(--gold-soft);color:var(--text)}a{color:var(--gold);text-decoration:none;transition:color .15s}a:hover{color:var(--gold-bright)}:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:3px}h1,h2,h3,h4{font-weight:600;letter-spacing:-.01em}.app,.sidebar,.topbar,.card,.kpi,.badge,.table thead th,input,select,textarea{transition:background-color .3s var(--ease-out),border-color .3s var(--ease-out),color .3s var(--ease-out)}button{font:inherit;position:relative;background:linear-gradient(135deg,var(--gold-bright),var(--gold) 55%,var(--gold-deep));color:var(--accent-fg);border:none;padding:.55rem .95rem;border-radius:var(--r-md);font-weight:600;letter-spacing:.005em;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;overflow:hidden;box-shadow:var(--shadow-sm),inset 0 1px #ffffff40;transition:transform .06s var(--ease-out),box-shadow .2s var(--ease-out),filter .15s}button:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translate(-130%);transition:transform .6s var(--ease-out);pointer-events:none}button:hover:not(:disabled){box-shadow:var(--shadow-gold),inset 0 1px #ffffff4d}button:hover:not(:disabled):after{transform:translate(130%)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}button.secondary{background:var(--bg-2);color:var(--text);border:1px solid var(--border-strong);box-shadow:none}button.secondary:after{display:none}button.secondary:hover:not(:disabled){background:var(--hover);border-color:var(--gold-line);box-shadow:none}button.danger{background:linear-gradient(135deg,#ef6a64,var(--danger));color:#fff}button.ghost{background:transparent;color:var(--text-muted);border:none;box-shadow:none}button.ghost:after{display:none}button.ghost:hover:not(:disabled){background:var(--hover);color:var(--text)}input,select,textarea{font:inherit;background:var(--bg-3);color:var(--text);border:1px solid var(--border);border-radius:var(--r-md);padding:.55rem .75rem;outline:none;width:100%;transition:border-color .15s,box-shadow .15s,background-color .3s}input::placeholder,textarea::placeholder{color:var(--text-dim)}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}.app{display:grid;grid-template-columns:252px 1fr;grid-template-rows:58px 1fr;grid-template-areas:"sidebar topbar" "sidebar main";height:100%}.sidebar{grid-area:sidebar;background:linear-gradient(180deg,color-mix(in oklab,var(--gold) 4%,transparent),transparent 22%),var(--bg-1);border-right:1px solid var(--border);display:flex;flex-direction:column;position:relative}.sidebar:after{content:"";position:absolute;top:0;right:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,var(--gold-line) 30%,var(--gold-line) 70%,transparent);opacity:.6;pointer-events:none}.topbar{grid-area:topbar;background:color-mix(in oklab,var(--bg-1) 86%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.75rem;padding:0 1.4rem;position:relative;z-index:10}.main{grid-area:main;overflow:auto;padding:1.6rem;position:relative}.nav-toggle{display:none;width:36px;height:36px;padding:0;align-items:center;justify-content:center;background:var(--bg-2);color:var(--text-muted);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:none}.nav-toggle:after{display:none}.nav-toggle:hover:not(:disabled){color:var(--gold);border-color:var(--gold-line);background:var(--bg-2)}.nav-scrim{display:none}@media(max-width:820px){.app{grid-template-columns:1fr;grid-template-rows:56px 1fr;grid-template-areas:"topbar" "main"}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(84vw,300px);flex-direction:column;overflow-y:auto;transform:translate(-100%);transition:transform .3s var(--ease-out);z-index:300;border-right:1px solid var(--border);padding-top:env(safe-area-inset-top)}.app.nav-open .sidebar{transform:none;box-shadow:var(--shadow-lg)}.sidebar:after{display:none}.nav-scrim{display:block;position:fixed;inset:0;background:color-mix(in oklab,var(--bg-0) 55%,transparent);backdrop-filter:blur(3px);z-index:290;opacity:0;pointer-events:none;transition:opacity .3s var(--ease-out)}.app.nav-open .nav-scrim{opacity:1;pointer-events:auto}.nav-toggle{display:inline-flex}.topbar{padding:0 .85rem;gap:.5rem}.topbar h1{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main{padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.dialog-backdrop{padding:1rem}button:not(.dialog-close):not(.theme-toggle):not(.nav-toggle){min-height:42px}.nav .item{padding:.7rem .8rem}}.card:has(.table){overflow-x:auto}.brand{padding:1.1rem 1.25rem .85rem;display:flex;align-items:center;gap:.65rem;font-weight:700;letter-spacing:.01em}.brand .mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--gold-bright),var(--gold) 50%,var(--gold-deep));display:grid;place-items:center;color:var(--accent-fg);font-weight:800;font-size:13px;box-shadow:0 0 0 1px var(--gold-line),var(--shadow-gold)}.brand-text{font-size:15.5px;background:linear-gradient(90deg,var(--champagne),var(--gold-bright));-webkit-background-clip:text;background-clip:text;color:transparent}.tenant-switcher{margin:.25rem .75rem .75rem}.nav{flex:1;display:flex;flex-direction:column;gap:2px;padding:.5rem .6rem;overflow-y:auto}.nav .item{display:flex;align-items:center;gap:.65rem;padding:.55rem .75rem;border-radius:var(--r-md);color:var(--text-muted);font-weight:500;cursor:pointer;user-select:none;position:relative;transition:color .18s,background .18s}.nav .item svg{color:var(--text-dim);transition:color .18s}.nav .item:hover{background:var(--hover);color:var(--text)}.nav .item:hover svg{color:var(--gold)}.nav .item.active{background:linear-gradient(90deg,var(--gold-soft),transparent 80%);color:var(--text)}.nav .item.active svg{color:var(--gold)}.nav .item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;border-radius:0 3px 3px 0;background:linear-gradient(180deg,var(--gold-bright),var(--gold-deep));box-shadow:0 0 10px var(--gold-glow)}.nav .item .badge{margin-left:auto}.nav .group-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--text-dim);padding:.85rem .85rem .4rem}.sidebar .footer{padding:.85rem;border-top:1px solid var(--border);color:var(--text-dim);font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;display:flex;align-items:center;gap:.4rem}.topbar h1{font-size:16px;font-weight:600;margin:0;letter-spacing:-.01em}.topbar .spacer{flex:1}.topbar .live-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.28rem .65rem;border-radius:9999px;background:var(--bg-2);border:1px solid var(--border);font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.topbar .live-pill.live{color:var(--ok);border-color:color-mix(in oklab,var(--ok) 35%,transparent);background:var(--ok-soft)}.topbar .live-pill.dead{color:var(--danger);border-color:color-mix(in oklab,var(--danger) 35%,transparent);background:var(--danger-soft)}.topbar .live-pill .dot{width:6px;height:6px;border-radius:9999px;background:currentColor;box-shadow:0 0 8px currentColor}.theme-toggle{width:34px;height:34px;padding:0;display:grid;place-items:center;background:var(--bg-2);color:var(--text-muted);border:1px solid var(--border);border-radius:9999px;box-shadow:none}.theme-toggle:after{display:none}.theme-toggle:hover:not(:disabled){color:var(--gold);border-color:var(--gold-line);background:var(--bg-2);box-shadow:0 0 0 3px var(--gold-soft)}.card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.1rem;position:relative;transition:border-color .2s,transform .2s var(--ease-out),box-shadow .2s}.card.tight{padding:.8rem}.card.hoverable:hover{border-color:var(--gold-line);transform:translateY(-2px);box-shadow:var(--shadow-md)}.card-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.85rem}.card-header h2{font-size:14px;font-weight:600;margin:0}.card-header .spacer{flex:1}.card-header svg{color:var(--gold)}.kpi{display:flex;flex-direction:column;gap:.3rem;padding:1.1rem 1.2rem;border-radius:var(--r-lg);background:var(--bg-1);border:1px solid var(--border);position:relative;overflow:hidden;transition:border-color .2s,transform .2s var(--ease-out)}.kpi:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,var(--gold-line),transparent);opacity:0;transition:opacity .25s}.kpi:after{content:"";position:absolute;inset:0;background:radial-gradient(140% 120% at 100% 0%,var(--gold-soft),transparent 55%);pointer-events:none}.kpi:hover{border-color:var(--gold-line);transform:translateY(-2px)}.kpi:hover:before{opacity:1}.kpi .label{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.kpi .value{font-size:30px;font-weight:700;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.kpi .sub{font-size:12px;color:var(--text-dim)}.kpi.warn .value{color:var(--warn)}.kpi.danger .value{color:var(--danger)}.kpi.ok .value{color:var(--ok)}.badge{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:9999px;border:1px solid var(--border);color:var(--text-muted);background:var(--bg-2)}.badge.info{color:var(--info);border-color:color-mix(in oklab,var(--info) 35%,transparent);background:var(--info-soft)}.badge.ok{color:var(--ok);border-color:color-mix(in oklab,var(--ok) 35%,transparent);background:var(--ok-soft)}.badge.warn{color:var(--warn);border-color:color-mix(in oklab,var(--warn) 35%,transparent);background:var(--warn-soft)}.badge.danger{color:var(--danger);border-color:color-mix(in oklab,var(--danger) 35%,transparent);background:var(--danger-soft)}.badge.gold{color:var(--gold);border-color:var(--gold-line);background:var(--gold-soft)}.table{width:100%;border-collapse:separate;border-spacing:0}.table thead th{text-align:left;font-family:var(--font-mono);font-size:10.5px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);padding:.6rem .8rem;border-bottom:1px solid var(--border)}.table tbody td{padding:.7rem .8rem;border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr{transition:background .12s}.table tbody tr:hover{background:var(--hover)}.table tbody tr:last-child td{border-bottom:none}.empty{text-align:center;padding:3.2rem 1rem;color:var(--text-muted)}.empty .icon{width:52px;height:52px;border-radius:50%;background:var(--gold-soft);border:1px solid var(--gold-line);display:grid;place-items:center;margin:0 auto .85rem;color:var(--gold)}.skel{background:linear-gradient(90deg,var(--bg-2),var(--bg-3),var(--bg-2));background-size:200% 100%;animation:shimmer 1.6s infinite linear;border-radius:var(--r-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes pulse{0%,to{box-shadow:0 0 0 0 var(--danger-soft)}50%{box-shadow:0 0 0 8px transparent}}.alert-pulse{animation:pulse 1.6s infinite}@keyframes pulse-soft{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.82)}}.live-dot{width:7px;height:7px;border-radius:9999px;background:var(--ok);box-shadow:0 0 10px var(--ok);animation:pulse-soft 1.8s ease-in-out infinite}.dialog-backdrop{position:fixed;inset:0;background:color-mix(in oklab,var(--bg-0) 55%,transparent);backdrop-filter:blur(6px) saturate(120%);display:grid;place-items:center;padding:1.5rem;z-index:200}.dialog{background:linear-gradient(180deg,var(--gold-soft),transparent 18%),var(--bg-1);border:1px solid var(--border-strong);border-radius:var(--r-xl);box-shadow:var(--shadow-lg),0 0 0 1px var(--gold-line);padding:1.4rem;min-width:min(340px,100%);max-width:560px;width:100%;position:relative;overflow:hidden}.dialog:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold-line) 30%,var(--gold-line) 70%,transparent)}.dialog h3{margin:0 0 .35rem;font-size:17px}.dialog .dialog-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.85rem}.dialog .dialog-head .spacer{flex:1}.dialog .dialog-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:1.3rem}.dialog .dialog-close{width:30px;height:30px;padding:0;display:grid;place-items:center;background:transparent;color:var(--text-dim);border:1px solid transparent;border-radius:8px;box-shadow:none}.dialog .dialog-close:after{display:none}.dialog .dialog-close:hover:not(:disabled){color:var(--text);background:var(--hover)}.grain:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.4;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E")}.grid-bg{background-image:repeating-linear-gradient(0deg,transparent 0 39px,var(--grid-line) 39px 40px),repeating-linear-gradient(90deg,transparent 0 39px,var(--grid-line) 39px 40px)}.row{display:flex;align-items:center;gap:.75rem}.row.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:1rem}.stack-tight{display:flex;flex-direction:column;gap:.4rem}.spacer{flex:1}.muted{color:var(--text-muted)}.dim{color:var(--text-dim)}.gold{color:var(--gold)}.ok{color:var(--ok)}.err,.danger-text{color:var(--danger)}.warn{color:var(--warn)}.mono{font-family:var(--font-mono);font-size:12px}.serif-accent{font-family:var(--font-display);font-style:italic;font-weight:400;color:var(--gold)}.grid{display:grid;gap:1rem}.grid-3{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.grid-2{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.section-eyebrow{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim)}.auth-back{position:fixed;top:1.25rem;left:1.25rem;z-index:1000;display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .9rem .5rem .7rem;border-radius:9999px;background:color-mix(in oklab,var(--bg-1) 75%,transparent);backdrop-filter:blur(8px);border:1px solid var(--border-strong);color:var(--text-muted);font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;transition:color .15s,border-color .15s,transform .05s}.auth-back:hover{color:var(--text);border-color:var(--gold-line)}.auth-back:active{transform:translateY(1px)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
