:root,html[data-theme=stage-light]{--slate:#0e1621;--frost:#1a2433;--frost-2:#223044;--nav:#121b27;--ivory:#f8f7f4;--ivory-muted:#9aa3b2;--brass:#ffb703;--brass-press:#e0a002;--seafoam:#06d6a0;--rose:#ef476f;--line:#2a3548;--shadow:0 16px 40px #00000047;--radius:14px;--font:"Figtree", system-ui, sans-serif;--display:"Syne", "Figtree", sans-serif;--glass-blur:0px;--ember:transparent}html[data-theme=ember-glass]{--slate:#070709;--frost:#10080a94;--frost-2:#300c129e;--nav:#0a04068c;--ivory:#f6ede6;--ivory-muted:#b8a99c;--brass:#ff8a3d;--brass-press:#e07028;--seafoam:#f0a24b;--rose:#ef476f;--line:#ff8c4047;--shadow:0 18px 48px #00000080;--glass-blur:20px;--ember:#3a0a12b8}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:radial-gradient(900px 480px at 8% -12%, var(--ember), transparent 58%), var(--slate);color:var(--ivory);font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--brass)}:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.app-shell{flex-direction:column;min-height:100%;display:flex}.topbar{background:var(--frost);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(var(--glass-blur));z-index:20;align-items:center;gap:16px;padding:12px 24px;display:flex;position:sticky;top:0}.brand{font-family:var(--display);letter-spacing:-.03em;color:var(--ivory);font-size:20px;font-weight:800;text-decoration:none}.brand span{color:var(--brass)}.workspace-switcher{min-width:220px;max-width:360px}.workspace-switcher select{background:var(--frost-2);border:1px solid var(--line);border-radius:10px;width:100%;padding:8px 12px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.topbar-meta{color:var(--ivory-muted);align-items:center;gap:16px;margin-left:auto;font-size:14px;display:flex}.event-layout{grid-template-columns:240px 1fr;min-height:calc(100% - 57px);display:grid}.side-nav{border-right:1px solid var(--line);background:var(--nav);-webkit-backdrop-filter:blur(var(--glass-blur));flex-direction:column;gap:4px;padding:16px 12px;display:flex}.side-nav a,.side-nav .nav-label{color:var(--ivory-muted);border-radius:10px;align-items:center;min-height:44px;padding:10px 12px;text-decoration:none;display:flex}.side-nav a:hover{background:var(--frost);color:var(--ivory)}.side-nav a.active{background:var(--frost-2);color:var(--brass);font-weight:600}.nav-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ivory-muted);margin-top:12px;font-size:12px}.page{max-width:1200px;padding:24px 32px 48px}.page-wide{max-width:none;padding:0}.page h1,.hero-title{font-family:var(--display);margin:0 0 8px;font-size:30px;line-height:36px}.lede{color:var(--ivory-muted);margin:0 0 24px}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--frost);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow);padding:16px 20px}.card h2{margin:0 0 12px;font-size:18px}.location-summary{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.location-summary p{margin:0 0 8px}.location-summary p:last-child{margin-bottom:0}.location-summary strong{min-width:88px;margin-right:8px;display:inline-block}.stat{font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.stat-label{color:var(--ivory-muted);font-size:14px}.stat-hint{color:var(--ivory-muted);margin:8px 0 0;font-size:12px;line-height:1.4}.stat-card{color:inherit;text-decoration:none;display:block}.stat-card:hover{border-color:var(--brass)}.stat-alert{color:var(--rose)}.dash-h{margin:24px 0 12px;font-size:16px;font-weight:700}.btn{cursor:pointer;border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-weight:600;transition:background .16s ease-out,transform .12s ease-out,opacity .16s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:var(--brass);color:var(--slate)}.btn-primary:hover{background:color-mix(in srgb, var(--brass) 82%, white)}.btn-primary:active{background:var(--brass-press)}.btn-ghost{border-color:var(--line);color:var(--ivory);background:0 0}.btn-ghost:hover{background:var(--frost-2)}.btn-danger{background:var(--rose);color:#fff}.btn-danger:hover{filter:brightness(1.08)}.btn-sea{background:var(--seafoam);color:var(--slate)}.field{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.field label{font-size:14px;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--slate);border-radius:10px;min-height:44px;padding:8px 12px}.field textarea{resize:vertical;min-height:96px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.table{border-collapse:collapse;width:100%;font-size:14px}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);padding:12px 8px}.table th{color:var(--ivory-muted);font-weight:600}.table input[type=checkbox]:disabled{opacity:.35;cursor:not-allowed}.row-muted{opacity:.62}.badge{background:var(--frost-2);border-radius:999px;align-items:center;padding:4px 8px;font-size:12px;font-weight:600;display:inline-flex}.badge-live{color:var(--seafoam);background:#06d6a029}.badge-rose{color:var(--rose);background:#ef476f29}.badge-brass{background:color-mix(in srgb, var(--brass) 18%, transparent);color:var(--brass)}.banner{border-radius:var(--radius);margin-bottom:16px;padding:16px 20px}.banner-rose{background:var(--rose);color:#fff}.banner-warn{border:1px solid var(--brass);background:#3a2a12}.error{color:var(--rose);font-size:14px}.muted{color:var(--ivory-muted)}.login{background:radial-gradient(800px 400px at 20% 0%, color-mix(in srgb, var(--brass) 18%, transparent), transparent), radial-gradient(620px 380px at 92% 100%, var(--ember), transparent 55%), var(--slate);place-items:center;min-height:100%;padding:32px;display:grid}.login-card{width:min(420px,100%)}.login-card h1{margin-bottom:4px}.map-wrap{grid-template-columns:320px 1fr;height:calc(100vh - 57px);display:grid}.map-tools{border-right:1px solid var(--line);background:var(--nav);padding:16px;overflow:auto}.map-canvas{isolation:isolate;height:100%;min-height:480px;position:relative}.map-canvas-inner{z-index:0;position:absolute;inset:0}.map-draw-hud{z-index:20;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:absolute;top:12px;left:12px;right:12px}.map-draw-tools{pointer-events:auto;background:color-mix(in srgb, var(--nav) 94%, transparent);border:1px solid var(--line);width:fit-content;max-width:100%;-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:14px;flex-wrap:wrap;gap:8px;padding:8px;display:flex}.map-draw-tools .btn{min-height:40px;box-shadow:none;background:var(--frost-2);border-color:var(--line);color:var(--ivory)}.map-draw-tools .btn.btn-primary{background:var(--brass);color:var(--slate);border-color:var(--brass)}.map-draw-hint{background:color-mix(in srgb, var(--slate) 86%, transparent);color:var(--ivory);border-radius:10px;width:fit-content;max-width:100%;margin:0;padding:8px 12px;font-size:14px}.map-pin-label,.vendor-map-label{background:color-mix(in srgb, var(--slate) 88%, transparent);white-space:nowrap;border-radius:8px;padding:2px 8px;font-weight:700;color:var(--ivory)!important}.tool-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;display:grid}.tool-grid-3{grid-template-columns:1fr 1fr 1fr}.tool-grid-3 .btn{min-height:40px;padding:0 6px;font-size:11px}.tool-grid .btn{width:100%;padding:0 8px;font-size:13px}.tool-grid .btn.active{border-color:var(--brass);color:var(--brass)}.feature-item{text-align:left;border:1px solid var(--line);cursor:pointer;width:100%;color:var(--ivory);background:0 0;border-radius:10px;margin-bottom:8px;padding:8px 12px}.feature-item:hover{background:var(--frost)}.feature-item.selected{border-color:var(--brass)}.list-link{border:1px solid var(--line);border-radius:var(--radius);background:var(--frost);color:inherit;min-height:64px;-webkit-backdrop-filter:blur(var(--glass-blur));justify-content:space-between;align-items:center;margin-bottom:12px;padding:16px;text-decoration:none;display:flex}.list-link:hover{border-color:var(--brass)}.thread{cursor:pointer}.thread.active{border-color:var(--brass)}.msg{background:var(--frost-2);border-radius:10px;margin-bottom:8px;padding:8px 12px}.msg.outbound{background:color-mix(in srgb, var(--brass) 14%, transparent)}.toggle{justify-content:space-between;align-items:center;gap:16px;padding:8px 0;display:flex}.field input[type=range]{width:100%;accent-color:var(--brass)}.field input[type=file]{padding:8px;font-size:13px}.theme-picker{border:0;min-width:0;margin:0 0 20px;padding:0}.theme-picker legend{margin-bottom:8px;padding:0;font-size:14px;font-weight:600}.theme-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.theme-choice{border:1px solid var(--line);border-radius:var(--radius);background:var(--slate);cursor:pointer;gap:6px;min-height:44px;padding:14px;display:grid}.theme-choice.selected{border-color:var(--brass)}.theme-choice input{opacity:0;pointer-events:none;position:absolute}.theme-choice-swatch{border:1px solid var(--line);border-radius:10px;height:40px}.theme-choice-stage-light .theme-choice-swatch{background:linear-gradient(135deg,#0e1621 40%,#ffb703 70%,#06d6a0)}.theme-choice-ember-glass .theme-choice-swatch{background:linear-gradient(135deg,#070709 30%,#3a0a12 58%,#ff8a3d)}.logo-preview{align-items:center;gap:12px;margin-bottom:12px;display:flex}.logo-preview img{object-fit:contain;background:var(--slate);border:1px solid var(--line);border-radius:10px;max-width:180px;max-height:56px;padding:8px}html[data-theme=ember-glass] .field input,html[data-theme=ember-glass] .field select,html[data-theme=ember-glass] .field textarea,html[data-theme=ember-glass] .workspace-switcher select{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0707098c}@media (width<=960px){.event-layout,.map-wrap,.grid-2,.grid-3,.theme-picker-grid{grid-template-columns:1fr}.page{padding:16px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
