:root{--bg:#f5f4f4;--surface:#fff;--fill:#f0eeee;--surface-glass:#ffffffb8;--border:#00000014;--ink:#1d1a1a;--muted:#6e6969;--accent:#350001;--accent-hover:#4a0a0f;--accent-active:#240001;--on-accent:#fff;--accent-ink:#350001;--brand:#350001;--focus:#35000138;--danger:#ff3b30;--danger-ink:#d70015;--success:#34c759;--success-ink:#248a3d;--warning:#ff9f0a;--warning-ink:#c93400;--purple:#af52de;--purple-ink:#8944ab;--tint-blue:color-mix(in srgb, var(--accent) 12%, transparent);--tint-green:color-mix(in srgb, var(--success) 16%, transparent);--tint-orange:color-mix(in srgb, var(--warning) 16%, transparent);--tint-red:color-mix(in srgb, var(--danger) 12%, transparent);--tint-purple:color-mix(in srgb, var(--purple) 14%, transparent);--scrim:#0000004d;--shadow:0 2px 8px #0000000a, 0 8px 24px #0000000f;--shadow-lg:0 8px 24px #00000014, 0 24px 64px #0000001f;--font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Inter, system-ui, sans-serif;--r-sm:8px;--r-md:12px;--r-lg:20px;--r-pill:9999px;--ease:cubic-bezier(.25, .1, .25, 1);--spring:cubic-bezier(.32, .72, 0, 1);--green:var(--accent);--green-soft:var(--accent-hover);--serif:var(--font);--sans:var(--font);font:15px/1.47 var(--font);color:var(--ink);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#000;--surface:#1c1a1a;--fill:#2c2929;--surface-glass:#1c1a1ab8;--border:#ffffff1f;--ink:#f5f4f4;--muted:#a6a1a1;--accent:#b8444c;--accent-hover:#c6525a;--accent-active:#a3383f;--accent-ink:#e07a82;--focus:#e07a8261;--danger:#ff453a;--danger-ink:#ff6961;--success:#30d158;--success-ink:#30d158;--warning:#ff9f0a;--warning-ink:#ffb340;--purple:#bf5af2;--purple-ink:#da8fff;--scrim:#00000080;--shadow:0 2px 8px #0000004d, 0 8px 24px #0006;--shadow-lg:0 8px 24px #0006, 0 24px 64px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#000;--surface:#1c1a1a;--fill:#2c2929;--surface-glass:#1c1a1ab8;--border:#ffffff1f;--ink:#f5f4f4;--muted:#a6a1a1;--accent:#b8444c;--accent-hover:#c6525a;--accent-active:#a3383f;--accent-ink:#e07a82;--focus:#e07a8261;--danger:#ff453a;--danger-ink:#ff6961;--success:#30d158;--success-ink:#30d158;--warning:#ff9f0a;--warning-ink:#ffb340;--purple:#bf5af2;--purple-ink:#da8fff;--scrim:#00000080;--shadow:0 2px 8px #0000004d, 0 8px 24px #0006;--shadow-lg:0 8px 24px #0006, 0 24px 64px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:focus-visible{box-shadow:0 0 0 4px var(--focus);outline:none}h1,h2{letter-spacing:-.02em}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100svh}h1,h2,h3,p,ul{margin:0}button{font:inherit}a{color:var(--accent-ink)}.guide-layer{z-index:1000;position:fixed;inset:0}.guide-spot{border-radius:var(--r-md);outline:2px solid var(--on-accent);outline-offset:0;pointer-events:none;position:fixed;box-shadow:0 0 0 9999px #00000073}.guide-bubble{border-radius:var(--r-lg);background:var(--surface);width:min(320px,100vw - 32px);color:var(--ink);box-shadow:var(--shadow-lg);animation:guide-in .2s var(--ease);padding:20px;position:fixed}.guide-layer{--guide-move:.5s cubic-bezier(.45, 0, .2, 1)}.guide-layer--animate .guide-spot{transition:top var(--guide-move), left var(--guide-move), width var(--guide-move), height var(--guide-move)}.guide-layer--animate .guide-bubble{transition:top var(--guide-move), left var(--guide-move), opacity .2s var(--ease)}.guide-bubble--waiting{opacity:0;pointer-events:none}.guide-bubble--right:before,.guide-bubble--left:before,.guide-bubble--above:before,.guide-bubble--below:before{content:"";background:var(--surface);width:14px;height:14px;position:absolute;transform:rotate(45deg)}.guide-bubble--right:before{top:calc(50% - 7px);left:-7px}.guide-bubble--below:before{top:-7px;left:24px}.guide-bubble--left:before{top:calc(50% - 7px);right:-7px}.guide-bubble--above:before{bottom:-7px;left:24px}.guide-count{font:600 12px/1.2 var(--font);color:var(--accent-ink);margin:0 0 4px}.guide-title{font:600 19px/1.25 var(--font);letter-spacing:-.01em;margin:0 0 6px}.guide-text{font:400 15px/1.45 var(--font);color:var(--muted);margin:0}.guide-actions{justify-content:space-between;align-items:center;gap:8px;margin-top:18px;display:flex}.guide-actions-right{gap:8px;margin-left:auto;display:flex}.guide-skip{font:500 14px/1 var(--font);color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0}.guide-skip:hover{color:var(--ink);text-decoration:underline}@keyframes guide-in{0%{opacity:0;transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.guide-layer--animate .guide-bubble,.guide-layer--animate .guide-spot,.guide-bubble{transition:none;animation:none}}.help-sections{gap:2px;margin:8px 0 0;padding:0;list-style:none;display:grid}.help-sections li{border-top:1px solid var(--border);grid-template-columns:160px minmax(0,1fr);gap:16px;padding:14px 0;display:grid}.help-sections strong{font:600 15px/1.4 var(--font)}.help-sections span{font:400 15px/1.45 var(--font);color:var(--muted)}@media (width<=600px){.help-sections li{grid-template-columns:1fr;gap:4px}}.admin-shell{background:var(--bg);align-items:stretch;min-height:100svh;display:flex}.admin-sidebar{background:var(--surface-glass);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;align-self:flex-start;gap:2px;width:240px;min-height:100svh;padding:20px 0 16px;display:flex;position:sticky;top:0}.admin-logo{align-items:center;gap:10px;padding:0 20px 28px;display:flex}.admin-logo-badge{width:34px;height:34px;box-shadow:0 1px 3px #0000001f, 0 0 0 1px var(--border);border-radius:9px;flex-shrink:0;display:inline-flex}.admin-logo-badge svg{border-radius:inherit;width:100%;height:100%}.admin-logo-text{flex-direction:column;gap:3px;min-width:0;display:flex}.admin-logo-brand{align-items:center;gap:8px;display:flex}.brand-wordmark{color:var(--accent-ink);flex-shrink:0;display:block}.admin-logo-name{min-width:0;font:500 13px/1.25 var(--font);color:var(--muted);overflow-wrap:anywhere}.admin-logo-name:empty{display:none}.admin-logo-tag{border-radius:var(--r-pill);background:var(--tint-blue);font:600 10px/1.2 var(--font);letter-spacing:.06em;color:var(--accent-ink);padding:2px 6px}.admin-location-picker{flex-direction:column;gap:6px;padding:0 20px 20px;display:flex}.admin-location-picker label{font:500 12px/1 var(--font);color:var(--muted)}.admin-location-picker select{border-radius:var(--r-sm);background:var(--fill);width:100%;min-height:36px;color:var(--ink);font:500 15px/1.3 var(--font);border:0;padding:0 10px}.admin-nav{flex-direction:column;gap:2px;width:100%;padding:0 10px;display:flex}.admin-nav-item{border-radius:var(--r-sm);min-height:36px;font:500 15px/1.3 var(--font);color:var(--ink);transition:background .2s var(--ease), color .2s var(--ease);align-items:center;padding:0 12px;text-decoration:none;display:flex}.admin-nav-item:hover{background:var(--fill)}.admin-nav-item.active{background:var(--accent);color:var(--on-accent)}.admin-sidebar-spacer{flex:1 0 0;min-height:1px}.admin-user{flex-direction:column;gap:8px;padding:0 20px;display:flex}.admin-user-row{align-items:center;gap:10px;display:flex}.admin-avatar{border-radius:var(--r-pill);background:var(--accent);width:32px;height:32px;color:var(--on-accent);font:600 13px/1 var(--font);justify-content:center;align-items:center;display:inline-flex}.admin-user-name{color:var(--ink);overflow-wrap:anywhere;font-size:13px}.admin-logout{font:500 13px/1.3 var(--font);color:var(--accent-ink);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0}.admin-logout:hover{text-underline-offset:3px;text-decoration:underline}.admin-right{background:var(--bg);flex-direction:column;flex:1 0 0;min-width:1px;display:flex}.admin-topbar{border-bottom:1px solid var(--border);background:var(--surface-glass);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);z-index:10;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:20px 40px;display:flex;position:sticky;top:0}.admin-topbar-titles{flex-direction:column;flex:1 0 0;gap:2px;min-width:1px;display:flex}.admin-topbar-titles h1{font:600 28px/1.15 var(--font);letter-spacing:-.02em;color:var(--ink)}.admin-topbar-titles p{color:var(--muted);font-size:13px}.admin-topbar-date{color:var(--muted);white-space:nowrap;font-size:14px}.admin-topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.admin-main{flex-direction:column;gap:28px;padding:32px 40px;display:flex}.admin-card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow)}.stats-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.stat-tile{flex-direction:column;gap:8px;padding:24px;display:flex}.stat-tile-label{font:600 13px/1.3 var(--sans);color:var(--muted)}.stat-tile-value{font:600 34px/1.1 var(--font);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink)}.stat-tile-value.danger{color:var(--danger)}.stat-tile-note{color:var(--muted);font-size:12px}.oversikt-row{align-items:flex-start;gap:20px;display:flex}.bookings-card{flex-direction:column;flex:2 1 0;min-width:1px;padding:24px;display:flex}.activity-card{flex-direction:column;flex:1 1 0;min-width:1px;padding:24px;display:flex}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.card-title{font:600 20px/1.3 var(--font);letter-spacing:-.01em;color:var(--ink)}.card-link{font:600 13px/1.3 var(--sans);color:var(--accent-ink);white-space:nowrap;text-decoration:none}.card-link:hover{text-underline-offset:3px;text-decoration:underline}.booking-row{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:12px 0;display:flex}.booking-left{align-items:center;gap:16px;min-width:1px;display:flex}.booking-time{width:44px;color:var(--muted);flex-shrink:0;font-size:13px}.booking-name{font:600 14px/1.3 var(--sans);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.booking-right{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px 20px;display:flex}.booking-meta{color:var(--muted);white-space:nowrap;font-size:13px}.status-badge{border-radius:var(--r-pill);font:600 12px/1.3 var(--font);white-space:nowrap;align-items:center;padding:4px 10px;display:inline-flex}.status-badge.arrived{background:var(--tint-blue);color:var(--accent-ink)}.status-badge.reserved{background:var(--tint-green);color:var(--success-ink)}.status-badge.waiting{background:var(--tint-orange);color:var(--warning-ink)}.status-badge.cancelled{background:var(--tint-red);color:var(--danger-ink)}.activity-item{border-top:1px solid var(--border);flex-direction:column;gap:2px;padding:12px 0;display:flex}.activity-text{color:var(--ink);font-size:13px}.activity-time{color:var(--muted);font-size:12px}.quick-links-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.quick-link{justify-content:space-between;align-items:center;gap:12px;padding:20px 24px;text-decoration:none;transition:border-color .12s,transform .12s;display:flex}.quick-link:hover{border-color:var(--accent)}.quick-link-label{font:600 14px/1.3 var(--sans);color:var(--ink);align-items:center;gap:12px;display:flex}.quick-link-icon{border-radius:var(--r-sm);background:var(--tint-blue);width:36px;height:36px;color:var(--accent-ink);justify-content:center;align-items:center;display:inline-flex}.quick-link-arrow{color:var(--muted);font-size:14px}.btn{border-radius:var(--r-md);min-height:44px;font:500 15px/1.2 var(--font);cursor:pointer;white-space:nowrap;transition:background .2s var(--ease), transform .2s var(--ease), filter .2s var(--ease);border:0;justify-content:center;align-items:center;gap:8px;padding:0 20px;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.btn.primary:active:not(:disabled){background:var(--accent-active)}.btn.outline{background:var(--fill);color:var(--accent-ink)}.btn.outline:hover:not(:disabled){filter:brightness(.97)}.btn.danger-outline{background:var(--tint-red);color:var(--danger-ink)}.btn.danger-outline:hover:not(:disabled){filter:brightness(.97)}.btn.square{border-radius:var(--r-md)}.btn:disabled{opacity:.5;cursor:not-allowed}.link-action{font:400 13px/1.3 var(--sans);color:var(--muted);cursor:pointer;background:0 0;border:0;margin:-10px -2px;padding:10px 2px}.link-action:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.link-action.danger:hover{color:var(--danger)}.table-card{flex-direction:column;padding:24px;display:flex}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:900px}.data-table th{text-align:left;font:500 12px/1.3 var(--font);color:var(--muted);white-space:nowrap;padding:0 16px 10px 0}.data-table td{border-top:1px solid var(--border);font:400 14px/1.3 var(--sans);color:var(--ink);vertical-align:middle;padding:14px 16px 14px 0}.data-table .cell-strong{font-weight:600}.data-table .cell-muted{color:var(--muted);font-size:13px}.data-table .cell-price{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}.status-badge.noshow,.status-badge.cancelled-charged{background:var(--tint-red);color:var(--danger-ink)}.status-badge.cancelled-free{background:var(--fill);color:var(--muted)}.status-badge.invited,.status-badge.cat-forratter{background:var(--tint-orange);color:var(--warning-ink)}.status-badge.cat-varmratter{background:var(--tint-red);color:var(--danger-ink)}.status-badge.cat-efterratter{background:var(--tint-purple);color:var(--purple-ink)}.status-badge.cat-drycker{background:var(--tint-blue);color:var(--accent-ink)}.dish-swatch{border-radius:10px;width:56px;height:44px;display:block}.row-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.switch{border-radius:var(--r-pill);background:color-mix(in srgb, var(--muted) 30%, transparent);cursor:pointer;width:51px;height:31px;transition:background .2s var(--ease);border:0;flex-shrink:0;padding:0;position:relative}.switch:after{content:"";border-radius:var(--r-pill);width:27px;height:27px;transition:transform .3s var(--spring);background:#fff;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0003}.switch[aria-checked=true]{background:var(--success)}.switch[aria-checked=true]:after{transform:translate(20px)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%;display:grid}.form-field{flex-direction:column;gap:8px;min-width:1px;display:flex}.form-field label{font:500 13px/1.3 var(--font);color:var(--ink)}.form-field input,.form-field select,.form-field textarea{border-radius:var(--r-md);background:var(--fill);width:100%;min-height:44px;font:400 15px/1.3 var(--font);color:var(--ink);transition:box-shadow .2s var(--ease);border:0;outline:none;padding:10px 16px}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--muted)}.form-field select{cursor:pointer}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{box-shadow:0 0 0 4px var(--focus)}.form-field-label-row{align-items:center;gap:6px;display:flex}.info-tooltip{display:inline-flex;position:relative}.info-tooltip-trigger{border:1px solid var(--muted);width:22px;height:22px;font:700 11px/1 var(--sans);color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-style:italic;transition:border-color .12s,color .12s;display:inline-flex}.info-tooltip-trigger:hover,.info-tooltip-trigger[aria-expanded=true]{border-color:var(--green);color:var(--accent-ink)}.info-tooltip-panel{z-index:20;border:1px solid var(--border);background:var(--surface);width:max(240px,min(300px,80vw));box-shadow:var(--shadow-lg);border-radius:14px;padding:14px 16px;position:absolute;top:calc(100% + 8px);left:0}.info-tooltip-panel p{font:400 13px/1.5 var(--sans);color:var(--ink);padding-right:16px}.info-tooltip-close{width:28px;height:28px;font:400 16px/1 var(--sans);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:6px;right:6px}.info-tooltip-close:hover{color:var(--ink);background:var(--bg)}.modal-overlay{z-index:50;background:var(--scrim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--r-lg);width:480px;max-width:100%;max-height:calc(100svh - 48px);box-shadow:var(--shadow-lg);flex-direction:column;gap:20px;padding:24px;display:flex;overflow-y:auto}.modal h2{font:600 20px/1.3 var(--font);color:var(--ink)}.modal-actions{justify-content:flex-end;gap:12px;padding-top:4px;display:flex}.modal--confirm{gap:12px;width:400px}.modal-text{font:400 15px/1.45 var(--font);color:var(--muted)}.modal--confirm .modal-actions{padding-top:12px}@media (width<=480px){.modal--confirm .modal-actions{flex-direction:column-reverse}.modal--confirm .modal-actions .btn{width:100%}}.form-error{background:var(--tint-red);color:var(--danger-ink);border-radius:var(--r-md);padding:12px 16px;font-size:13px}.form-section-label{font:600 14px/1.3 var(--sans);color:var(--ink)}.hours-list{background:var(--bg);border:1px solid var(--border);border-radius:12px;width:100%;padding:0 16px}.hours-row{justify-content:space-between;align-items:center;gap:16px;padding:12px 0;font-size:13px;display:flex}.hours-row+.hours-row{border-top:1px solid var(--border)}.hours-row strong{color:var(--ink);font-weight:600}.hours-row span{color:var(--muted)}.hours-editor{background:var(--bg);border:1px solid var(--border);border-radius:12px;width:100%;padding:0 16px}.hours-editor-row{align-items:center;gap:16px;padding:10px 0;font-size:13px;display:flex}.hours-editor-row+.hours-editor-row{border-top:1px solid var(--border)}.hours-editor-day{color:var(--ink);flex:0 0 90px}.hours-editor-intervals{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hours-editor-interval{align-items:center;gap:6px;display:inline-flex}.hours-editor-interval input[type=time]{border:1px solid var(--border);font:400 13px var(--sans);border-radius:6px;padding:4px 6px}.toggle-row{justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.toggle-row-label{font:600 13px/1.3 var(--sans);color:var(--ink)}.notifications-form{flex-direction:column;gap:18px;display:flex}.save-notice{color:var(--accent-ink);font-size:13px}.settings-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.stripe-status{background:var(--bg);border-radius:12px;align-items:center;gap:10px;width:100%;padding:14px 16px;display:flex}.stripe-dot{background:var(--border);border-radius:5px;flex-shrink:0;width:10px;height:10px}.stripe-dot.ok{background:var(--success)}.stripe-title{font:600 14px/1.3 var(--sans);color:var(--ink)}.stripe-manage{border-radius:12px;width:100%}.admin-empty{color:var(--muted);padding:24px;font-size:14px}@media (width<=1280px){.stats-row,.quick-links-row{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-row{grid-template-columns:1fr}.oversikt-row{flex-direction:column}.bookings-card,.activity-card{flex:none;width:100%}}@media (width<=900px){.form-grid{grid-template-columns:1fr}.admin-shell{flex-direction:column}.admin-sidebar{flex-flow:wrap;align-items:center;gap:8px;width:100%;min-height:0;padding:12px 16px;position:static}.admin-logo{padding:0 8px 0 0}.admin-nav{flex-flow:wrap;width:auto}.admin-nav-item{border-bottom:3px solid #0000;border-left:0;padding:8px 12px}.admin-nav-item.active{border-bottom-color:var(--accent)}.admin-sidebar-spacer{display:none}.admin-user{flex-direction:row;align-items:center;gap:12px;margin-left:auto;padding:0}.admin-topbar,.admin-main{padding-left:20px;padding-right:20px}.stats-row,.quick-links-row{grid-template-columns:1fr}}@media (width<=600px){.admin-topbar{gap:10px 12px;padding:20px 16px}.admin-topbar-titles h1{font-size:21px}.admin-main{gap:20px;padding:20px 16px}.admin-topbar-actions{justify-content:flex-start;width:100%}.table-card,.bookings-card,.activity-card,.stat-tile{padding:16px}.card-title{font-size:18px}.stat-tile-value{font-size:26px}.modal-overlay{padding:12px}.modal{border-radius:16px;padding:20px}.quick-link{padding:16px 18px}}.tenant-notice{flex-direction:column;gap:12px;max-width:560px;display:flex}.setup-step{text-decoration:none}.setup-step:hover .activity-text{text-underline-offset:3px;text-decoration:underline}.setup-step .activity-text{align-items:center;gap:10px;display:flex}.setup-check{border:1.5px solid var(--border);width:20px;height:20px;font:700 11px/1 var(--sans);color:var(--muted);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.setup-check.done{border-color:var(--green);background:var(--green);color:#fff}.today-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.today-list li{border-bottom:1px solid var(--border);grid-template-columns:52px 1fr auto;align-items:center;gap:12px;padding:12px 0;font-size:14px;display:grid}.today-list li:last-child{border-bottom:0}.rules-table td,.rules-table th{vertical-align:middle}.rules-number{border:1px solid var(--border);background:var(--surface);width:64px;font:inherit;border-radius:8px;padding:6px 8px}.combo-list,.special-days{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.combo-list li,.special-day-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.special-days .form-error{margin:4px 0 0;font-size:13px}.combo-add,.special-day-add{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:12px;margin:0;padding:12px 16px 16px;display:flex}.special-intervals{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.special-interval{align-items:center;gap:8px;display:flex}.settings-tabs{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.settings-tabs button{border-radius:var(--r-pill);background:var(--fill);min-height:36px;font:500 14px/1 var(--font);color:var(--ink);cursor:pointer;border:0;padding:0 14px}.settings-tabs button:hover{background:color-mix(in srgb, var(--ink) 8%, var(--fill))}.settings-tabs button.active{background:var(--accent);color:var(--on-accent);font-weight:600}[hidden]{display:none!important}.toggle-stack{flex-direction:column;gap:14px;margin:8px 0 4px;display:flex}.catering-visibility .card-title{margin-bottom:2px}.catering-preview-details{padding:0}.catering-preview-details>summary{font:600 17px/1.3 var(--font);color:var(--ink);cursor:pointer;padding:20px 24px}.catering-preview-details[open]>summary{border-bottom:1px solid var(--border)}.catering-preview-details>.catering-preview-row{padding:20px 24px 24px}.compact-select{border-radius:var(--r-md);background-color:var(--fill);min-height:36px;font:500 14px/1 var(--font);color:var(--ink);border:0;padding:0 32px 0 12px}.admin-nav--bottom{margin-bottom:12px}.setup-card{flex:none;width:100%}.stat-tile--link{color:inherit;transition:transform .15s var(--ease), box-shadow .15s var(--ease);text-decoration:none}.stat-tile--link:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.stat-tile-note{min-height:2.6em}.stat-tile-action{font:600 13px/1.3 var(--font);color:var(--accent-ink);margin-top:auto}.stat-tile--attention{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--warning) 70%, transparent), var(--shadow)}.stat-tile--attention .stat-tile-value{color:var(--warning-ink)}.status-cell{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.arrive-btn{border:1px solid var(--border);background:var(--surface);font:600 12px/1.3 var(--sans);color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:8px;margin:-6px 0;padding:10px;transition:border-color .12s,color .12s,background .12s}.arrive-btn:hover{border-color:var(--green);color:var(--accent-ink)}.arrive-btn.confirm{background:var(--accent);border-color:var(--accent);color:#fff}.status-badge.locked{cursor:default}.bookings-head{flex-wrap:wrap;gap:16px}.day-nav{align-items:center;gap:12px;display:flex}.day-nav-label{flex-direction:column;gap:2px;min-width:0;display:flex}.day-step{min-width:44px;padding-inline:0;font-size:18px}.day-tools{align-items:center;gap:8px;display:flex}.day-tools input[type=date]{border:1px solid var(--border);background:var(--surface);height:44px;font:500 14px/1 var(--sans);color:var(--ink);border-radius:12px;padding:0 12px}.bookings-table .booking-row{cursor:pointer;border:0;padding:0;display:table-row}.bookings-table{min-width:640px}.booking-row:hover td,.booking-row:focus-visible td{background:var(--bg)}.booking-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.booking-row.muted td{opacity:.6}.note-dot{color:var(--accent-ink)}.link-btn{font:600 13px/1.3 var(--sans);color:var(--accent-ink);cursor:pointer;background:0 0;border:0;align-self:flex-start;margin-top:12px;padding:8px 0;text-decoration:underline}.booking-modal{width:580px}.booking-modal-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.booking-modal-head p{margin-top:4px}.booking-details{grid-template-columns:max-content 1fr;gap:8px 16px;margin:0;font-size:14px;display:grid}.booking-details dt{color:var(--muted)}.booking-details dd{overflow-wrap:anywhere;min-width:0;margin:0}.booking-notes{white-space:pre-wrap}.booking-actions{flex-wrap:wrap;gap:8px;display:flex}.booking-panel,.booking-form{flex-direction:column;gap:16px;display:flex}.booking-panel{border:1px solid var(--border);background:var(--bg);border-radius:12px;padding:16px}.check-row{color:var(--ink);cursor:pointer;align-items:flex-start;gap:10px;font-size:14px;display:flex}.check-row input{width:18px;height:18px;accent-color:var(--green);margin-top:1px}.segmented{border:1px solid var(--border);background:var(--bg);border-radius:12px;align-self:flex-start;padding:4px;display:inline-flex}.segmented button{min-height:36px;font:600 13px/1 var(--sans);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 16px}.segmented button.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.slot-picker{flex-direction:column;gap:16px;display:flex}.table-picker{border:0;flex-direction:column;gap:10px;margin:0;padding:0;display:flex}.table-chips{flex-wrap:wrap;gap:8px;display:flex}.table-chip{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;align-items:center;gap:6px;min-height:40px;padding:0 12px;font-size:13px;display:inline-flex}.table-chip input{accent-color:var(--green)}.table-chip.selected{border-color:var(--green);background:var(--tint-blue)}.booking-form textarea{border:1px solid var(--border);background:var(--surface);width:100%;font:400 14px/1.4 var(--sans);color:var(--ink);resize:vertical;border-radius:12px;padding:12px 14px}.booking-form .field-hint{color:var(--muted);margin:0;font-size:12px}.booking-form .field-hint.error{color:var(--danger)}.booking-history summary{font:600 13px/1.3 var(--sans);color:var(--muted);cursor:pointer}.booking-history ol{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;font-size:13px;list-style:none;display:flex}@media (width<=640px){.booking-details{grid-template-columns:1fr;gap:2px}.booking-details dd{margin-bottom:8px}.day-tools{width:100%}}.orders-pause{font:600 13px/1.2 var(--sans);align-items:center;gap:10px;display:flex}.orders-pause select{border:1px solid var(--border);background:var(--surface);font:inherit;border-radius:10px;padding:10px 12px}.orders-banner{background:var(--tint-orange);color:var(--warning-ink);border-radius:12px;margin:0;padding:12px 16px;font-weight:600}.orders-banner.open{background:var(--tint-green);color:var(--accent-ink)}.orders-banner.paused{background:var(--tint-red);color:var(--danger)}.orders-board{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:20px;display:grid}.orders-column{flex-direction:column;gap:14px;display:flex}.orders-column-title{font:600 18px/1.2 var(--serif);margin:0}.order-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:10px;padding:16px;display:flex}.order-card.fresh{border-color:var(--accent);box-shadow:0 0 0 4px var(--focus)}.order-card-head{align-items:center;gap:10px;display:flex}.order-number{font:700 22px/1 var(--sans)}.order-time{color:var(--muted);margin-left:auto;font-size:13px}.order-lines{flex-direction:column;gap:4px;margin:0;padding:0;font-size:15px;list-style:none;display:flex}.order-notes{background:var(--tint-orange);border-radius:8px;margin:0;padding:8px 10px;font-size:14px}.order-meta{margin:0;font-size:13px}.order-actions{flex-wrap:wrap;gap:8px;display:flex}.order-actions .btn.square{padding:10px 14px}.order-cancel{margin-left:auto}.orders-done{padding:16px 20px}.orders-done summary{cursor:pointer;font-weight:600}.orders-done ul{color:var(--muted);margin:12px 0 0;padding-left:18px;font-size:14px}@media (width<=1100px){.orders-board{grid-template-columns:minmax(0,1fr)}}.qr-sheet{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-top:12px;display:grid}.qr-tile{border:1px solid var(--border);text-align:center;break-inside:avoid;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:12px;display:flex}.qr-tile img{width:160px;height:160px}.qr-tile-label{font:700 16px/1.2 var(--sans)}.meny-filters{flex-wrap:wrap;align-items:flex-end;gap:16px;padding-bottom:20px;display:flex}.meny-filters .form-field{flex:150px;min-width:130px}.meny-filters .form-field:first-child{flex:2 200px}.meny-filters-clear{flex:none}.dish-photo{object-fit:cover;border:1px solid var(--border);border-radius:10px;width:56px;height:44px;display:block}.dish-placeholder{background:var(--bg);border:1px dashed var(--border);width:56px;height:44px;color:var(--muted);border-radius:10px;justify-content:center;align-items:center;font-size:18px;display:flex}.dish-placeholder.large{flex-shrink:0;width:96px;height:72px;font-size:26px}.dish-upload{align-items:center;gap:16px;display:flex}.dish-upload-preview{object-fit:cover;border:1px solid var(--border);border-radius:12px;flex-shrink:0;width:96px;height:72px;display:block}.dish-upload-actions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.calc-hint{background:var(--tint-orange);color:var(--warning-ink);border:0;border-radius:12px;padding:12px 16px;font-size:13px}.field-hint{color:var(--muted);font-size:12px}.field-note{background:var(--bg);color:var(--muted);border-radius:10px;padding:10px 14px;font-size:12px}.modal-subtitle{color:var(--muted);margin-top:-12px;font-size:13px}.tier-modal-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.catering-preview-row{align-items:flex-start;gap:20px;display:flex}.catering-preview-card{flex:2 1 0;min-width:1px}.catering-preview-head{background:var(--bg);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;padding:14px 16px;display:flex}.catering-total-portions{font:600 16px/1.3 var(--serif);color:var(--ink)}.catering-dish-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.catering-dish-row{border-top:1px solid var(--border);align-items:center;gap:14px;padding:12px 0;display:flex}.catering-dish-swatch{background:var(--bg);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:40px;font-size:18px;display:flex;overflow:hidden}.catering-dish-swatch img{object-fit:cover;width:100%;height:100%}.catering-dish-info{flex-direction:column;flex:1 1 0;gap:2px;min-width:140px;display:flex}.catering-dish-price{text-align:right;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;min-width:90px;display:flex}.catering-price-original{color:var(--muted);font-size:12px;text-decoration:line-through}.catering-stepper{flex-shrink:0;align-items:center;gap:10px;display:flex}.catering-stepper-btn{border:1px solid var(--border);background:var(--surface);width:28px;height:28px;color:var(--ink);font:600 16px/1 var(--sans);cursor:pointer;border-radius:14px;transition:border-color .12s}.catering-stepper-btn:hover:not(:disabled){border-color:var(--green)}.catering-stepper-btn:disabled{opacity:.4;cursor:not-allowed}.catering-stepper-value{text-align:center;min-width:20px;font:600 14px/1.3 var(--sans)}.catering-dish-total{text-align:right;min-width:74px;font:600 14px/1.3 var(--sans);color:var(--ink);flex-shrink:0}.catering-address-row{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:4px;padding-top:16px;display:flex}.catering-address-row .form-field{flex:260px}.catering-summary-panel{background:var(--green);color:#fff;border-radius:20px;flex-direction:column;flex:1 1 0;align-self:flex-start;gap:10px;min-width:260px;padding:24px;display:flex;position:sticky;top:96px}.catering-summary-kicker{font:700 11px/1 var(--sans);letter-spacing:.08em;color:var(--accent-ink)}.catering-summary-title{font:600 18px/1.3 var(--serif);color:#fff}.catering-summary-empty{color:#ffffffb3;font-size:13px}.catering-summary-lines{border-bottom:1px solid #ffffff26;flex-direction:column;gap:6px;padding-bottom:10px;display:flex}.catering-summary-line{color:#ffffffd9;justify-content:space-between;gap:12px;font-size:13px;display:flex}.catering-summary-subtotal{color:#fff;padding-top:4px;font-weight:600}.catering-summary-discount{color:var(--accent-ink)}.catering-summary-total{font:700 20px/1.3 var(--serif);color:#fff;border-top:1px solid #ffffff26;justify-content:space-between;padding-top:10px;display:flex}.catering-summary-vat{color:#ffffff8c;margin-top:-6px;font-size:11px}.catering-summary-upsell{color:#fff;background:#ffffff29;border:1px solid #ffffff4d;border-radius:10px;padding:10px 12px;font-size:12px}.catering-send-btn{background:var(--accent);color:#fff;font:600 14px/1.2 var(--sans);cursor:pointer;border:0;border-radius:24px;margin-top:4px;padding:14px 20px;transition:filter .12s}.catering-send-btn:hover{filter:brightness(1.06)}@media (width<=1280px){.catering-preview-row{flex-direction:column}.catering-summary-panel{width:100%;position:static}}@media (width<=720px){.catering-dish-row{flex-wrap:wrap}.catering-dish-price{text-align:left;order:3;align-items:flex-start}.catering-dish-total{text-align:left;order:4}.catering-address-row{flex-direction:column;align-items:stretch}}.catering-facts{gap:8px;margin:12px 0 0;display:grid}.catering-facts>div{grid-template-columns:130px 1fr;gap:12px;display:grid}.catering-facts dt{color:var(--muted)}.catering-facts dd{overflow-wrap:anywhere;margin:0}.catering-facts .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.catering-lines{gap:6px;margin:12px 0;padding:0;list-style:none;display:grid}.catering-lines li{justify-content:space-between;gap:12px;display:flex}.catering-lines-total{border-top:1px solid var(--border);padding-top:8px;font-weight:700}.catering-callout{background:var(--tint-orange);color:var(--warning-ink);border-radius:12px;margin:0;padding:14px 18px}.offer-table input{border:1px solid var(--border);width:100%;min-width:70px;font:inherit;border-radius:8px;padding:8px 10px}.catering-confirm{border:1px solid color-mix(in srgb, var(--danger) 35%, transparent);border-radius:12px;flex-direction:column;gap:8px;margin-top:12px;padding:14px;display:flex}.catering-confirm textarea,.catering-request .form-field textarea{border:1px solid var(--border);font:inherit;border-radius:10px;padding:10px 12px}.catering-versions,.catering-history{gap:6px;margin:12px 0 0;padding-left:18px;display:grid}.layout-viewmode-banner{background:var(--tint-orange);color:var(--warning-ink);border:0;border-radius:12px;padding:12px 16px;font-size:13px}.layout-viewmode-banner .link-action{color:inherit;text-underline-offset:2px;font-weight:600;text-decoration:underline}.props-fieldset{border:0;min-width:0;margin:0;padding:0;display:contents}.props-fieldset:disabled button,.props-fieldset:disabled input{opacity:.55;cursor:not-allowed}.editor-row{align-items:stretch;gap:24px;display:flex}.editor-toolbar{border-radius:16px;flex-direction:column;align-self:flex-start;gap:8px;padding:12px;display:flex}.tool-btn{border:1px solid var(--border);background:var(--surface);width:56px;height:52px;color:var(--ink);font:600 15px/1 var(--sans);cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;transition:border-color .12s,background .12s;display:flex}.tool-btn small{font:500 9px/1 var(--sans);color:var(--muted)}.tool-btn:hover:not(:disabled){border-color:var(--green)}.tool-btn.active{background:var(--green);border-color:var(--green);color:#fff}.tool-btn.active small{color:#ffffffbf}.tool-btn:disabled{opacity:.4;cursor:not-allowed}.floor-scene{background:var(--bg);border:1px solid var(--border);perspective:1600px;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:16px;flex:1 1 0;min-width:1px;height:600px;position:relative;overflow:hidden}.floor-scene.tool-draw{cursor:crosshair}.floor-scene.tool-hand{cursor:grab}.floor-scene.tool-hand-grabbing{cursor:grabbing}.scene-controls{z-index:5;gap:8px;display:flex;position:absolute;top:16px;right:16px}.floor-tabs{z-index:5;flex-wrap:wrap;gap:6px;max-width:60%;display:flex;position:absolute;top:16px;left:16px}.floor-tabs button{border:1px solid var(--border);background:var(--surface);font:600 13px/1.2 var(--sans);color:var(--muted);cursor:pointer;border-radius:10px;padding:8px 14px}.floor-tabs button.active{background:var(--green);border-color:var(--green);color:#fff}.floor-tabs button.add{min-width:34px;color:var(--ink)}.floor-tabs button.add:hover{border-color:var(--green)}.view-toggle{border:1px solid var(--border);background:var(--surface);border-radius:10px;display:flex;overflow:hidden}.view-toggle button{font:600 13px/1.2 var(--sans);color:var(--muted);cursor:pointer;background:0 0;border:0;padding:8px 16px}.view-toggle button.active{background:var(--green);color:#fff}.view-toggle .zoom-value{font-variant-numeric:tabular-nums;min-width:52px;color:var(--ink)}.scene-hint{z-index:5;color:var(--muted);font-size:12px;position:absolute;bottom:12px;left:16px}.scene-hint.warning{color:var(--danger);font-weight:600}.floor-world{transform-style:preserve-3d;transform:translate(-50%, -50%) scale(var(--zoom,1)) rotateX(var(--tilt,0deg)) rotateZ(var(--spin,0deg));transition:transform .32s cubic-bezier(.4,0,.2,1);position:absolute;top:50%;left:50%}.floor-world.no-anim{transition:none}.floor-plane{transform-style:preserve-3d;border:1px dashed #0000002e;transition:transform .32s cubic-bezier(.4,0,.2,1);position:relative}.floor-ghost{transform-style:preserve-3d;pointer-events:none;position:absolute;inset:0}.floor-ghost .seg{--lift:calc(-1 * var(--wh,90px))}.floor-ghost .seg.wall .seg-face{box-shadow:none;background:#0006}.floor-ghost .seg-cap{display:none}.ground{cursor:pointer;background-color:#ececf0;background-image:linear-gradient(#0000000d 1px,#0000 1px),linear-gradient(90deg,#0000000d 1px,#0000 1px);background-position:0 0;background-repeat:repeat;background-size:20px 20px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border:2px solid #dcdce0;position:absolute;box-shadow:0 0 0 1px #0000000a}.ground.selected{outline:2px solid var(--accent);outline-offset:-1px}.ground.draft{opacity:.65;pointer-events:none;border-style:dashed}.scene-empty{z-index:4;pointer-events:none;text-align:center;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.scene-empty p{border:1px solid var(--border);max-width:340px;color:var(--muted);background:#ffffffd9;border-radius:16px;padding:20px 24px;font-size:14px;line-height:1.5}.scene-empty strong{color:var(--ink)}.seg{transform-style:preserve-3d;cursor:pointer;position:absolute}.seg-face{backface-visibility:visible;transition:height .32s cubic-bezier(.4,0,.2,1),width .32s cubic-bezier(.4,0,.2,1),opacity .32s;position:absolute}.seg-face.h-n{width:100%;height:var(--wh,90px);transform-origin:top;transform:translateZ(var(--lift,0px)) rotateX(90deg);top:0;left:0}.seg-face.h-s{width:100%;height:var(--wh,90px);transform-origin:bottom;transform:translateZ(var(--lift,0px)) rotateX(-90deg);bottom:0;left:0}.seg-face.v-w{height:100%;width:var(--wh,90px);transform-origin:0;transform:translateZ(var(--lift,0px)) rotateY(-90deg);top:0;left:0}.seg-face.v-e{height:100%;width:var(--wh,90px);transform-origin:100%;transform:translateZ(var(--lift,0px)) rotateY(90deg);top:0;right:0}.seg-cap{transform:translateZ(var(--wh,90px));transition:transform .32s cubic-bezier(.4,0,.2,1);position:absolute;inset:0}.seg-shadow{position:absolute;inset:0}.seg.wall .seg-face{background:linear-gradient(#48484a,#3a3a3c)}.seg.wall .seg-cap{background:#58585c}.seg.lowered.wall .seg-face{background:linear-gradient(#636366,#545458)}.seg.lowered .seg-cap{background:#6e6e73;box-shadow:inset 0 0 0 1px #ffffff1f}.seg.window .seg-face.glass{background:linear-gradient(#d6ebf3e6,#96c4d6bf);box-shadow:inset 0 0 0 2px #fff9}.seg.window .seg-cap.glass-cap{background:#9fc4d2}.seg.kitchen .seg-face,.seg.entrance .seg-face{background:linear-gradient(#7a1d25,#4a0a0f)}.seg.kitchen .seg-cap,.seg.entrance .seg-cap{background:#9a3a43}.seg.selected .seg-face,.seg.selected .seg-cap{outline:2px solid var(--accent);outline-offset:-1px}.seg.selected .seg-shadow{outline:2px solid var(--accent)}.seg.draft{pointer-events:none;opacity:.75}.seg-handle{background:var(--accent);width:22px;height:22px;transform:translateZ(calc(var(--wh,90px) + 4px));cursor:ew-resize;z-index:2;border:2px solid #fff;border-radius:11px;position:absolute;box-shadow:0 1px 4px #00000059}.seg-handle.h-a{margin-top:-11px;top:50%;left:-11px}.seg-handle.h-b{margin-top:-11px;top:50%;right:-11px}.seg-handle.v-a{cursor:ns-resize;margin-left:-11px;top:-11px;left:50%}.seg-handle.v-b{cursor:ns-resize;margin-left:-11px;bottom:-11px;left:50%}.seg-tag{transform-style:preserve-3d;transform:translateZ(calc(var(--tagz,var(--wh,90px)) + 6px));pointer-events:none;transition:transform .32s cubic-bezier(.4,0,.2,1);position:absolute;top:50%;left:50%}.seg-tag span{transform:translate(-50%, -50%) rotateZ(calc(-1 * var(--spin,0deg))) rotateX(calc(-1 * var(--tilt,0deg)));font:700 10px/1 var(--sans);letter-spacing:.08em;color:var(--muted);white-space:nowrap;background:#ffffffe6;border-radius:6px;padding:3px 7px;transition:transform .32s cubic-bezier(.4,0,.2,1);display:inline-block}.seg.kitchen .seg-tag span,.seg.entrance .seg-tag span{color:#0058b0;background:#ebf4ffeb}.table-el{transform-style:preserve-3d;cursor:grab;position:absolute}.table-el:active{cursor:grabbing}.table-base{filter:blur(2px);background:#00000024;position:absolute;inset:0}.table-seat{background:#b9ab95;border:1px solid #0000002e;border-radius:4px;position:absolute;box-shadow:0 1px 2px #0000002e}.table-el.selected .table-seat{background:var(--accent);border-color:var(--accent)}.table-handle{background:var(--accent);width:22px;height:22px;transform:translateZ(calc(var(--th,22px) + 4px));z-index:2;border:2px solid #fff;border-radius:11px;position:absolute;box-shadow:0 1px 4px #00000059}.table-handle.e{cursor:ew-resize;margin-top:-11px;top:50%;right:-11px}.table-handle.w{cursor:ew-resize;margin-top:-11px;top:50%;left:-11px}.table-handle.n{cursor:ns-resize;margin-left:-11px;top:-11px;left:50%}.table-handle.s{cursor:ns-resize;margin-left:-11px;bottom:-11px;left:50%}.table-body{transform-style:preserve-3d;position:absolute;inset:0}.table-face{background:#ded6c8;position:absolute}.table-face.front{width:100%;height:var(--th);transform-origin:bottom;background:#d3c9b8;bottom:0;left:0;transform:rotateX(-90deg)}.table-face.back{width:100%;height:var(--th);transform-origin:top;top:0;left:0;transform:rotateX(90deg)}.table-face.left{width:var(--th);transform-origin:0;height:100%;top:0;left:0;transform:rotateY(-90deg)}.table-face.right{width:var(--th);transform-origin:100%;height:100%;top:0;right:0;transform:rotateY(90deg)}.table-top{transform:translateZ(var(--th));transform-style:preserve-3d;background:#fff;border:1px solid #ddd5c6;flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;position:absolute;inset:0;box-shadow:inset 0 0 0 2px #00000008}.table-labels{transform-origin:bottom;transform:translateZ(1px) rotateZ(calc(-1 * var(--spin,0deg))) rotateX(calc(-1 * var(--tilt,0deg)));flex-direction:column;align-items:center;gap:1px;transition:transform .6s cubic-bezier(.4,0,.2,1);display:flex}.table-el.round .table-top,.table-el.round .table-base,.table-el.round .table-face.side-ring{border-radius:50%}.table-face.side-ring{transform:translateZ(calc(var(--th) / 2));background:0 0;border:0;inset:0;box-shadow:0 0 0 1px #d3c9b8}.table-label{font:700 11px/1.1 var(--sans);color:var(--ink)}.table-seats{font:700 10px/1.1 var(--sans);color:#fff;background:var(--ink,#1d1d1f);border-radius:7px;padding:1px 6px}.table-el.selected .table-top{background:var(--green);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.table-el.selected .table-label{color:#fff}.table-el.selected .table-seats{color:var(--accent-ink);background:#fff}.fixture{transform-style:preserve-3d;cursor:grab;position:absolute}.fixture:active{cursor:grabbing}.fixture .fx-face{background:#3a3a3c;position:absolute}.fixture .fx-face.front{width:100%;height:var(--fh);transform-origin:bottom;background:#2c2c2e;bottom:0;left:0;transform:rotateX(-90deg)}.fixture .fx-face.back{width:100%;height:var(--fh);transform-origin:top;top:0;left:0;transform:rotateX(90deg)}.fixture .fx-face.left{width:var(--fh);transform-origin:0;height:100%;top:0;left:0;transform:rotateY(-90deg)}.fixture .fx-face.right{width:var(--fh);transform-origin:100%;height:100%;top:0;right:0;transform:rotateY(90deg)}.fixture .fx-top{transform:translateZ(var(--fh));transform-style:preserve-3d;background:#58585c linear-gradient(90deg,#ffffff0f 0 2px,#0000 2px 12px);border:1px solid #2c2c2e;position:absolute;inset:0}.fixture .fx-register{width:24px;height:16px;transform:translateZ(var(--fh));transform-style:preserve-3d;--rh:18px;pointer-events:none;margin-top:-8px;position:absolute;top:50%;right:10px}.fxr-face{background:#2c2c2e;position:absolute}.fxr-face.back{width:100%;height:var(--rh);transform-origin:top;top:0;left:0;transform:rotateX(90deg)}.fxr-face.front{width:100%;height:var(--rh);transform-origin:bottom;background:#1c1c1e;bottom:0;left:0;transform:rotateX(-90deg)}.fxr-face.left{width:var(--rh);transform-origin:0;height:100%;top:0;left:0;transform:rotateY(-90deg)}.fxr-face.right{width:var(--rh);transform-origin:100%;height:100%;top:0;right:0;transform:rotateY(90deg)}.fxr-top{background:var(--accent);border:1px solid var(--accent-active);transform:translateZ(var(--rh));position:absolute;inset:0}.fixture .seg-tag.kassa-tag{--tagz:82px}.fixture .seg-tag.kassa-tag span{background:var(--green);color:#fff;letter-spacing:.1em}.fixture.selected .fx-top{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.floor-entry-label{transform-style:preserve-3d;pointer-events:none;position:absolute}.props-panel{flex-direction:column;flex-shrink:0;align-self:flex-start;gap:20px;width:320px;padding:24px;display:flex}.props-kicker{font:700 12px/1.2 var(--sans);letter-spacing:.06em;color:var(--accent-ink)}.props-title{font:600 20px/1.2 var(--serif);color:var(--ink)}.props-label{font:700 11px/1.2 var(--sans);letter-spacing:.06em;color:var(--muted)}.props-field{flex-direction:column;gap:8px;display:flex}.shape-toggle{border:1px solid var(--border);border-radius:10px;align-self:flex-start;display:inline-flex;overflow:hidden}.shape-toggle button{background:var(--surface);font:400 13px/1.2 var(--sans);color:var(--muted);cursor:pointer;border:0;padding:8px 16px}.shape-toggle button.active{background:var(--green);color:#fff;font-weight:600}.seats-stepper{border:1px solid var(--border);border-radius:22px;align-self:flex-start;align-items:center;gap:16px;padding:6px;display:inline-flex}.seats-stepper span{font:700 14px/1 var(--sans);color:var(--ink);text-align:center;min-width:16px}.step-btn{background:var(--green);color:#fff;width:32px;height:32px;font:700 13px/1 var(--sans);cursor:pointer;border:0;border-radius:16px;justify-content:center;align-items:center;display:flex}.step-btn:disabled{opacity:.4;cursor:not-allowed}.zone-chip{background:var(--green);color:#fff;font:600 13px/1.2 var(--sans);cursor:pointer;border:0;border-radius:20px;align-self:flex-start;padding:8px 16px}.props-pos{color:var(--ink);white-space:pre-wrap;font-size:13px}.props-divider{background:var(--border);width:100%;height:1px}.props-empty{color:var(--muted);font-size:13px}.floor-list{flex-wrap:wrap;gap:6px;display:flex}.floor-pill{border:1px solid var(--border);background:var(--surface);font:600 13px/1.2 var(--sans);color:var(--muted);cursor:pointer;border-radius:10px;padding:8px 14px}.floor-pill.active{background:var(--green);border-color:var(--green);color:#fff}.editor-statusbar{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--muted);border-radius:12px;align-items:center;gap:16px;padding:14px 20px;font-size:13px;display:flex}.editor-statusbar .grow{flex:1 1 0;min-width:1px}@media (width<=1280px){.editor-row{flex-wrap:wrap}.props-panel{width:100%}}.versions-list{flex-direction:column;display:flex}.version-row{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:12px 0;display:flex}.version-row:first-child{border-top:0}.version-row-main{align-items:baseline;gap:10px;min-width:0;display:flex}.version-row-right{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.version-row-main,.version-row-right{font:400 14px/1.3 var(--sans);color:var(--ink)}.version-row .cell-strong{font-weight:600}.version-row .cell-muted{color:var(--muted);font-size:13px}.status-badge.pending-version{border:1px dashed var(--warning-ink);color:var(--warning-ink);background:0 0}.pending-version-notice{background:var(--tint-orange);color:var(--warning-ink);border:0;border-radius:12px;padding:12px 16px;font-size:13px}@media (width<=760px){.editor-toolbar{-webkit-overflow-scrolling:touch;flex-direction:row;width:100%;padding:10px;overflow-x:auto}.tool-btn{flex-shrink:0}.floor-scene{flex:100%;width:100%;height:min(600px,65vh);min-height:320px}.props-panel{padding:16px}.scene-controls{flex-wrap:nowrap;justify-content:flex-start;top:58px;left:12px;right:12px;overflow-x:auto}.view-toggle{flex-shrink:0}.floor-tabs{max-width:calc(100% - 24px);top:12px;left:12px}.editor-statusbar{flex-wrap:wrap;gap:8px 16px}}.auth-screen{--auth-bg:var(--bg);--auth-card:var(--surface);--auth-border:var(--border);--auth-ink:var(--ink);--auth-muted:var(--muted);--auth-green:var(--accent);--auth-error:var(--danger-ink);--auth-error-bg:var(--tint-red);--auth-serif:var(--font);--auth-sans:var(--font);background:var(--auth-bg);min-height:100svh;color:var(--auth-ink);font-family:var(--auth-sans);flex-direction:column;justify-content:center;align-items:center;padding:80px 24px;display:flex}.auth-inner{flex-direction:column;align-items:center;gap:32px;display:flex}.auth-logo{align-items:center;gap:10px;display:flex}.auth-logo-badge{width:44px;height:44px;box-shadow:0 1px 3px #0000001f, 0 0 0 1px var(--border);border-radius:10px;display:inline-flex}.auth-logo-badge svg{border-radius:inherit}.auth-logo-text{flex-direction:column;gap:4px;display:flex}.auth-logo-text .brand-wordmark{color:var(--accent-ink);display:block}.auth-logo-text span{font:600 12px/1 var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--auth-muted)}.auth-card{background:var(--auth-card);border-radius:var(--r-lg);width:440px;max-width:100%;box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:20px;padding:40px 32px;display:flex}.auth-heading{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.auth-heading h1{font:600 28px/1.15 var(--auth-serif);letter-spacing:-.02em;color:var(--auth-ink)}.auth-heading p{color:var(--auth-muted);max-width:360px;font-size:14px}.auth-form{flex-direction:column;align-items:stretch;gap:20px;width:360px;max-width:100%;display:flex}.auth-fields{flex-direction:column;gap:16px;display:flex}.auth-field{flex-direction:column;gap:8px;display:flex}.auth-field label{color:var(--auth-ink);font-size:13px;font-weight:600}.auth-field input{width:100%;min-height:44px;font:400 17px/1.2 var(--auth-sans);color:var(--auth-ink);background:var(--fill);border-radius:var(--r-md);transition:box-shadow .2s var(--ease);border:0;outline:none;padding:10px 16px}.auth-field input::placeholder{color:var(--auth-muted)}.auth-field input:focus{box-shadow:0 0 0 4px var(--focus)}.auth-rules{background:var(--auth-bg);border-radius:12px;flex-direction:column;gap:8px;margin:0;padding:16px;font-size:13px;list-style:none;display:flex}.auth-rule{color:var(--auth-muted);align-items:center;gap:8px;display:flex}.auth-rule.met{color:var(--success-ink)}.auth-error{background:var(--auth-error-bg);color:var(--auth-error);border-radius:12px;padding:12px 16px;font-size:13px}.auth-submit{border-radius:var(--r-md);background:var(--accent);width:100%;min-height:44px;color:var(--on-accent);font:500 17px/1.2 var(--auth-sans);cursor:pointer;transition:background .2s var(--ease), transform .2s var(--ease), opacity .2s var(--ease);border:0;justify-content:center;align-items:center;padding:0 20px;display:flex}.auth-submit:hover:not(:disabled){background:var(--accent-hover)}.auth-submit:active:not(:disabled){transform:scale(.98)}.auth-submit:disabled{opacity:.55;cursor:not-allowed}.auth-hint{width:360px;max-width:100%;color:var(--auth-muted);text-align:center;font-size:13px}.auth-link{color:var(--accent-ink);font:600 13px/1.4 var(--auth-sans);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.auth-link:hover{color:var(--accent-hover)}.auth-error .auth-link{color:var(--auth-error)}.auth-notes{background:var(--auth-bg);width:360px;max-width:100%;color:var(--auth-muted);border-radius:12px;flex-direction:column;gap:10px;padding:16px;font-size:13px;display:flex}a.auth-submit{width:360px;max-width:100%;text-decoration:none}.auth-splash{min-height:100svh;color:var(--muted,#8b97a5);justify-content:center;align-items:center;display:flex}@media (width<=520px){.auth-screen{padding:40px 16px}.auth-card{padding:28px 20px}}
