:root{--bg: #f6f5f1;--surface: #ffffff;--surface-2: #f0efea;--border: rgba(11, 11, 11, .1);--text: #0b0b0b;--text-2: #52514c;--muted: #76756e;--accent: #c2410c;--accent-ink: #ffffff;--danger: #d03b3b;--available: #0ca30c;--occupied: #7c3aed;--on-status: #ffffff;--zone: #c2410c;--cat-1: #2a78d6;--cat-2: #eb6834;--cat-3: #1baf7a;--cat-4: #eda100;--cat-5: #e87ba4;--cat-6: #008300;--cat-7: #6250d6;--cat-8: #8a8a85;--unassigned: #9a9990;--radius: 10px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg);color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #111110;--surface: #1a1a19;--surface-2: #232321;--border: rgba(255, 255, 255, .1);--text: #f2f1ec;--text-2: #c3c2b7;--muted: #8f8e86;--accent: #ff6a33;--accent-ink: #0b0b0b;--occupied: #8b5cf6;--zone: #ff7a45;--cat-1: #3987e5;--cat-2: #d95926;--cat-3: #199e70;--cat-4: #c98500;--cat-5: #d55181;--cat-6: #008300;--cat-7: #9085e9;--cat-8: #a3a29a;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg)}h1,h2,p{margin:0}button,input{font:inherit;color:inherit}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid var(--border);background:var(--surface)}.topbar h1{font-size:18px;font-weight:600}.layout{flex:1;display:grid;grid-template-columns:300px 1fr;gap:16px;padding:16px 24px 32px;align-items:start}.main{display:flex;flex-direction:column;gap:16px;min-width:0}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.section-title{font-size:14px;font-weight:600;color:var(--text-2);margin-bottom:12px}.muted{color:var(--muted)}.small{font-size:12px}.tabular{font-variant-numeric:tabular-nums}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row.spread{justify-content:space-between}.error-text{color:var(--danger);font-size:13px;margin-top:8px}.btn{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:7px 14px;cursor:pointer;font-weight:500}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}.btn.primary:hover:not(:disabled){filter:brightness(1.08);background:var(--accent)}.btn.danger{background:var(--danger);color:#fff;border-color:transparent}.icon-btn{border:none;background:none;cursor:pointer;color:var(--muted);font-size:18px;line-height:1;padding:4px 8px;border-radius:6px}.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.icon-btn:disabled{opacity:.3;cursor:not-allowed}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pill{font-size:12px;padding:4px 10px;border-radius:999px;background:var(--surface-2);color:var(--text-2)}.pill.running{background:var(--accent);color:var(--accent-ink)}.badge{font-size:11px;padding:1px 6px;border-radius:4px;width:fit-content}.badge.running{background:var(--accent);color:var(--accent-ink)}.banner{margin:12px 24px 0;padding:10px 14px;border-radius:8px;display:flex;justify-content:space-between;align-items:center}.banner.error{background:color-mix(in srgb,var(--danger) 14%,var(--surface));border:1px solid var(--danger)}.tabs{display:flex;gap:4px;background:var(--surface-2);padding:3px;border-radius:8px;width:fit-content}.tab{border:none;background:none;padding:6px 12px;border-radius:6px;cursor:pointer;color:var(--text-2);font-size:13px}.tab.active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 2px #00000014}.run-settings .section-title{margin-bottom:10px}.settings-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:12px}.setting{display:flex;flex-direction:column;gap:4px}.setting-label{font-size:13px;font-weight:500}.setting input,.setting select{padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);max-width:160px;font:inherit;color:inherit}.explain{margin:0;padding:10px 14px 10px 30px;background:var(--surface-2);border-radius:8px;display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-2);line-height:1.5}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.source-panel{display:flex;flex-direction:column;gap:14px;position:sticky;top:16px}.source-panel .tabs{width:100%}.source-panel .tab{flex:1}.video-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.video-list li{display:flex;align-items:flex-start;gap:2px}.video-card{flex:1;min-width:0;display:flex;gap:10px;padding:6px;text-align:left;cursor:pointer;border:1px solid transparent;border-radius:8px;background:none}.video-card:hover{background:var(--surface-2)}.video-card.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.video-card img{width:80px;height:52px;object-fit:cover;border-radius:6px;background:var(--surface-2);flex-shrink:0}.video-meta{display:flex;flex-direction:column;gap:3px;min-width:0}.video-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload{display:flex;flex-direction:column;gap:10px}.dropzone{display:flex;flex-direction:column;align-items:center;gap:4px;padding:28px 12px;border:1.5px dashed var(--border);border-radius:var(--radius);cursor:pointer;text-align:center}.dropzone:hover,.dropzone.dragging{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:24px 8px}.empty-state.wide{padding:64px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.empty-title{font-weight:600}.progress{height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden;margin-top:10px}.progress-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .4s ease}.progress-fill.failed{background:var(--danger)}.progress-fill.stopped{background:var(--muted)}.editor{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}.editor-main{display:flex;flex-direction:column;gap:10px;min-width:0}.instruction-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.shape-toggle .tab{font-size:12px}.polygon-help{margin-top:-4px}.vertex{fill:#fff;stroke:#000}.vertex.first{fill:var(--accent)}.instruction{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px}.step-badge{font-size:12px;font-weight:600;padding:3px 8px;border-radius:999px;background:var(--accent);color:var(--accent-ink)}.tabletop{fill:color-mix(in srgb,currentColor 12%,transparent);stroke:currentColor}.head-zone{fill:color-mix(in srgb,currentColor 20%,transparent);stroke:currentColor}.person-box{fill:none;stroke:currentColor;opacity:.55}.head-dot{fill:currentColor;stroke:#000}.person.duplicate .head-dot{fill:none;stroke:currentColor}.frame-slider{display:flex;align-items:center;gap:10px}.frame-slider input[type=range]{flex:1;accent-color:var(--accent)}.preview-status{min-width:170px;text-align:right}.zone-item{flex-direction:column;align-items:stretch!important;gap:6px!important;padding:8px;border:1px solid var(--border);border-radius:8px;cursor:pointer}.zone-item.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.zone-item .row{flex-wrap:nowrap}.zone-item .steps,.zone-item .zones{flex-wrap:wrap;gap:6px}.zone-tag{display:inline-flex;align-items:center;gap:2px;font-size:12px;padding:1px 2px 1px 8px;border-radius:999px;background:var(--surface-2);color:var(--text-2)}.icon-btn.tiny{font-size:14px;padding:0 5px}.swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0}.chip{font-size:12px;padding:3px 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface);cursor:pointer}.chip.missing{border-color:var(--danger);color:var(--danger)}.chip.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.readiness{font-size:13px;padding:8px 10px;border-radius:8px}.readiness.warn{background:color-mix(in srgb,var(--danger) 12%,var(--surface))}.readiness.ok{background:color-mix(in srgb,var(--available) 14%,var(--surface))}.frame-wrap{position:relative;line-height:0;border-radius:8px;overflow:hidden;background:var(--surface-2)}.frame-wrap img{width:100%;height:auto;-webkit-user-select:none;user-select:none}.frame-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none}.frame-overlay.drawing{cursor:crosshair}.zone{fill:color-mix(in srgb,var(--zone) 18%,transparent);stroke:var(--zone)}.zone.draft{stroke-dasharray:8 6}.zone-label{fill:#fff;font-weight:600;paint-order:stroke;stroke:#000000b3;stroke-width:4px}.editor-side{display:flex;flex-direction:column;gap:12px}.zone-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.zone-list li{display:flex;align-items:center;gap:6px}.zone-id{font-size:12px;color:var(--muted);width:28px}.zone-list input{flex:1;min-width:0;padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.monitor{display:flex;flex-direction:column;gap:16px}.monitor-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:16px}.live-frame{width:100%;border-radius:8px;display:block}.live-placeholder{aspect-ratio:16 / 9;display:grid;place-items:center;background:var(--surface-2);border-radius:8px}.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.tile{display:flex;flex-direction:column;gap:4px}.tile-label{font-size:13px;color:var(--text-2)}.tile-value{font-size:28px;font-weight:600;line-height:1.15}.table-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.table-card{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:8px;border:1px solid var(--border);border-left:4px solid var(--available)}.table-card.occupied{border-left-color:var(--occupied)}.counts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0}.counts>div{display:flex;flex-direction:column;padding:6px 8px;border-radius:6px;background:var(--surface-2);cursor:help}.count-label{font-size:12px;font-weight:600;color:var(--text-2)}.table-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:8px 0 0;padding-top:8px;border-top:1px solid var(--border)}.table-stats dt{font-size:11px;color:var(--muted)}.table-stats dd{margin:0;font-size:13px;font-weight:500}.run-settings-line{margin-top:8px}.visits{margin-top:8px;border-top:1px solid var(--border);padding-top:8px}.visits summary{cursor:pointer;font-size:13px;font-weight:500;padding:2px 0}.visits summary:hover{color:var(--accent)}.visits ol{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.visit{display:grid;grid-template-columns:auto 1fr auto;gap:2px 10px;align-items:baseline;padding:6px 8px;border-radius:6px;background:var(--surface-2);font-size:13px}.visit.ongoing{border-left:3px solid var(--occupied)}.visit-number{font-weight:600}.visit-time{grid-column:1 / -1}.visits-empty{margin-top:8px;border-top:1px solid var(--border);padding-top:8px}.status{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--text-2)}.status-icon{width:15px;height:15px;flex-shrink:0}.status-icon.available{fill:var(--available)}.status-icon.occupied{fill:var(--occupied)}.alerts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;max-height:420px;overflow-y:auto}.alert{display:flex;align-items:center;gap:8px;padding:8px 4px;border-bottom:1px solid var(--border);font-size:13px}.alert:last-child{border-bottom:none}.alert-text{flex:1;min-width:0}.alert.freed{background:color-mix(in srgb,var(--available) 7%,transparent)}.toasts{position:fixed;right:24px;bottom:24px;display:flex;flex-direction:column;gap:8px;z-index:10}.toast{display:flex;align-items:center;gap:10px;padding:12px 16px;min-width:260px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--available);border-radius:8px;box-shadow:0 6px 20px #00000026;animation:slide-in .25s ease-out}@keyframes slide-in{0%{transform:translateY(12px);opacity:0}}@media (max-width: 1100px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.monitor-grid,.editor{grid-template-columns:1fr}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 800px){.layout{grid-template-columns:1fr;padding:12px 16px 24px}.source-panel{position:static}.topbar{padding:12px 16px}}.layout-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;margin-bottom:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.layout-chips{display:flex;gap:6px;flex-wrap:wrap;flex:1;min-width:0}.layout-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:13px}.layout-chip.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);font-weight:600}.layout-dot{width:8px;height:8px;border-radius:50%;background:var(--danger)}.layout-dot.ready{background:var(--available)}.small-btn{padding:4px 10px;font-size:13px}.layout-name{padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);width:160px}.layout-picker{display:inline-flex;align-items:center;gap:6px}.layout-picker select{padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font:inherit;color:inherit}:root{--sidebar: #15171c;--sidebar-2: #20232b;--sidebar-text: #eeece8;--sidebar-muted: #a19e98;--sidebar-active: #ff7a45;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 4px 16px rgba(16, 24, 40, .06);--warning: #c98500}body{-webkit-font-smoothing:antialiased}a{color:var(--accent)}select,textarea{font:inherit;color:inherit}.landing{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);background:var(--bg)}.landing-hero{position:relative;overflow:hidden;isolation:isolate;padding:48px 56px;color:#fff;background:radial-gradient(1200px 600px at -10% -20%,rgba(255,91,31,.3),transparent 60%),radial-gradient(800px 500px at 110% 120%,rgba(245,158,11,.18),transparent 60%),linear-gradient(160deg,#121317,#1c1a1a 55%,#15171c);display:flex;flex-direction:column;gap:40px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;letter-spacing:.2px}.brand-mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#ff7a45,#c2410c);color:#fff;font-size:17px}.brand small{display:block;font-weight:500;font-size:12px;opacity:.7}.hero-copy h1{font-size:clamp(30px,3.4vw,46px);line-height:1.08;font-weight:750;letter-spacing:-.6px;max-width:640px}.hero-copy h1 em{font-style:normal;background:linear-gradient(90deg,#ffb38a,#ff5b1f);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy p{margin-top:16px;font-size:17px;line-height:1.55;color:#d3cfc8;max-width:560px}.hero-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:640px}.hero-feature{display:flex;gap:12px;padding:14px;border-radius:12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08)}.hero-feature-icon{flex-shrink:0;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#ff5b1f33;font-size:16px}.hero-feature strong{display:block;font-size:14px}.hero-feature span{font-size:13px;color:#bdb8b0;line-height:1.45}.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.auth-side{display:grid;place-items:center;padding:40px 24px}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px;box-shadow:var(--shadow)}.auth-card h2{font-size:22px;font-weight:700}.auth-card .sub{color:var(--muted);font-size:14px;margin-top:4px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--surface-2);padding:4px;border-radius:10px;margin:20px 0}.auth-tabs button{border:0;background:none;padding:8px;border-radius:8px;cursor:pointer;font-weight:600;color:var(--text-2)}.auth-tabs button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000014}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:13px;font-weight:600;color:var(--text-2)}.field input,.field select,.field textarea{padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);outline:none;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.field .hint{font-size:12px;color:var(--muted)}.btn.block{width:100%;padding:11px;font-size:15px}.notice{padding:12px 14px;border-radius:10px;font-size:14px;line-height:1.45;margin-bottom:14px}.notice.error{background:color-mix(in srgb,var(--danger) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 40%,transparent)}.notice.success{background:color-mix(in srgb,var(--available) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--available) 40%,transparent)}.notice.info{background:color-mix(in srgb,var(--accent) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.auth-foot{margin-top:16px;text-align:center;font-size:13px;color:var(--muted)}.shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:18px;background:var(--sidebar);color:var(--sidebar-text);padding:18px 14px}.sidebar .brand{padding:4px 8px}.org-card{padding:12px;border-radius:12px;background:var(--sidebar-2)}.org-card .label{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--sidebar-muted)}.org-card .name{font-weight:650;margin-top:3px;font-size:15px;word-break:break-word}.nav{display:flex;flex-direction:column;gap:3px}.nav button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;background:none;color:var(--sidebar-muted);padding:10px 12px;border-radius:9px;cursor:pointer;font-weight:550;font-size:14px}.nav button:hover{background:var(--sidebar-2);color:var(--sidebar-text)}.nav button.active{background:color-mix(in srgb,var(--sidebar-active) 16%,transparent);color:var(--sidebar-active);box-shadow:inset 3px 0 0 var(--sidebar-active)}.nav .nav-icon{width:20px;text-align:center;font-size:15px}.nav .nav-badge{margin-left:auto;font-size:11px;padding:1px 7px;border-radius:999px;background:#ffffff29;color:#fff}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px}.account{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;background:var(--sidebar-2)}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:linear-gradient(135deg,#ff7a45,#c2410c);color:#fff;font-weight:700;text-transform:uppercase}.account .who{min-width:0}.account .who strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account .who span{display:block;font-size:12px;color:var(--sidebar-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.signout{border:1px solid rgba(255,255,255,.14);background:none;color:var(--sidebar-text);border-radius:9px;padding:9px;cursor:pointer;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}.signout:hover{background:#d03b3b33;border-color:#d03b3b80}.page{padding:26px 32px 48px;display:flex;flex-direction:column;gap:20px;min-width:0}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-head h1{font-size:24px;font-weight:720;letter-spacing:-.3px}.page-head p{color:var(--muted);margin-top:4px;font-size:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:var(--shadow)}.card-title{font-size:15px;font-weight:650;margin-bottom:4px}.card-sub{font-size:13px;color:var(--muted);margin-bottom:14px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:var(--shadow)}.kpi .label{font-size:13px;color:var(--text-2)}.kpi .value{font-size:28px;font-weight:700;margin-top:4px;font-variant-numeric:tabular-nums}.kpi .note{font-size:12px;color:var(--muted);margin-top:2px}.chip-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--surface-2);color:var(--text-2)}.chip-status.ok{background:color-mix(in srgb,var(--available) 15%,var(--surface));color:color-mix(in srgb,var(--available) 70%,var(--text))}.chip-status.warn{background:color-mix(in srgb,var(--warning) 18%,var(--surface));color:color-mix(in srgb,var(--warning) 70%,var(--text))}.chip-status.bad{background:color-mix(in srgb,var(--danger) 14%,var(--surface));color:color-mix(in srgb,var(--danger) 75%,var(--text))}.chip-status.live{background:color-mix(in srgb,var(--accent) 15%,var(--surface));color:var(--accent)}.pulse{width:7px;height:7px;border-radius:50%;background:currentColor;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.3}}.empty{text-align:center;padding:48px 20px;color:var(--muted)}.empty .big{font-size:34px}.empty h3{color:var(--text);margin:10px 0 6px;font-size:17px}.empty .row{justify-content:center;margin-top:14px}.link-btn{border:0;background:none;color:var(--accent);cursor:pointer;padding:0;font-weight:600}.table-list{width:100%;border-collapse:collapse;font-size:14px}.table-list th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--border)}.table-list td{padding:10px;border-bottom:1px solid var(--border);vertical-align:middle}.table-list tr:last-child td{border-bottom:0}.table-wrap{overflow-x:auto}.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.video-tile{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);cursor:pointer;transition:transform .12s,box-shadow .12s;text-align:left;padding:0;display:flex;flex-direction:column}.video-tile:hover{transform:translateY(-2px);box-shadow:0 6px 22px #1018281f}.video-thumb{position:relative;aspect-ratio:16 / 9;background:var(--surface-2)}.video-thumb img{width:100%;height:100%;object-fit:cover;display:block}.video-thumb .duration{position:absolute;right:8px;bottom:8px;background:#000000b3;color:#fff;font-size:12px;padding:2px 7px;border-radius:6px;font-variant-numeric:tabular-nums}.video-tile .body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.video-tile .title{font-weight:650;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-tile .meta{display:flex;gap:8px;flex-wrap:wrap}.upload-tile{border:2px dashed var(--border);background:none;box-shadow:none;align-items:center;justify-content:center;min-height:230px;color:var(--muted);gap:8px}.upload-tile:hover,.upload-tile.dragging{border-color:var(--accent);color:var(--accent)}.upload-tile .plus{font-size:32px}.detail-head{display:grid;grid-template-columns:340px minmax(0,1fr);gap:20px}.detail-head img{width:100%;border-radius:12px;display:block}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-top:12px}.fact .k{font-size:12px;color:var(--muted)}.fact .v{font-weight:650;margin-top:2px;font-variant-numeric:tabular-nums}.back{border:0;background:none;cursor:pointer;color:var(--muted);font-weight:600;padding:0}.back:hover{color:var(--text)}.layout-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.layout-card{border:1px solid var(--border);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}.layout-card .name{font-weight:650}.run-strip{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px}.run-pill{flex:0 0 auto;display:flex;gap:10px;align-items:center;min-width:240px;padding:8px 14px 8px 8px;background:var(--surface);border:1px solid var(--border);border-radius:12px;cursor:pointer;text-align:left}.run-pill.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}.run-pill img,.run-pill .thumb-ph{width:76px;height:46px;object-fit:cover;border-radius:7px;background:var(--surface-2);display:grid;place-items:center;font-size:18px}.run-pill .info{min-width:0;display:flex;flex-direction:column;gap:3px}.run-pill .info strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.run-pill.new{border-style:dashed;color:var(--accent);font-weight:650;justify-content:center;min-width:170px}.mini-progress{height:4px;border-radius:999px;background:var(--surface-2);overflow:hidden;width:120px}.mini-progress div{height:100%;background:var(--accent)}.param-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.param-group{border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:14px}.param-group h4{margin:0;font-size:14px;display:flex;align-items:center;gap:8px}.param-group h4 .icon{font-size:16px}.param{display:flex;flex-direction:column;gap:6px}.param-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.param-top label{font-size:13px;font-weight:600}.param-top .val{font-variant-numeric:tabular-nums;font-weight:700;font-size:14px}.param input[type=range]{width:100%;accent-color:var(--accent)}.param .hint{font-size:12px;color:var(--muted);line-height:1.4}.stepper{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:9px;overflow:hidden}.stepper button{border:0;background:var(--surface-2);width:30px;height:30px;cursor:pointer;font-size:16px}.stepper input{width:64px;border:0;text-align:center;background:var(--surface);height:30px;font-variant-numeric:tabular-nums}.segmented{display:inline-flex;background:var(--surface-2);padding:3px;border-radius:9px;gap:2px;flex-wrap:wrap}.segmented button{border:0;background:none;padding:6px 10px;border-radius:7px;cursor:pointer;font-size:13px;color:var(--text-2)}.segmented button.active{background:var(--surface);color:var(--text);font-weight:650;box-shadow:0 1px 2px #00000014}.summary-box{margin-top:4px;padding:12px 14px;border-radius:10px;background:var(--surface-2);font-size:13px;color:var(--text-2);line-height:1.55}.summary-box li{margin-bottom:3px}.summary-box ul{margin:0;padding-left:18px}.charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.chart-card{min-width:0}.chart-card.wide{grid-column:1 / -1}.chart-box{width:100%;height:260px}.chart-box.tall{height:320px}.chart-tip{background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:8px 10px;font-size:12px;box-shadow:var(--shadow)}.chart-tip .t{font-weight:650;margin-bottom:4px}.chart-tip .r{display:flex;align-items:center;gap:6px}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--text-2);margin-bottom:8px}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:12px;height:3px;border-radius:2px;display:inline-block}.gantt-row{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:10px;font-size:13px}.gantt-track{position:relative;height:22px;background:var(--surface-2);border-radius:6px;overflow:hidden}.gantt-bar{position:absolute;top:3px;bottom:3px;border-radius:4px;background:var(--occupied);color:#fff;font-size:11px;display:flex;align-items:center;padding-left:4px;white-space:nowrap;overflow:hidden}.gantt-bar.ongoing{background:repeating-linear-gradient(45deg,var(--occupied),var(--occupied) 6px,color-mix(in srgb,var(--occupied) 70%,#fff) 6px,color-mix(in srgb,var(--occupied) 70%,#fff) 12px)}.gantt-axis{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;font-size:11px;color:var(--muted)}.gantt-axis .ticks{display:flex;justify-content:space-between}.gantt{display:flex;flex-direction:column;gap:6px}.mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mode-option{border:2px solid var(--border);border-radius:14px;padding:16px;cursor:pointer;background:var(--surface);text-align:left;display:flex;gap:12px}.mode-option.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.mode-option .icon{font-size:26px}.mode-option strong{display:block;margin-bottom:4px}.mode-option span{font-size:13px;color:var(--muted);line-height:1.45}.steps-list{margin:0;padding-left:18px;font-size:13px;color:var(--text-2);line-height:1.6}.code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;background:var(--surface-2);padding:2px 6px;border-radius:5px}.soon{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--warning) 20%,var(--surface));color:color-mix(in srgb,var(--warning) 75%,var(--text));text-transform:uppercase;letter-spacing:.4px}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#080c168c;display:grid;place-items:center;z-index:50;padding:16px}.modal{width:100%;max-width:560px;background:var(--surface);border-radius:16px;padding:22px;box-shadow:0 20px 60px #0000004d;max-height:90vh;overflow-y:auto}.modal h3{margin:0 0 4px;font-size:18px}.admin-shell .sidebar{background:#0d0e11}.admin-shell .org-card,.admin-shell .account{background:#1b1d22}.admin-shell .nav button.active{background:#ffffff1a;color:#fff;box-shadow:inset 3px 0 #fff}.meter{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden;margin-top:8px}.meter div{height:100%;background:var(--accent)}.meter.high div{background:var(--danger)}@media (max-width: 1100px){.charts,.grid-2,.grid-3,.detail-head{grid-template-columns:1fr}}@media (max-width: 900px){.landing{grid-template-columns:1fr}.landing-hero{padding:32px 24px}.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.page{padding:20px 16px 40px}.mode-options,.hero-features{grid-template-columns:1fr}}.recommend{margin:2px 0 0;font-size:12px;color:var(--text-2);line-height:1.45}.rec-badge{display:inline-block;margin-right:6px;padding:1px 8px;border-radius:999px;font-weight:700;font-size:11px;background:color-mix(in srgb,var(--available) 16%,var(--surface));color:color-mix(in srgb,var(--available) 70%,var(--text))}.rec-star{color:color-mix(in srgb,var(--available) 80%,var(--text))}.preview-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.layout-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}.layout-thumb{position:relative;border:0;padding:0;background:none;cursor:pointer;border-radius:8px;overflow:hidden;display:block;width:100%}.layout-thumb .frame-wrap{border-radius:8px}.layout-thumb .frame-overlay{pointer-events:none}.selected-badge{position:absolute;top:8px;left:8px;background:var(--accent);color:var(--accent-ink);font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px}.layout-preview .frame-overlay{pointer-events:none}.preview-error{position:absolute;inset:auto 8px 8px 8px;font-size:12px;color:#fff;background:#d03b3bd9;padding:4px 8px;border-radius:6px;line-height:1.3}.btn.primary.small-btn{padding:4px 12px}.modal.wide{max-width:1000px}.modal.editor-modal{max-width:1320px;width:100%}.logo{display:block;flex-shrink:0;color:var(--text)}.logo-light{color:#fff}.brand-hero{gap:14px;font-size:22px}.brand-hero small{font-size:13px}.auth-logo{margin-bottom:14px}.landing-hero:before{content:"";position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,rgba(255,91,31,.16),transparent 70%) 20% 30% / 55% 55% no-repeat,radial-gradient(closest-side,rgba(245,158,11,.16),transparent 70%) 75% 70% / 60% 60% no-repeat;animation:drift 18s ease-in-out infinite alternate}@keyframes drift{to{transform:translate(6%,-5%) rotate(8deg)}}.rise{animation:rise .8s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--d, 0s)}@keyframes rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}.brand-hero.rise{animation-duration:.9s}.card-in{animation:card-in .75s cubic-bezier(.2,.7,.2,1) .25s both}@keyframes card-in{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}.form-swap{animation:fade .35s ease both}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.hero-footer{margin-top:auto;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:#a8a39b;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);max-width:640px}.hero-footer a{color:#ffb38a}.password-field{position:relative}.password-field input{width:100%;padding-right:64px}.password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--accent);font-weight:600;font-size:13px;cursor:pointer;padding:4px 8px;border-radius:6px}.password-toggle:hover{background:var(--surface-2)}.splash{min-height:100vh;display:grid;place-items:center;background:var(--bg)}.logo-pulse{animation:logo-pulse 1.4s ease-in-out infinite}@keyframes logo-pulse{50%{opacity:.45;transform:scale(.94)}}.page>*{animation:page-in .42s cubic-bezier(.2,.7,.2,1) both}.page>*:nth-child(2){animation-delay:.05s}.page>*:nth-child(3){animation-delay:.1s}.page>*:nth-child(4){animation-delay:.15s}.page>*:nth-child(5){animation-delay:.2s}.page>*:nth-child(n+6){animation-delay:.25s}.page>.modal-back{animation:fade .2s ease both;animation-delay:0s}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.swap-in,.charts,.tiles,.kpis,.util-tiles,.table-grid,.table-list tbody tr,.live-video,.live-frame,.collapsible[open]>.collapsible-body,.seat-editor,.empty{animation:fade .32s ease both}.nav button,.segmented button,.auth-tabs button,.btn,.menu-trigger,.chip-status,.collapsible>summary,.channel,.layout-card,.video-tile{transition:background-color .2s ease,color .2s ease,box-shadow .2s ease,border-color .2s ease,transform .12s ease}@media (prefers-reduced-motion: reduce){.rise,.card-in,.form-swap,.logo-pulse,.landing-hero:before{animation:none}.page>*,.swap-in,.charts,.tiles,.kpis,.util-tiles,.table-grid,.table-list tbody tr,.live-video,.live-frame,.collapsible[open]>.collapsible-body,.seat-editor,.empty{animation:none}*,*:before,*:after{transition-duration:.01ms!important}}.live-view{display:flex;flex-direction:column;gap:10px}.live-view-head{gap:10px}.live-video video{width:100%;display:block;background:#000}.live-video .frame-overlay{pointer-events:none}.ov-table .ov-top{fill:color-mix(in srgb,var(--available) 14%,transparent);stroke:var(--available)}.ov-table.occupied .ov-top{fill:color-mix(in srgb,var(--occupied) 18%,transparent);stroke:var(--occupied)}.ov-table .ov-zone{fill:none;stroke:var(--available);stroke-dasharray:6 5;opacity:.7}.ov-table.occupied .ov-zone{stroke:var(--occupied)}.ov-label{fill:#fff;font-weight:700;paint-order:stroke;stroke:#000000bf;stroke-width:4px}.ov-head{fill:#9a9990;stroke:#000;transition:cx .6s ease,cy .6s ease}.ov-head.seated{fill:#ffd27a}.keepup{margin-top:4px;color:color-mix(in srgb,var(--available) 70%,var(--text))}.keepup.warn{color:color-mix(in srgb,var(--warning) 80%,var(--text))}.collapsible{padding:0}.collapsible>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-radius:14px}.collapsible>summary::-webkit-details-marker{display:none}.collapsible>summary:hover{background:color-mix(in srgb,var(--surface-2) 60%,transparent)}.collapsible-text{display:flex;flex-direction:column;min-width:0}.collapsible-text .card-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.collapsible-text .card-sub{margin-bottom:0}.collapsible-badge{font-weight:600}.chevron{font-size:20px;color:var(--muted);transition:transform .2s;line-height:1}.collapsible[open]>summary .chevron{transform:rotate(180deg)}.collapsible[open]>summary{border-bottom:1px solid var(--border);border-radius:14px 14px 0 0}.collapsible-body{padding:16px 18px 18px}.seat-editor{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);gap:18px;align-items:start}.seat-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:420px;overflow-y:auto}.seat-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px;border:1px solid var(--border);border-radius:9px}.seat-list label{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px}.seat-list input{width:72px;padding:6px 8px;border:1px solid var(--border);border-radius:7px;background:var(--surface);text-align:center;font:inherit;color:inherit}.switch-row{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.switch-row input{width:18px;height:18px;margin-top:2px;accent-color:var(--accent);flex-shrink:0}.switch-row>span{display:flex;flex-direction:column;gap:2px}.sub-head{font-size:14px;font-weight:650;margin:6px 0 10px}.channel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.channel{border:1px solid var(--border);border-radius:12px;padding:12px}.channel.on{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.sender-input{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:9px;overflow:hidden;background:var(--surface)}.field .sender-input input{flex:1;min-width:0;border:0;border-radius:0;box-shadow:none}.sender-input span{display:flex;align-items:center;padding:0 12px;background:var(--surface-2);color:var(--text-2);font-size:14px;border-left:1px solid var(--border)}.sender-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.twilio-box,.test-message{border:1px dashed var(--border);border-radius:12px;padding:12px;margin:12px 0}.test-message select,.test-message input{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.test-message input{min-width:220px;flex:1}.waiting-table td{vertical-align:top}.delivery-list{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.delivery-list .chip-status{white-space:nowrap}.row-actions{width:1%;text-align:right}.menu-trigger{width:34px;height:34px;border-radius:9px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:20px;line-height:1;cursor:pointer;display:inline-grid;place-items:center}.menu-trigger:hover,.menu-trigger[aria-expanded=true]{background:var(--surface-2);color:var(--text)}.row-menu{position:fixed;z-index:60;min-width:190px;padding:6px;border-radius:12px;background:var(--surface);border:1px solid var(--border);box-shadow:0 12px 32px #00000038;display:flex;flex-direction:column}.row-menu button{display:flex;align-items:center;gap:10px;border:0;background:none;color:var(--text);text-align:left;padding:8px 10px;border-radius:8px;cursor:pointer;font:inherit;font-size:14px}.row-menu button span{width:16px;text-align:center;color:var(--text-2)}.row-menu button:hover,.row-menu button:focus-visible{background:var(--surface-2);outline:none}.row-menu button.danger,.row-menu button.danger span{color:var(--danger)}.utilization{display:flex;flex-direction:column;gap:10px}.util-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.util-table caption{caption-side:top;text-align:left;padding-bottom:6px}.mini-meter{display:inline-block;width:54px;height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden;vertical-align:middle;margin-right:6px}.mini-meter span{display:block;height:100%;background:var(--cat-2, var(--accent));border-radius:999px}.mismatch-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.mismatch-list li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px}@media (max-width: 1100px){.seat-editor,.channel-grid{grid-template-columns:1fr}}
