:root{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", "JetBrains Mono", Menlo, Consolas, monospace;--radius-sm:6px;--radius:8px;--radius-lg:12px;--radius-xl:16px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--sidebar-w:248px;--topbar-h:56px;--bg:#f7f7fb;--bg-subtle:#f0f0f6;--surface:#fff;--surface-2:#fafafc;--surface-hover:#f4f4f9;--border:#e4e4ec;--border-strong:#d2d2de;--text:#16161d;--text-muted:#5d5d6e;--text-subtle:#8a8a9b;--brand:#5b4bf5;--brand-hover:#4a3ae0;--brand-soft:#eeecff;--brand-text:#4a3ae0;--on-brand:#fff;--success:#12875a;--success-soft:#e3f6ee;--warning:#b86e00;--warning-soft:#fdf1dc;--danger:#d1323d;--danger-hover:#b52630;--danger-soft:#fde8ea;--info:#1f6fd1;--info-soft:#e5f0fd;--status-free:#22a06b;--status-held:#f0a020;--status-booked:#6d5ef6;--code-bg:#14141c;--code-text:#e7e7f0;--shadow-sm:0 1px 2px #1414280f;--shadow:0 1px 3px #14142814, 0 4px 12px #1414280d;--shadow-lg:0 10px 30px #14142829, 0 2px 6px #14142814;--focus:0 0 0 3px #5b4bf547;--seat-empty:#d9d9e3;--map-bg:#fbfbfe;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0e0e14;--bg-subtle:#14141c;--surface:#17171f;--surface-2:#1c1c25;--surface-hover:#22222d;--border:#2a2a36;--border-strong:#3a3a48;--text:#ececf3;--text-muted:#a3a3b5;--text-subtle:#75758a;--brand:#7b6dff;--brand-hover:#8f83ff;--brand-soft:#25223f;--brand-text:#a99fff;--on-brand:#fff;--success:#3ccf8e;--success-soft:#11291f;--warning:#f2b14a;--warning-soft:#2e2311;--danger:#ff5d68;--danger-hover:#ff7880;--danger-soft:#331519;--info:#5aa2ff;--info-soft:#132338;--code-bg:#0a0a0f;--code-text:#e7e7f0;--shadow-sm:0 1px 2px #0006;--shadow:0 1px 3px #00000080, 0 4px 12px #0000004d;--shadow-lg:0 10px 30px #0009;--focus:0 0 0 3px #7b6dff66;--seat-empty:#3a3a48;--map-bg:#13131a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.25}h1{font-size:22px}h2{font-size:16px}h3{font-size:14px}p{margin:0}a{color:var(--brand-text);text-decoration:none}a:hover{text-decoration:underline}code,kbd,pre{font-family:var(--font-mono);font-variant-ligatures:none;font-size:12.5px}:focus-visible{box-shadow:var(--focus);outline:none}::selection{background:var(--brand-soft)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--text-muted)}.subtle{color:var(--text-subtle)}.mono{font-family:var(--font-mono)}.nowrap{white-space:nowrap}.stack{gap:var(--space-4);flex-direction:column;display:flex}.stack-sm{gap:var(--space-2);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-2);display:flex}.row-wrap{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.spacer{flex:1}.grid-2{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid-3{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.grid-4{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}@media (width<=900px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}}.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100%;display:grid}.sidebar{gap:var(--space-4);height:100vh;padding:var(--space-4) var(--space-3);background:var(--surface);border-right:1px solid var(--border);z-index:30;flex-direction:column;display:flex;position:sticky;top:0}.brand{padding:2px var(--space-2);letter-spacing:-.02em;color:var(--text);align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.brand:hover{text-decoration:none}.brand-mark{background:linear-gradient(135deg, var(--brand), #a24bf5);color:#fff;border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.nav{flex-direction:column;gap:2px;display:flex}.nav-label{padding:var(--space-3) var(--space-2) var(--space-1);text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);font-size:11px;font-weight:600}.nav a{padding:7px var(--space-2);border-radius:var(--radius);color:var(--text-muted);align-items:center;gap:10px;font-weight:500;display:flex}.nav a:hover{background:var(--surface-hover);color:var(--text);text-decoration:none}.nav a.active{background:var(--brand-soft);color:var(--brand-text)}.sidebar-footer{gap:var(--space-2);border-top:1px solid var(--border);padding-top:var(--space-3);flex-direction:column;margin-top:auto;display:flex}.user-chip{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);min-width:0;display:flex}.avatar{background:var(--brand-soft);width:28px;height:28px;color:var(--brand-text);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.user-chip .email{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.main{flex-direction:column;min-width:0;display:flex}.topbar{display:none}.content{width:100%;max-width:1240px;padding:var(--space-6) var(--space-8) var(--space-8);gap:var(--space-6);flex-direction:column;margin:0 auto;display:flex}.content.wide{gap:0;max-width:none;height:100vh;padding:0}.sidebar-backdrop{display:none}@media (width<=960px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{width:var(--sidebar-w);box-shadow:var(--shadow-lg);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.shell.nav-open .sidebar{transform:none}.shell.nav-open .sidebar-backdrop{z-index:25;background:#0a0a1466;display:block;position:fixed;inset:0}.topbar{align-items:center;gap:var(--space-3);height:var(--topbar-h);padding:0 var(--space-4);background:var(--surface);border-bottom:1px solid var(--border);z-index:20;display:flex;position:sticky;top:0}.content{padding:var(--space-5) var(--space-4) var(--space-8)}.content.wide{height:calc(100vh - var(--topbar-h))}}.page-header{align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.page-header .titles{flex-direction:column;flex:1;gap:4px;min-width:240px;display:flex}.page-header .actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.breadcrumbs{color:var(--text-subtle);align-items:center;gap:6px;font-size:13px;display:flex}.breadcrumbs a{color:var(--text-muted)}.btn{border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);height:34px;color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.btn:hover{background:var(--surface-hover);text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.btn-primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.btn-ghost{box-shadow:none;color:var(--text-muted);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.btn-sm{height:28px;padding:0 10px;font-size:13px}.btn-icon{width:34px;padding:0}.btn-sm.btn-icon{width:28px}.btn-block{width:100%}.btn .spinner{width:14px;height:14px}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>label,.label{color:var(--text);font-size:13px;font-weight:500}.hint{color:var(--text-subtle);font-size:12.5px}.field-error{color:var(--danger);font-size:12.5px}.input,.select,.textarea{border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);width:100%;height:36px;color:var(--text);font:inherit;padding:0 11px;transition:border-color .12s,box-shadow .12s}.textarea{resize:vertical;height:auto;font-family:var(--font-mono);padding:9px 11px;font-size:12.5px}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand);box-shadow:var(--focus);outline:none}.input[aria-invalid=true]{border-color:var(--danger)}.input-sm,.select-sm{height:30px;font-size:13px}.input-group{align-items:center;display:flex;position:relative}.input-group .prefix{color:var(--text-subtle);pointer-events:none;font-size:13px;position:absolute;left:11px}.input-group .input{padding-left:42px}.search{position:relative}.search svg{color:var(--text-subtle);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search .input{padding-left:34px}.checkbox{width:16px;height:16px;accent-color:var(--brand);cursor:pointer}.segmented{border-radius:var(--radius);background:var(--bg-subtle);border:1px solid var(--border);gap:2px;padding:3px;display:inline-flex}.segmented button{height:28px;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 12px;font-size:13px;font-weight:500}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-width:0}.card-header{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);display:flex}.card-header .sub{color:var(--text-muted);font-size:13px}.card-body{padding:var(--space-5)}.card-footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--border);gap:var(--space-2);background:var(--surface-2);border-radius:0 0 var(--radius-lg) var(--radius-lg);justify-content:flex-end;display:flex}.stat{padding:var(--space-4) var(--space-5);flex-direction:column;gap:4px;display:flex}.stat .label{color:var(--text-muted);align-items:center;gap:6px;font-size:12.5px;font-weight:500;display:flex}.stat .value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:650}.stat .meta{color:var(--text-subtle);font-size:12.5px}.badge{background:var(--bg-subtle);height:22px;color:var(--text-muted);border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:0 8px;font-size:12px;font-weight:550;display:inline-flex}.badge-success{background:var(--success-soft);color:var(--success);border-color:#0000}.badge-warning{background:var(--warning-soft);color:var(--warning);border-color:#0000}.badge-danger{background:var(--danger-soft);color:var(--danger);border-color:#0000}.badge-brand{background:var(--brand-soft);color:var(--brand-text);border-color:#0000}.badge-info{background:var(--info-soft);color:var(--info);border-color:#0000}.dot{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.swatch{border-radius:4px;flex:none;width:12px;height:12px;display:inline-block;box-shadow:inset 0 0 0 1px #0000001f}.status-free{color:var(--status-free)}.status-held{color:var(--status-held)}.status-booked{color:var(--status-booked)}.table-wrap{overflow-x:auto}table.table{border-collapse:collapse;width:100%;font-size:13.5px}.table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:10px var(--space-4);border-bottom:1px solid var(--border);background:var(--surface-2);white-space:nowrap;font-size:12px;font-weight:550}.table td{padding:11px var(--space-4);border-bottom:1px solid var(--border);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr:hover td{background:var(--surface-hover)}.table tr.clickable{cursor:pointer}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table tfoot td{background:var(--surface-2);border-top:1px solid var(--border);font-weight:600}.table td.select-col,.table th.select-col{width:40px;padding-right:0}.pagination{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);color:var(--text-muted);font-size:13px;display:flex}.tabs{gap:var(--space-1);border-bottom:1px solid var(--border);display:flex;overflow-x:auto}.tabs a,.tabs button{padding:10px var(--space-3);font:inherit;color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;font-weight:500}.tabs a:hover,.tabs button:hover{color:var(--text);text-decoration:none}.tabs .active,.tabs [aria-selected=true]{color:var(--text);border-bottom-color:var(--brand)}.empty{text-align:center;align-items:center;gap:var(--space-3);padding:56px var(--space-6);flex-direction:column;display:flex}.empty .empty-icon{background:var(--brand-soft);width:48px;height:48px;color:var(--brand-text);border-radius:12px;place-items:center;display:grid}.empty p{max-width:420px;color:var(--text-muted)}.error-state .empty-icon{background:var(--danger-soft);color:var(--danger)}.spinner{opacity:.8;border:2px solid;border-right-color:#0000;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.center-fill{min-height:240px;color:var(--text-subtle);flex:1;place-items:center;display:grid}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--bg-subtle) 25%, var(--surface-hover) 37%, var(--bg-subtle) 63%);background-size:400% 100%;min-height:14px;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:100%}to{background-position:0}}.callout{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);font-size:13.5px;display:flex}.callout svg{flex:none;margin-top:2px}.callout-warning{background:var(--warning-soft);color:var(--text);border-color:#0000}.callout-warning svg{color:var(--warning)}.callout-danger{background:var(--danger-soft);border-color:#0000}.callout-danger svg{color:var(--danger)}.callout-info{background:var(--info-soft);border-color:#0000}.callout-info svg{color:var(--info)}.modal-backdrop{padding:var(--space-4);z-index:100;background:#0a0a1473;place-items:center;animation:.12s fade-in;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:520px;max-height:calc(100vh - 32px);box-shadow:var(--shadow-lg);animation:.16s pop-in;overflow:auto}.modal.modal-lg{max-width:760px}.modal-header{align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-6) 0;display:flex}.modal-header .titles{flex-direction:column;flex:1;gap:4px;display:flex}.modal-body{padding:var(--space-5) var(--space-6);gap:var(--space-4);flex-direction:column;display:flex}.modal-footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--radius-xl) var(--radius-xl);display:flex}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(6px)scale(.98)}}.toasts{right:var(--space-4);bottom:var(--space-4);gap:var(--space-2);z-index:200;flex-direction:column;max-width:min(400px,100vw - 32px);display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);animation:.18s pop-in;display:flex}.toast .toast-icon{flex:none;margin-top:1px}.toast-success .toast-icon{color:var(--success)}.toast-error .toast-icon{color:var(--danger)}.toast-info .toast-icon{color:var(--info)}.toast .toast-title{font-weight:600}.toast .toast-desc{color:var(--text-muted);font-size:13px}.menu-anchor{position:relative}.menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:220px;box-shadow:var(--shadow-lg);padding:var(--space-1);z-index:50;animation:.12s pop-in;position:absolute;top:calc(100% + 6px);left:0;right:0}.menu.menu-right{left:auto}.menu-item{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:8px 10px;display:flex}.menu-item:hover,.menu-item:focus-visible{background:var(--surface-hover)}.menu-item.danger{color:var(--danger)}.menu-sep{background:var(--border);height:1px;margin:var(--space-1) 0}.menu-heading{text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);padding:6px 10px 4px;font-size:11px;font-weight:600}.ws-switcher{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);width:100%;color:var(--text);font:inherit;cursor:pointer;text-align:left;align-items:center;gap:10px;padding:8px 10px;display:flex}.ws-switcher:hover{background:var(--surface-hover)}.ws-avatar{color:#fff;background:linear-gradient(135deg,#0ea5e9,#6366f1);border-radius:7px;flex:none;place-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:grid}.ws-switcher .ws-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13.5px;font-weight:600;overflow:hidden}.ws-switcher .ws-role{color:var(--text-subtle);text-transform:capitalize;font-size:11.5px;font-weight:400;display:block}.code-block{border-radius:var(--radius-lg);background:var(--code-bg);color:var(--code-text);border:1px solid var(--border);position:relative;overflow:hidden}.code-block-header{align-items:center;gap:var(--space-2);color:#a6a6ba;border-bottom:1px solid #ffffff14;padding:8px 8px 8px 14px;font-size:12px;display:flex}.code-block-header .btn{color:#e7e7f0;box-shadow:none;background:#ffffff0f;border-color:#ffffff1f}.code-block-header .btn:hover{background:#ffffff1f}.code-block pre{margin:0;padding:14px 16px;line-height:1.6;overflow-x:auto}.copy-field{align-items:center;gap:var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-2);min-width:0;padding:4px 4px 4px 12px;display:flex}.copy-field code{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.copy-field.secret{border-color:var(--warning);background:var(--warning-soft)}.kv{gap:var(--space-3) var(--space-4);grid-template-columns:160px minmax(0,1fr);align-items:center;display:grid}.kv dt{color:var(--text-muted);font-size:13px}.kv dd{min-width:0;margin:0}@media (width<=600px){.kv{grid-template-columns:minmax(0,1fr);gap:4px}.kv dd{margin-bottom:var(--space-2)}}.auth-page{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100%;display:grid}.auth-panel{padding:var(--space-8);flex-direction:column;justify-content:center;display:flex}.auth-form{gap:var(--space-5);flex-direction:column;width:100%;max-width:380px;margin:0 auto;display:flex}.auth-form .brand{margin-bottom:var(--space-4);padding:0}.auth-aside{color:#fff;justify-content:flex-end;gap:var(--space-4);background:radial-gradient(circle at 20% 20%,#7c6dff 0,#0000 50%),radial-gradient(circle at 80% 70%,#c04bf5 0,#0000 45%),#1b1640;flex-direction:column;padding:48px;display:flex;position:relative;overflow:hidden}.auth-aside h2{letter-spacing:-.02em;max-width:440px;font-size:28px}.auth-aside p{color:#ffffffc7;max-width:440px}.auth-aside .seat-art{opacity:.9;position:absolute;top:48px;left:48px;right:48px}@media (width<=900px){.auth-page{grid-template-columns:minmax(0,1fr)}.auth-aside{display:none}}.chart-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.chart-card{flex-direction:column;transition:box-shadow .15s,border-color .15s;display:flex;overflow:hidden}.chart-card:hover{box-shadow:var(--shadow);border-color:var(--border-strong)}.chart-card .thumb{background:var(--map-bg);border-bottom:1px solid var(--border);height:150px;color:inherit;place-items:center;display:grid}.chart-card .thumb:hover{text-decoration:none}.chart-card .thumb svg{width:100%;height:100%}.chart-card .meta{padding:var(--space-3) var(--space-4);flex-direction:column;gap:6px;display:flex}.chart-card .meta .title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.template-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.template-option{padding:var(--space-2);border:1.5px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;flex-direction:column;gap:6px;display:flex}.template-option:hover{border-color:var(--border-strong)}.template-option[aria-pressed=true]{border-color:var(--brand);box-shadow:var(--focus)}.template-option .thumb{border-radius:var(--radius);background:var(--map-bg);place-items:center;height:84px;display:grid;overflow:hidden}.template-option .thumb svg{width:100%;height:100%}.template-option .name{padding:0 4px;font-size:13px;font-weight:600}.template-option .desc{color:var(--text-subtle);padding:0 4px 4px;font-size:12px}.seatmap-frame{background:var(--map-bg);border-radius:var(--radius-lg);min-height:320px;position:relative;overflow:hidden}.seatmap-frame svg.chart-svg{width:100%;height:100%;display:block}.chart-svg text{font-family:var(--font-sans);-webkit-user-select:none;user-select:none}.chart-svg .seat{transition:opacity .2s}.legend{gap:var(--space-2) var(--space-4);color:var(--text-muted);flex-wrap:wrap;font-size:12.5px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.map-badge{z-index:2;position:absolute;top:10px;left:10px}.map-controls{z-index:2;flex-direction:column;gap:4px;display:flex;position:absolute;top:10px;right:10px}.designer-page{flex-direction:column;height:100%;min-height:0;display:flex}.designer-toolbar{align-items:center;gap:var(--space-3);padding:10px var(--space-4);background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.designer-toolbar .chart-name{color:var(--text);border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;min-width:120px;max-width:320px;padding:4px 6px;font-family:inherit;font-size:15px;font-weight:600}.designer-toolbar .chart-name:hover{border-color:var(--border)}.designer-toolbar .chart-name:focus{border-color:var(--brand);box-shadow:var(--focus);outline:none}.save-state{color:var(--text-subtle);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.designer-body{flex:1;grid-template-columns:minmax(0,1fr) 340px;min-height:0;display:grid}.designer-body.side-closed{grid-template-columns:minmax(0,1fr)}.btn.btn-active{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-text)}.btn .badge{height:18px;padding:0 6px}.designer-canvas{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.designer-side{border-left:1px solid var(--border);background:var(--surface);flex-direction:column;display:flex;overflow:auto}.designer-side section{padding:var(--space-4);border-bottom:1px solid var(--border);gap:var(--space-3);flex-direction:column;display:flex}.issue-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.issue-list li{align-items:flex-start;gap:8px;font-size:13px;display:flex}.issue-list li svg{flex:none;margin-top:2px}.issue-list .error svg{color:var(--danger)}.issue-list .warning svg{color:var(--warning)}.fallback-banner{margin:var(--space-3)}@media (width<=1100px){.designer-body{grid-template-rows:minmax(360px,1fr) auto;grid-template-columns:minmax(0,1fr)}.designer-side{border-left:0;border-top:1px solid var(--border)}}.bar{background:var(--bg-subtle);border-radius:999px;height:10px;display:flex;overflow:hidden}.bar>span{height:100%;display:block}.bar-free{background:var(--status-free)}.bar-held{background:var(--status-held)}.bar-booked{background:var(--status-booked)}.bar-nfs{background:repeating-linear-gradient(45deg, var(--border) 0 3px, transparent 3px 6px)}.pricing-table td{padding-top:8px;padding-bottom:8px}.pricing-table .input-group{max-width:180px;margin-left:auto}.pricing-table .input{text-align:right}.steps{counter-reset:step;gap:var(--space-6);flex-direction:column;display:flex}.step{gap:var(--space-4);grid-template-columns:32px minmax(0,1fr);display:grid}.step-num{background:var(--brand-soft);width:28px;height:28px;color:var(--brand-text);border-radius:50%;place-items:center;font-size:13px;font-weight:650;display:grid}.step-body{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}
