:root{--bg:#f6f5f4;--sidebar:#efeeec;--surface:#fff;--subtle:#f6f5f4;--hover:#0000000b;--active:#00000012;--text:#0d0d0d;--muted:#615d59;--faint:#8a8580;--accent:#0068c9;--accent-hover:#005bb0;--accent-text:#fff;--accent-soft:#e6f3fe;--accent-soft-text:#00508f;--border:#e3e2e0;--border-strong:#cfcdca;--input:#fff;--free:#2f7a4f;--free-bg:#dbf0e1;--occupied:#7a4fb0;--occupied-bg:#ece2f6;--grace:#9a5300;--grace-bg:#ffe8bf;--closed:#615d59;--closed-bg:#ebe9e6;--error:#c2321f;--error-bg:#ffe3de;--focus:#0075de;--shadow-pop:0 0 0 1px #0000000f, 0 4px 12px #0000001a, 0 12px 32px #00000014;--shadow-bar:0 .7px 1.5px #00000004, 0 3px 9px #00000008;--shadow-soft:none;--radius:9px;--radius-md:6px;--radius-sm:3.5px;--gap:16px;--ease:cubic-bezier(.16, 1, .3, 1);--font:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", Inter, Helvetica, Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#191919;--sidebar:#1e1e1e;--surface:#222;--subtle:#262626;--hover:#ffffff0e;--active:#ffffff17;--text:#e3e3e1;--muted:#a5a4a0;--faint:#7f7e7a;--accent:#529cca;--accent-hover:#69abd5;--accent-text:#0b1220;--accent-soft:#2383e22e;--accent-soft-text:#8fc3f7;--border:#333;--border-strong:#464646;--input:#ffffff0a;--free:#6cc293;--free-bg:#2d996433;--occupied:#b996e0;--occupied-bg:#9a6dd738;--grace:#f0a35e;--grace-bg:#d9730d38;--closed:#a5a4a0;--closed-bg:#ffffff17;--error:#f08a84;--error-bg:#e03e3e33;--focus:#529cca;--shadow-pop:0 0 0 1px #ffffff14, 0 3px 6px #0006, 0 9px 24px #00000080;--shadow-soft:none;--shadow-bar:0 3px 9px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#191919;--sidebar:#1e1e1e;--surface:#222;--subtle:#262626;--hover:#ffffff0e;--active:#ffffff17;--text:#e3e3e1;--muted:#a5a4a0;--faint:#7f7e7a;--accent:#529cca;--accent-hover:#69abd5;--accent-text:#0b1220;--accent-soft:#2383e22e;--accent-soft-text:#8fc3f7;--border:#333;--border-strong:#464646;--input:#ffffff0a;--free:#6cc293;--free-bg:#2d996433;--occupied:#b996e0;--occupied-bg:#9a6dd738;--grace:#f0a35e;--grace-bg:#d9730d38;--closed:#a5a4a0;--closed-bg:#ffffff17;--error:#f08a84;--error-bg:#e03e3e33;--focus:#529cca;--shadow-pop:0 0 0 1px #ffffff14, 0 3px 6px #0006, 0 9px 24px #00000080;--shadow-soft:none;--shadow-bar:0 3px 9px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:1rem/1.5 var(--font);-webkit-font-smoothing:antialiased;margin:0}::selection{color:inherit;background:#0075de38}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}input,select,textarea{caret-color:var(--accent);accent-color:var(--accent)}*{scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin}.shell{grid-template-columns:var(--sidebar-w,248px) minmax(0, 1fr);min-height:100dvh;display:grid;position:relative}.sidebar-head{justify-content:space-between;align-items:center;gap:4px;display:flex}.sidebar-head .brand{min-width:0}.sidebar-toggle{border-radius:var(--radius-md);width:28px;height:28px;color:var(--faint);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.sidebar-toggle:hover{background:var(--hover);color:var(--text)}.sidebar-resize{-webkit-user-select:none;user-select:none;top:0;bottom:0;left:calc(var(--sidebar-w,248px) - 3px);cursor:col-resize;z-index:5;touch-action:none;width:6px;position:absolute}.sidebar-resize:after{content:"";width:2px;transition:background-color .15s var(--ease);background:0 0;position:absolute;top:0;bottom:0;left:2px}.sidebar-resize:hover:after,.sidebar-resize:active:after{background:var(--border-strong)}.shell[data-collapsed] .sidebar-resize{display:none}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);flex-direction:column;gap:8px;height:100dvh;padding:12px 8px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{border-radius:var(--radius-sm);color:var(--text);align-items:center;gap:10px;padding:6px 10px;font-size:.9375rem;font-weight:600;text-decoration:none;display:flex}.brand:hover{background:var(--hover)}.brand-mark{border-radius:4.5px;place-items:center;width:24px;height:24px;font-size:1.125rem;line-height:1;display:grid}.nav{flex-direction:column;flex:1;gap:1px;display:flex}.nav-item{border-radius:var(--radius-md);width:100%;min-height:32px;color:var(--muted);font:inherit;text-align:left;cursor:pointer;transition:background-color .15s var(--ease), color .15s var(--ease);background:0 0;border:0;align-items:center;gap:10px;padding:4px 10px;font-size:.875rem;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{background:var(--hover);color:var(--text)}.nav-item[aria-current=page]{background:var(--active);color:var(--text);font-weight:600}.nav-icon{color:var(--faint);flex:none}.nav-item:hover .nav-icon,.nav-item[aria-current=page] .nav-icon{color:var(--text)}.nav-group{flex-direction:column;gap:1px;margin-top:16px;display:flex}.nav-heading{color:var(--muted);letter-spacing:.01em;margin:0 0 4px;padding:0 10px;font-size:.75rem;font-weight:600}.nav-foot{flex-direction:column;gap:1px;margin-top:auto;padding-top:12px;display:flex}.nav-foot form{margin:0}.menu-button{display:none}.page{flex-direction:column;min-width:0;min-height:100dvh;display:flex}main{flex:1;width:100%;max-width:900px;margin:0 auto;padding:40px clamp(16px,4vw,48px) 72px}.site-foot{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 16px;padding:16px clamp(16px,4vw,40px) 20px;font-size:.75rem;display:flex}.site-foot a{color:var(--muted);text-decoration:none}.site-foot a:hover{color:var(--text);text-decoration:underline}@media (max-width:899px){.shell,.shell[data-collapsed]{grid-template-columns:1fr}.shell[data-collapsed] .sidebar{display:flex}.sidebar-head{display:contents}.sidebar-toggle,.sidebar-resize{display:none}.sidebar{z-index:10;border-right:0;border-bottom:1px solid var(--border);height:auto;box-shadow:var(--shadow-bar);flex-direction:row;align-items:center;gap:2px;padding:8px 12px;position:sticky;top:0;overflow:visible}.brand{color:var(--text);flex:none;gap:8px;padding:4px 6px;font-size:.9375rem;font-weight:600}.brand .brand-mark{width:24px;height:24px;font-size:1.125rem}.menu-button{border-radius:var(--radius-md);width:36px;height:36px;color:var(--muted);cursor:pointer;transition:background-color .15s var(--ease), color .15s var(--ease);background:0 0;border:0;order:-1;place-items:center;padding:0;display:grid}.menu-button[aria-expanded=true]{background:var(--hover);color:var(--text)}@media (hover:hover){.menu-button:hover{background:var(--hover);color:var(--text)}}.nav{display:none}.sidebar[data-open] .nav{background:var(--surface);border-radius:var(--radius);max-height:calc(100dvh - 80px);box-shadow:var(--shadow-pop);animation:menu-in .14s var(--ease);padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:8px;right:8px;overflow-y:auto}.sidebar[data-open] .nav-item{min-height:40px;font-size:.9375rem}.nav-group{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.nav-foot{flex:none;margin:0 0 0 auto;padding:0}.nav-foot:empty{display:none}main{padding-top:28px}.page{min-height:calc(100dvh - 53px)}}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:none}}h1{letter-spacing:-.03em;text-wrap:balance;margin:0 0 8px;font-size:2rem;font-weight:700;line-height:1.15}@media (max-width:899px){h1{font-size:1.75rem}}h2{letter-spacing:-.01em;text-wrap:balance;margin:32px 0 12px;font-size:1.25rem;font-weight:650;line-height:1.3}h3{margin:24px 0 8px;font-size:1.0625rem;font-weight:600}p{margin:0 0 8px}a{color:var(--accent-soft-text);text-underline-offset:3px;transition:text-decoration-color .15s var(--ease);text-decoration:underline;text-decoration-thickness:1px}a:hover{text-decoration-color:currentColor}code{background:var(--subtle);color:var(--error);border-radius:var(--radius-sm);padding:1px 5px;font:.85em/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.muted{color:var(--muted)}.error{color:var(--error);background:var(--error-bg);border-radius:var(--radius-sm);padding:8px 12px}p.error{margin:0}.link{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);min-height:32px;color:var(--text);font:inherit;cursor:pointer;transition:background-color .15s var(--ease);align-items:center;gap:6px;padding:0 12px;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.link:hover{background:var(--hover)}.link:disabled{opacity:.45;cursor:not-allowed}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.stack{gap:16px;display:grid}label{color:var(--muted);gap:6px;font-size:.875rem;font-weight:500;display:grid}input,select,textarea{font:inherit;color:var(--text);border-radius:var(--radius-md);background:var(--input);min-height:36px;box-shadow:inset 0 0 0 1px var(--border-strong);transition:box-shadow .15s var(--ease);border:0;padding:6px 12px;font-size:.9375rem}input:hover,select:hover,textarea:hover{box-shadow:inset 0 0 0 1px var(--faint)}input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:inset 0 0 0 1px var(--focus), 0 0 0 3px #0075de40;outline:none}input[type=checkbox],input[type=radio]{min-height:0;box-shadow:none;width:16px;height:16px}input::placeholder{color:var(--faint)}.button{min-height:36px;font:inherit;border-radius:var(--radius-md);background:var(--accent);color:var(--accent-text);cursor:pointer;transition:background-color .15s var(--ease), transform .1s var(--ease);border:0;justify-content:center;align-items:center;gap:6px;padding:6px 15px;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent-hover)}.button:active{transform:scale(.98)}.button:disabled{opacity:.45;cursor:not-allowed}.button.secondary{background:var(--accent-soft);color:var(--accent-soft-text)}.button.secondary:hover{background:color-mix(in srgb, var(--accent-soft) 80%, var(--accent) 20%)}.button.danger{background:var(--error-bg);color:var(--error)}.button.danger:hover{background:color-mix(in srgb, var(--error-bg) 80%, var(--error) 20%)}.countdown-time{font-variant-numeric:tabular-nums;margin:16px 0 4px;font-size:3rem;font-weight:650}.countdown.grace .countdown-time{color:var(--grace);transition:color .16s ease-out}.group{margin-top:8px}.seat-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.seat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:background-color .15s var(--ease);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.seat:hover{background:var(--subtle)}.seat-label{font-variant-numeric:tabular-nums;font-weight:600}.seat-state{align-items:center;gap:8px;display:inline-flex}.seat-state:before{content:"";background:var(--closed);border-radius:50%;width:10px;height:10px;transition:background-color .15s ease-out}.seat.free .seat-state:before{background:var(--free)}.seat.occupied .seat-state:before{background:var(--occupied);border-radius:2px}.seat.grace .seat-state:before{background:var(--grace);clip-path:polygon(50% 0,100% 100%,0 100%)}.seat.freed .seat-state:before{background:var(--closed)}.table{border-collapse:collapse;width:100%}.table td,.table th{text-align:left;border-bottom:1px solid var(--border);padding:8px}@media (prefers-reduced-motion:reduce){html:not([data-motion=full]) *,html:not([data-motion=full]) :before,html:not([data-motion=full]) :after{transition-duration:.1s!important;animation-duration:.01ms!important}html:not([data-motion=full]) .button:active{transform:none}}html[data-motion=reduce] *,html[data-motion=reduce] :before,html[data-motion=reduce] :after{transition-duration:.1s!important;animation-duration:.01ms!important}html[data-motion=reduce] .button:active{transform:none}html[data-text=large]{font-size:112.5%}html[data-text=larger]{font-size:125%}.inline{display:inline}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.small{font-size:.875rem}.small-target{min-height:24px;line-height:24px;display:inline-block}.break{overflow-wrap:anywhere;font-size:.875rem}.badge{background:var(--closed-bg);min-height:22px;color:var(--text);white-space:nowrap;border-radius:4.5px;align-items:center;margin-left:8px;padding:0 8px;font-size:.8125rem;font-weight:500;line-height:20px;display:inline-flex}.badge.warn{background:var(--grace-bg);color:var(--grace)}.warning{border-radius:var(--radius);color:var(--text);background:var(--grace-bg);padding:12px 16px}.link-box{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);justify-items:start;gap:12px;padding:16px;display:grid}.seat-admin>details{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.seat-admin summary{cursor:pointer}.seat-admin .seat-form{margin-top:12px}.floor ul{padding-left:20px}fieldset{border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:12px 16px 16px}legend{padding:0 6px;font-size:.875rem;font-weight:600}fieldset.panel{padding:20px 24px 24px}fieldset.panel>legend{float:left;width:100%;margin:0 0 12px;padding:0;font-size:1.0625rem}fieldset.panel>legend+*{clear:both}.stack>.button,.stack>button,.stack>div>.button{justify-self:start}.tag-type{border:0;gap:8px;padding:0;display:grid}.setting{gap:4px;display:grid}.setting .small{margin:0}.warning-text{color:var(--grace);margin:0}.plain{gap:8px;margin:0;padding:0;list-style:none;display:grid}.grow{flex:1;min-width:200px}.slots{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.slot{border:1px solid var(--border);background:var(--surface);font-variant-numeric:tabular-nums;border-radius:4.5px}.slot>*{color:var(--text);justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;text-decoration:none;display:flex}.slot.past{color:var(--muted)}.slot.free>a{cursor:pointer}.slot.free .badge{background:var(--free-bg);color:var(--free)}.slot.booked .badge{background:var(--occupied-bg);color:var(--occupied)}.chips{gap:6px;margin:0;padding:0;list-style:none;display:grid}.chip{border-radius:var(--radius-md);background:var(--closed-bg);min-height:36px;color:var(--text);align-items:center;gap:8px;padding:4px 4px 4px 12px;font-size:.9375rem;display:flex}.chip-text{overflow-wrap:anywhere;flex:1;min-width:0}.chip-remove{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--muted);cursor:pointer;transition:background-color .15s var(--ease), color .15s var(--ease);background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.chip-remove:hover{background:var(--active);color:var(--error)}.chip-entry{flex-wrap:wrap;gap:8px;display:flex}.chip-entry input{flex:1;min-width:0}.member-entry{display:contents}.list-menu.member-suggest{flex:100%;order:2;gap:2px;width:auto;max-height:260px;margin:6px 0 0;padding:6px;font-size:.875rem;list-style:none;position:static;overflow-y:auto}.member-option .avatar,.member-option .avatar-img{width:24px;height:24px;font-size:.625rem}.member-option{border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:10px;min-height:40px;padding:4px 8px;display:flex}.member-option.is-active{background:var(--hover)}.member-text{flex:1;min-width:0;display:grid}.member-name,.member-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.member-name strong,.member-email strong{color:var(--text);font-weight:600}.member-recent{flex:none}.booking .small{margin:0}dialog.confirm{border-radius:var(--radius);background:var(--surface);color:var(--text);width:calc(100% - 32px);max-width:420px;box-shadow:var(--shadow-pop);border:0;padding:24px}dialog.confirm::backdrop{background:#0f0f0f73}dialog[open]{animation:.18s cubic-bezier(.16,1,.3,1) dialog-in}@keyframes dialog-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}main>*{animation:.24s cubic-bezier(.16,1,.3,1) both rise}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.skeleton{gap:12px;padding-top:8px;display:grid}.skeleton-line{background:var(--closed-bg);border-radius:4.5px;height:14px;animation:1.4s ease-in-out infinite pulse}.skeleton-line.title{width:45%;height:36px;margin-bottom:12px}.skeleton-line.short{width:60%}.skeleton-block{border-radius:var(--radius);background:var(--closed-bg);height:160px;animation:1.4s ease-in-out infinite pulse}.table-skeleton{gap:14px;padding:12px 0;display:grid}.table-skeleton .skeleton-line{height:22px}.table-pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.table-pager label{align-items:center;gap:8px;display:inline-flex}.table-pager select{min-height:32px}.table-pager .row{gap:8px}@keyframes pulse{0%,to{opacity:.45}50%{opacity:.9}}.refresh-skeleton{display:none}html[data-refreshing] .refresh-skeleton{display:block}html[data-refreshing] main>:not(.refresh-skeleton),.link-pending{display:none}.link-pending.is-pending{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px;margin-left:auto;animation:.9s ease-in-out infinite pulse;display:inline-block}html[data-nav-pending] .menu-button{animation:.9s ease-in-out infinite pulse}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}button[aria-busy=true]{cursor:progress}.seat.closed .seat-state:before{border:2px solid var(--closed);background:0 0}.seat.reserved .seat-state:before{background:var(--accent);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.slot.closed{color:var(--muted)}.slot.closed .badge{border-style:dashed}.floor-figure{margin:0 0 8px}.map-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.floor-map{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.floor-bg{fill:var(--surface)}.grid-line{fill:none;stroke:var(--border);stroke-width:.4px}.wall{fill:none;stroke:var(--text);stroke-width:.8px;stroke-linecap:round;stroke-linejoin:round}.wall.drafting{stroke:var(--accent);stroke-dasharray:1.5 1}.wall-hit{fill:none;stroke:#0000;stroke-width:3px;cursor:pointer}.furniture .shape{fill:none;stroke:var(--muted);stroke-width:1px}.furniture .shape.filled{fill:var(--border)}.ghost .shape{stroke:var(--accent);stroke-dasharray:1 .6}.map-label{fill:var(--text);cursor:pointer;font-size:4px;font-weight:600}.room rect{fill:var(--surface);stroke:var(--free);stroke-width:1px}.room.in_use rect{stroke:var(--occupied);stroke-width:1.6px}.room.awaiting_checkin rect{stroke:var(--grace);stroke-width:1.6px;stroke-dasharray:2 1.2}.room.closed rect{stroke:var(--closed);fill:var(--border)}.room-name{fill:var(--text);text-anchor:middle;dominant-baseline:middle;pointer-events:none;font-size:3.4px;font-weight:600}.room{cursor:pointer}.glyph.free{fill:var(--free)}.glyph.occupied{fill:var(--occupied)}.glyph.grace{fill:var(--grace)}.glyph.closed{fill:none;stroke:var(--closed);stroke-width:1.2px;stroke-linecap:round}.glyph.reserved{fill:var(--accent)}.seat-name{fill:var(--text);opacity:0;pointer-events:none;font-size:3px;font-weight:600;transition:opacity .12s ease-out}.seat-marker:hover .seat-name,.seat-marker:focus-visible .seat-name,.seat-marker.picked .seat-name{opacity:1}.seat-marker{cursor:pointer}.seat-marker:focus{outline:none}.seat-marker:focus-visible>:first-child{filter:drop-shadow(0 0 1px var(--focus))}.legend{flex-wrap:wrap;gap:6px 16px;margin:8px 0 0;padding:0;font-size:.875rem;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:flex}.legend svg{overflow:visible}.legend-room{border:2px solid var(--free);border-radius:2px;width:16px;height:10px;display:inline-block}.preview{background:var(--surface);border:1px solid var(--border);border-radius:4.5px;display:block}.preview .shape{fill:none;stroke:var(--muted);stroke-width:1px;vector-effect:non-scaling-stroke}.preview .shape.filled{fill:var(--border)}.designer-canvas{aspect-ratio:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);touch-action:none;-webkit-user-select:none;user-select:none;width:100%;max-width:320px}.designer-canvas .shape{fill:none;stroke:var(--text);stroke-width:1.5px;vector-effect:non-scaling-stroke}.designer-canvas .shape.filled{fill:var(--border)}.editor{outline:none;grid-template-columns:minmax(180px,220px) minmax(0,1fr) minmax(180px,240px);align-items:start;gap:16px;display:grid}.editor-palette,.editor-panel{font-size:.9375rem}.editor-palette h2,.editor-panel h2{margin:20px 0 8px;font-size:1rem}.editor-canvas{gap:8px;min-width:0;display:grid}.editor-svg{cursor:crosshair}.editor-svg text{cursor:pointer}.editor-svg .selected>.wall,.editor-svg g.selected .shape{stroke:var(--accent)}.editor-svg .handles .outline{fill:none;stroke:var(--accent);stroke-width:.5px;stroke-dasharray:1 .6;vector-effect:non-scaling-stroke}.editor-svg .handle{fill:var(--accent);stroke:var(--surface);stroke-width:.4px;cursor:nwse-resize}.editor-svg .handles circle.handle{cursor:grab}.editor-room.no-tag rect{stroke-dasharray:1.5 1}.editor-room.selected rect{stroke:var(--accent);stroke-width:1.4px}.editor-seat .glyph{fill:var(--muted)}.editor-seat.selected .glyph{fill:var(--accent)}.editor-seat.no-tag .glyph{fill:none;stroke:var(--muted);stroke-width:1px}.editor-svg .selected .map-label{fill:var(--accent)}@media (max-width:900px){.editor{grid-template-columns:1fr}}main:has(.editor){max-width:1200px}.wall-cursor line{stroke:var(--accent);stroke-width:.4px}.room-grid{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft);-webkit-user-select:none;user-select:none;display:grid;overflow-x:auto}.room-grid-row{display:contents}.room-grid-head{z-index:1;background:var(--subtle);border-bottom:1px solid var(--border);flex-direction:column;padding:10px 10px 8px;font-size:.875rem;display:flex;position:sticky;top:0}.room-grid-time{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums;border-top:1px solid #0000;padding:0 8px;font-size:.8125rem;line-height:32px}.room-grid-time,.room-grid-corner{z-index:1;background:var(--surface);box-shadow:1px 0 0 var(--border);position:sticky;left:0}.booking-bar{z-index:5;position:relative}.room-grid-corner{z-index:2;background:var(--subtle)}.room-grid-time:not(.hour){color:#0000}.room-grid-time.hour{border-top-color:var(--border)}.room-cell{border:0;border-left:1px solid var(--border);border-top:1px dashed color-mix(in srgb, var(--border) 60%, transparent);height:32px;color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;margin:0;padding:0 8px;font-size:.8125rem;transition:background-color .15s cubic-bezier(.16,1,.3,1),color .15s cubic-bezier(.16,1,.3,1)}.room-cell.hour{border-top:1px solid var(--border)}.room-cell.free:hover{background:color-mix(in srgb, var(--accent) 12%, transparent)}.room-cell.booked{background:var(--occupied-bg);color:var(--text);cursor:pointer}.room-cell.booked:hover{filter:brightness(.97)}.room-cell.closed{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--closed) 14%, transparent) 0 6px, transparent 6px 12px);cursor:not-allowed}.room-cell.past{background:color-mix(in srgb, var(--closed) 8%, transparent);cursor:not-allowed}.room-cell.selected{background:var(--accent);color:var(--accent-text)}.room-cell:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.booking-bar{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-pop);gap:8px;margin-top:16px;padding:16px 20px;position:sticky;bottom:16px}.booking-bar-top{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.booking-bar-top p{flex:14rem;margin:0}.booking-bar{max-height:70vh;overflow-y:auto}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.page-head>div{flex:16rem;min-width:0}.page-action{flex:none;gap:6px}.audit-filters{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.audit-filters label{color:var(--muted);gap:4px;font-size:.8125rem;display:grid}.audit-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.audit-entry{border-radius:var(--radius-sm);transition:background-color .15s var(--ease);background:0 0}.audit-entry[open]{background:var(--surface);box-shadow:inset 0 0 0 1px var(--border)}.audit-entry summary{cursor:pointer;align-items:center;gap:12px;padding:10px 12px;list-style:none;display:flex}.audit-entry summary::-webkit-details-marker{display:none}.audit-entry summary{border-radius:var(--radius-sm)}.audit-entry summary:hover{background:var(--hover)}.audit-list{gap:2px}.audit-icon{border-radius:50%;flex:none;place-items:center;width:28px;height:28px;display:grid}.audit-icon.create{color:var(--free);background:var(--free-bg)}.audit-icon.update{color:var(--grace);background:var(--grace-bg)}.audit-icon.delete{color:var(--error);background:var(--error-bg)}.avatar{background:color-mix(in srgb, var(--accent) 18%, transparent);width:28px;height:28px;color:var(--text);border-radius:50%;flex:none;place-items:center;font-size:.6875rem;font-weight:600;display:grid}.audit-text{overflow-wrap:anywhere;flex:1;min-width:0}.audit-time{flex:none}.audit-changes{padding:10px 12px 12px 92px}.audit-changes li{padding:2px 0}.audit-field{min-width:9rem;color:var(--muted);display:inline-block}@media (max-width:600px){.audit-changes{padding-left:12px}.audit-time{display:none}}.users-toolbar{gap:8px 12px}.users-summary{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.filter-chip{border-radius:var(--radius-md);background:var(--accent-soft);min-height:28px;color:var(--accent-soft-text);align-items:center;gap:2px;padding:0 2px 0 10px;font-size:.8125rem;display:inline-flex}.filter-chip button{border-radius:var(--radius-sm);width:24px;height:24px;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.filter-chip button:hover{background:#00000014}.users-table-wrap{padding:0;transition:opacity .12s;overflow-x:auto}.users-table-wrap.is-loading{opacity:.55}.users-table{table-layout:fixed}.users-table th{padding:0}.users-table th,.users-table td{white-space:nowrap;text-overflow:ellipsis;border-right:1px solid var(--border);overflow:hidden}.role-tag{white-space:nowrap;background:var(--closed-bg);min-height:22px;color:var(--text);border-radius:4px;align-items:center;padding:0 8px;font-size:.8125rem;font-weight:500;line-height:20px;display:inline-flex}.role-tag.student{background:var(--accent-soft);color:var(--accent-soft-text)}.role-tag.staff{background:var(--occupied-bg);color:var(--occupied)}.users-table th:last-child,.users-table td:last-child{border-right:0}.users-grid{position:relative}.th-button{width:100%;min-height:36px;color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:8px;font-size:.8125rem;font-weight:500;display:flex}.th-button:hover,.th-button[aria-expanded=true]{background:var(--hover);color:var(--text)}.col-resize{cursor:col-resize;z-index:1;width:7px;margin-left:-3px;position:absolute;top:0;bottom:0}.col-resize:hover,.col-resize:active{background:linear-gradient(var(--accent), var(--accent)) center / 2px 100% no-repeat}.user-row{cursor:pointer}.user-row:hover{background:var(--hover)}.user-row:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.user-cell{align-items:center;gap:10px;min-width:0;min-height:36px;display:flex}.user-text{min-width:0;display:grid}.user-name,.user-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-email{color:var(--muted);font-size:.8125rem;line-height:1.3}.column-menu{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:280px;box-shadow:var(--shadow-pop);animation:menu-in .14s var(--ease);padding:6px;display:grid;position:fixed}.column-menu-group{gap:4px;padding:6px;display:grid}.column-menu-group+.column-menu-group{border-top:1px solid var(--border);margin-top:4px;padding-top:10px}.column-menu-item{border-radius:var(--radius-md);min-height:34px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;padding:0 10px;font-size:.875rem;display:flex}.column-menu-item:hover{background:var(--hover)}.column-menu-item[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-soft-text)}.column-menu-label{color:var(--muted);margin:0;padding:0 10px;font-size:.75rem}.column-menu-filter{gap:6px;display:grid}.column-menu-filter select,.column-menu-filter input{width:100%}dialog.modal:has(.user-detail),dialog.modal:has(.add-form){width:min(720px,100vw - 32px);max-width:none;max-height:calc(100dvh - 48px);overflow:auto}.user-detail{gap:16px;display:grid}.user-facts{margin:0;display:grid}.user-facts>div{border-bottom:1px solid var(--border);grid-template-columns:9rem minmax(0,1fr);align-items:baseline;gap:12px;padding:8px 0;display:grid}.user-facts dt{color:var(--muted);font-size:.875rem}.user-facts dd{overflow-wrap:anywhere;min-width:0;margin:0}.user-access dd{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.access-confirm{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.user-log h3{margin:0 0 8px;font-size:.9375rem;font-weight:600}@media (max-width:600px){.user-facts>div{grid-template-columns:1fr;gap:2px}}nav[aria-label=Floors]{flex-wrap:wrap;gap:2px;margin:4px 0 12px;display:flex}nav[aria-label=Floors] a{border-radius:var(--radius-md);color:var(--muted);transition:background-color .15s var(--ease), color .15s var(--ease);padding:4px 10px;font-size:.875rem;font-weight:500;text-decoration:none}nav[aria-label=Floors] a:hover{background:var(--hover);color:var(--text)}nav[aria-label=Floors] a[aria-current]{background:var(--surface);color:var(--text);box-shadow:inset 0 0 0 1px var(--border)}nav[aria-label=Floors] strong{font-weight:inherit}.account{position:relative}.account form{margin:0}.account-row{border-radius:var(--radius-md);width:100%;min-height:40px;color:var(--muted);font:inherit;text-align:left;cursor:pointer;transition:background-color .15s var(--ease), color .15s var(--ease);background:0 0;border:0;align-items:center;gap:10px;padding:6px 10px;font-size:.8125rem;font-weight:500;display:flex}.account-row:hover,.account-row[aria-expanded=true]{background:var(--hover);color:var(--text)}.account-name{overflow-wrap:anywhere;flex:1;min-width:0;line-height:1.3}.avatar-img{object-fit:cover;border-radius:50%;flex:none;width:28px;height:28px}.account-row .avatar{width:28px;height:28px;font-size:.75rem}.account-pop{z-index:20;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-pop);animation:menu-in .14s var(--ease);padding:6px;position:absolute;bottom:calc(100% + 6px);left:0;right:0}.account-email{color:var(--muted);overflow-wrap:anywhere;border-bottom:1px solid var(--border);margin:0 0 4px;padding:8px 10px;font-size:.8125rem}.account-item{border-radius:var(--radius-md);width:100%;min-height:32px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:4px 10px;font-size:.875rem;text-decoration:none;display:flex}.account-item:hover{background:var(--hover)}.account-item .nav-icon{color:var(--faint)}.account-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);margin-left:auto;font-size:.8125rem;overflow:hidden}.account-flyout .account-label{white-space:nowrap;flex:none}@media (max-width:899px){.account-row{justify-content:center;width:36px;min-height:36px;padding:0}.account-name{display:none}.account-pop{width:min(280px,100vw - 24px);inset:calc(100% + 6px) 0 auto auto}.account-pop .account-head{margin-bottom:4px;padding:8px 10px 10px}.account-pop .account-item{min-height:40px;font-size:.9375rem}}.account-head{border-bottom:1px solid var(--border);gap:2px;margin-bottom:14px;padding:14px 14px 16px;display:grid}.account-head-name{color:var(--text);overflow-wrap:anywhere;font-weight:600}.account-head .account-email{border:0;margin:0;padding:0}.account-items{gap:2px;display:grid}.account-label{flex:1;min-width:0}.account-chevron{color:var(--faint);flex:none}.account-value+.account-chevron{margin-left:2px}.account-flyout{position:relative}.account-choices{z-index:30;background:var(--surface);border-radius:var(--radius);width:180px;box-shadow:var(--shadow-pop);animation:menu-in .14s var(--ease);gap:2px;padding:6px;display:grid;position:fixed}.account-choice{border-radius:var(--radius-md);width:100%;min-height:36px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:4px 10px;font-size:.875rem;display:flex}.account-choice:hover{background:var(--hover)}.account-choice[aria-current=true]{font-weight:600}.account-choice[aria-current=true] svg{color:var(--accent)}.account-pop .account-signout{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.radio-row{color:var(--text);align-items:center;gap:8px;font-weight:400;display:flex}.account-facts{grid-template-columns:max-content 1fr;gap:8px 16px;margin:0;display:grid}.account-facts dt{color:var(--muted)}.account-facts dd{overflow-wrap:anywhere;margin:0}@media (min-width:900px){.shell[data-collapsed]{grid-template-columns:56px minmax(0,1fr)}.shell[data-collapsed] .sidebar{padding:12px 6px;overflow:visible}.shell[data-collapsed] .sidebar-head{flex-direction:column;align-items:center;gap:6px}.shell[data-collapsed] .brand{padding:4px}.shell[data-collapsed] .brand-text,.shell[data-collapsed] .nav-label,.shell[data-collapsed] .nav-heading,.shell[data-collapsed] .account-name{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell[data-collapsed] .nav-item,.shell[data-collapsed] .account-row{justify-content:center;padding:6px 0}.shell[data-collapsed] .nav-group{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.shell[data-collapsed] .account-pop{width:240px;bottom:0;left:calc(100% + 8px);right:auto}.shell[data-collapsed] .sidebar-resize{display:none}.shell[data-collapsed] .sidebar [data-tip]{position:relative}.shell[data-collapsed] .sidebar [data-tip]:hover:after,.shell[data-collapsed] .sidebar [data-tip]:focus-visible:after{content:attr(data-tip);z-index:50;border-radius:var(--radius-sm);background:var(--surface);color:var(--text);box-shadow:var(--shadow-pop);white-space:nowrap;pointer-events:none;padding:4px 10px;font-size:.875rem;font-weight:500;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)}}.settings-dialog{border-radius:var(--radius);background:var(--surface);width:min(880px,100% - 32px);height:min(640px,100dvh - 48px);color:var(--text);box-shadow:var(--shadow-pop);border:0;padding:0}.settings-dialog[open]{flex-direction:column;display:flex}.settings-dialog::backdrop{background:#0f0f0f66}.settings-dialog-head{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.settings-dialog-head h2{margin:0;font-size:1.25rem;font-weight:600;line-height:1.3}.settings-dialog-body{flex:1;min-height:0;display:flex}.dialog-close{border-radius:var(--radius-md);width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.dialog-close:hover{background:var(--hover);color:var(--text)}.settings-tabs{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:220px minmax(0,1fr);min-width:0;min-height:0;display:grid}.settings-nav{border-right:1px solid var(--border);flex-direction:column;gap:2px;padding:16px 12px;display:flex;overflow-y:auto}.settings-tab{border-radius:var(--radius-md);min-height:32px;color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:4px 10px;font-size:.875rem;font-weight:500;display:flex}.settings-tab:hover{background:var(--hover);color:var(--text)}.settings-tab[aria-current=true]{background:var(--active);color:var(--text)}.settings-body-pane{min-width:0;min-height:0;padding:20px 28px 28px;overflow-y:auto}.settings-body-pane>h2:first-child{margin-top:0}@media (max-width:599px){.settings-tabs{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.settings-nav{border-right:0;border-bottom:1px solid var(--border);flex-direction:row;padding:10px 12px;overflow:auto hidden}.settings-body-pane{padding:16px 20px 24px}.settings-tab{white-space:nowrap}}.day-picker{align-items:center;gap:6px;margin:4px 0 16px;display:flex}.day-strip{--per:2;scroll-snap-type:x mandatory;scrollbar-width:none;flex:1;gap:8px;min-width:0;display:flex;overflow-x:auto}.day-strip::-webkit-scrollbar{display:none}.day-item{flex:0 0 calc((100% - (var(--per) - 1) * 8px) / var(--per));scroll-snap-align:start;border-radius:var(--radius-md);background:var(--surface);min-width:0;box-shadow:inset 0 0 0 1px var(--border);color:var(--text);transition:background-color .15s var(--ease);flex-direction:column;gap:2px;padding:10px 12px;text-decoration:none;display:flex}.day-item-top{color:var(--muted);font-size:.8125rem}.day-item-bottom{font-variant-numeric:tabular-nums;font-size:1.0625rem;font-weight:600}.day-item[aria-current=page]{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.day-arrow{border-radius:var(--radius-md);width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.day-arrow:hover:not(:disabled){background:var(--hover);color:var(--text)}.day-arrow:disabled{opacity:.35;cursor:default}@media (min-width:900px){.day-strip{--per:7}}.settings-body-pane h3{color:var(--muted);margin:20px 0 6px;font-size:.8125rem;font-weight:600}.feed-row{align-items:center;gap:8px;margin:12px 0 16px;display:flex}.feed-row input{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem}.mail-text{white-space:pre-wrap;overflow-wrap:anywhere}[hidden]{display:none!important}.account-page-link{display:none}@media (max-width:899px){.account-page-link{display:flex}.account-dialog-link{display:none}}.settings-page{gap:32px;max-width:720px;display:grid}.settings-group{gap:10px;display:grid}.settings-group>h2{letter-spacing:-.01em;margin:0;font-size:1.375rem;font-weight:700}.settings-section{display:grid}.settings-section>.stack{margin-top:0}.settings-page h3{color:var(--muted);margin:8px 0 0;font-size:.8125rem;font-weight:600}.settings-page .choices{display:grid}.settings-page .choices .radio-row{border-top:1px solid var(--border);min-height:44px;padding:8px 0}.settings-page .choices .radio-row:first-child{border-top:0}.settings-page .feed-row{margin:0}.settings-page .feed-row input{min-height:44px}.notify{border-collapse:collapse;width:100%}.notify th,.notify td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:10px 8px}.notify thead th{color:var(--muted);font-size:.8125rem;font-weight:600}.notify tbody th{font-weight:500}@media (max-width:599px){.notify thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.notify,.notify tbody,.notify tr,.notify th,.notify td{width:100%;display:block}.notify tr{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;gap:8px 12px;padding:12px 0;display:grid}.notify tbody th{border:0;grid-column:1/-1;padding:0}.notify td{border:0;flex-direction:column;justify-content:center;gap:4px;min-height:44px;padding:0;display:flex}.notify td:before{content:attr(data-label);color:var(--muted);font-size:.8125rem}}.switch{cursor:pointer;flex:none;width:44px;height:26px;display:inline-flex;position:relative}.switch input{opacity:0;width:100%;height:100%;cursor:inherit;z-index:1;margin:0;position:absolute;inset:0}.switch-track{background:var(--border-strong);width:100%;height:100%;transition:background-color .15s var(--ease);border-radius:9999px;position:relative}.switch-track:after{content:"";width:20px;height:20px;transition:transform .15s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.switch input:checked+.switch-track{background:var(--accent)}.switch input:checked+.switch-track:after{transform:translate(18px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.switch input:disabled{cursor:not-allowed}.switch input:disabled+.switch-track{opacity:.45}.switch:active .switch-track:after{width:24px}.switch input:checked:active+.switch-track:after{transform:translate(14px)}.segmented{border-radius:var(--radius-md);background:var(--hover);flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.segmented label{display:inline-flex;position:relative}.segmented input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.segmented span{min-height:36px;color:var(--muted);white-space:nowrap;cursor:pointer;transition:background-color .15s var(--ease), color .15s var(--ease);border-radius:4.5px;justify-content:center;align-items:center;padding:0 14px;font-size:.875rem;font-weight:500;display:inline-flex}.segmented label:hover span{color:var(--text)}.segmented label:has(input:checked) span{background:var(--surface);color:var(--text);box-shadow:0 0 0 1px var(--border), 0 1px 2px #0000000f}.segmented label:has(input:focus-visible) span{outline:2px solid var(--accent);outline-offset:2px}.setting-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;min-height:52px;padding:12px 0;display:flex}.setting-row:first-child{border-top:0;padding-top:0}.settings-section>*+*>.setting-row:first-child{padding-top:12px}.setting-text{gap:2px;min-width:0;display:grid}.setting-title{color:var(--text);overflow-wrap:anywhere;font-weight:500}.setting-hint{color:var(--muted);font-size:.8125rem;line-height:1.45}.setting-control{flex:none;justify-content:flex-end;align-items:center;max-width:100%;display:flex}.setting-value{color:var(--muted);overflow-wrap:anywhere;text-align:right}.setting-control .feed-field{gap:8px;width:min(100%,340px);display:flex}.setting-control .feed-field input{flex:1;min-width:0;min-height:40px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem}@media (max-width:599px){.setting-row{flex-direction:column;align-items:stretch;gap:10px}.setting-control{justify-content:flex-start}.segmented{width:100%;display:flex}.segmented label{flex:1}.segmented span{width:100%;padding:0 8px}.setting-control .feed-field{width:100%}}.notice-list{display:grid}.notice-row{border-top:1px solid var(--border);gap:10px;padding:14px 0;display:grid}.notice-row:first-child{border-top:0;padding-top:0}.notice-switches{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.notice-switches>span{display:contents}.notice-tile{border-radius:var(--radius-md);background:var(--subtle);justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:10px 14px;display:flex}.notice-tile-text{gap:2px;min-width:0;display:grid}@media (max-width:599px){.notice-switches{grid-template-columns:1fr}}.booking-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.booking-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.booking-title h1{margin:0;font-size:1.75rem}.booking-summary{margin:-4px 0 0;font-size:.875rem}.day-picker{border-bottom:1px solid var(--border);justify-content:space-between;margin:0;padding:4px 0 8px}.day-strip{--per:7;gap:4px}.day-item{border-radius:var(--radius-md);text-align:center;background:0 0;flex:1 1 0;align-items:center;gap:4px;padding:4px 0 6px}.day-item:hover{background:var(--hover)}.day-item-top{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.75rem;font-weight:500}.day-item-bottom{border-radius:9999px;place-items:center;width:36px;height:36px;font-size:1rem;font-weight:600;display:grid}.day-item[aria-current=page]{box-shadow:none;background:0 0}.day-item[aria-current=page] .day-item-top{color:var(--text)}.day-item[aria-current=page] .day-item-bottom{background:var(--accent);color:var(--accent-text)}.day-arrow{width:36px;height:36px}.room-grid{border-radius:var(--radius)}.room-cell.booked{color:var(--text);text-align:left;border-radius:4.5px;margin:1px 3px;font-size:.8125rem;font-weight:500}.room-cell.booked.hour{border-top:0}.segmented-links{border-radius:var(--radius-md);background:var(--hover);flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.segmented-links a{min-height:36px;color:var(--muted);transition:background-color .15s var(--ease), color .15s var(--ease);border-radius:4.5px;align-items:center;padding:0 14px;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.segmented-links a:hover{color:var(--text)}.segmented-links a[aria-current=page]{background:var(--surface);color:var(--text);box-shadow:0 0 0 1px var(--border), 0 1px 2px #0000000f}.segmented-links a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.seat-state{background:var(--subtle);border-radius:4.5px;padding:4px 8px;font-size:.8125rem;font-weight:500}.prose{max-width:68ch;line-height:1.6}.prose h2{margin-top:32px}.login-panel{gap:16px;max-width:420px;margin:48px auto 0;display:grid}.login-panel h1{margin:0;font-size:1.5rem}.toast{z-index:1000;border-radius:var(--radius-md);color:#fff;max-width:min(380px,100vw - 32px);box-shadow:var(--shadow-pop);animation:toast-in .18s var(--ease) both;background:#1f4f8b;align-items:flex-start;gap:12px;padding:12px 10px 12px 16px;font-size:.875rem;line-height:1.4;display:flex;position:fixed;bottom:16px;right:16px}.toast p{margin:0}.toast-success{background:#137a3c}.toast-error{background:#c42b2b}.toast-close{border-radius:var(--radius-sm);min-width:28px;min-height:28px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex:none;font-size:1.125rem;line-height:1}.toast-close:hover{background:#ffffff29}.toast-close:focus-visible{outline-offset:2px;outline:2px solid #fff}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}html[data-motion=reduce] .toast{animation:none}.google-button{box-sizing:border-box;color:#1f1f1f;width:100%;min-height:40px;font:inherit;cursor:pointer;background:#fff;border:1px solid #747775;border-radius:4px;justify-content:center;align-items:center;gap:10px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;display:flex}.google-button img{flex:none;width:18px;height:18px}.google-button:hover{background:#f8f8f8}.google-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.google-button:disabled{opacity:.45;cursor:not-allowed}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .google-button{color:#e3e3e3;background:#131314;border-color:#8e918f}:root:not([data-theme=light]) .google-button:hover{background:#1f1f20}}:root[data-theme=dark] .google-button{color:#e3e3e3;background:#131314;border-color:#8e918f}:root[data-theme=dark] .google-button:hover{background:#1f1f20}.setting-row-wide{flex-direction:column;align-items:stretch}.setting-control input[type=number]{width:9rem;min-height:40px}.setting-control select{min-width:14rem;max-width:100%;min-height:40px}.setting-control input[type=text]{width:20rem;max-width:100%;min-height:40px}.setting-control textarea{width:100%;min-height:72px}@media (max-width:599px){.setting-control input[type=number],.setting-control input[type=text],.setting-control select{width:100%}}.group-section{gap:12px;margin-top:32px;display:grid}.group-section>h2{margin:0}.list-panel{padding:0;overflow:hidden}.list-panel .seat-list{gap:0}.list-panel .seat{background:var(--surface);border:0;border-top:1px solid var(--border);border-radius:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:14px 20px;display:flex}.list-panel .seat:first-child{border-top:0}.list-panel .seat:hover{background:var(--subtle)}.list-panel .seat-label{min-width:3.5rem}.empty-state{justify-items:start;gap:8px;padding:20px;display:grid}.hold-card{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.hold-card-text{gap:4px;min-width:0;display:grid}.hold-seat{letter-spacing:-.01em;font-size:1.5rem;font-weight:700}.booking-row{gap:10px;width:100%;display:grid}.booking-row-head{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.booking-row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.booking-row-actions form{margin:0}.actions{flex-wrap:wrap;gap:8px;display:flex}.actions form{margin:0}.tap-result{gap:16px;display:grid}.tap-result>p{margin:0}.tap-nav{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;padding-top:16px;display:flex}.admin-rows{margin:0;padding:0;list-style:none}.admin-rows>li{border-top:1px solid var(--border)}.admin-rows>li:first-child{border-top:0}.admin-rows details>summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:14px 20px;list-style:none;display:flex}.admin-rows details>summary::-webkit-details-marker{display:none}.admin-rows details>summary:hover{background:var(--subtle)}.admin-rows details>summary:after{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);width:7px;height:7px;transition:transform .15s var(--ease);flex:none;order:9;margin-left:auto;transform:rotate(-45deg)}.admin-rows details[open]>summary{background:var(--subtle)}.admin-rows details[open]>summary:after{transform:rotate(45deg)}.row-body{border-top:1px solid var(--border);gap:16px;padding:16px 20px 20px;display:grid}.row-body form{margin:0}.field-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end;gap:14px 16px;display:grid}.field-grid>label{min-width:0}.form-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.seat-admin>details{background:0 0;border:0;padding:0}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.section-head h2{margin:0}.section-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.eyebrow{color:var(--muted);margin:0;font-size:.75rem;font-weight:600}.floor-sub{gap:2px;display:grid}.floor-sub p{margin:0}.section-list{border:1px solid var(--border);border-radius:var(--radius-md);margin:0;padding:0;list-style:none;overflow:hidden}.section-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;min-height:44px;padding:8px 14px;display:flex}.section-row+.section-row{border-top:1px solid var(--border)}.add-section{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.add-section label{flex:220px;min-width:0}.list-tools{align-items:center;gap:6px;margin-left:auto;display:flex}.list-tools input[type=search]{width:min(240px,60vw);min-height:32px}.list-tool{position:relative}.tool-button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);height:32px;color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;transition:background-color .15s var(--ease), color .15s var(--ease);align-items:center;gap:6px;padding:0 10px;font-size:.8125rem;font-weight:500;display:inline-flex}.tool-button:hover,.tool-button[aria-expanded=true],.tool-button[aria-pressed=true]{background:var(--hover);color:var(--text)}.tool-button:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.tool-button[data-active=true]{background:var(--accent-soft);color:var(--accent-soft-text);border-color:#0000}.list-menu{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:240px;box-shadow:var(--shadow-pop);gap:8px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.list-menu label{gap:4px}.list-menu select{width:100%}.list-menu .link{justify-self:start;padding:4px 10px}.list-menu-item{border-radius:var(--radius-md);min-height:32px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;padding:0 10px;font-size:.875rem;display:flex}.list-menu-item:hover{background:var(--hover)}.list-menu-item[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-soft-text)}.list-menu-item:disabled{opacity:.45;cursor:not-allowed}.list-menu-dirs{gap:4px;display:flex}.list-menu-dirs .list-menu-item{flex:1;justify-content:center}.furniture-row{flex-wrap:wrap;align-items:center}.furniture-row-main{flex:16rem;align-items:center;gap:14px;min-width:0;display:flex}.furniture-row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.furniture-row-actions form{margin:0}.row-details{width:100%}.row-details>summary{cursor:pointer;list-style:none;display:inline-flex}.row-details>summary::-webkit-details-marker{display:none}.restriction-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 16px;display:flex}.restriction-row-main{flex:18rem;gap:6px;min-width:0;display:grid}.restriction-row>form{margin:0}@media (min-width:900px){html{font-size:15px}h1{font-size:1.75rem}h2{margin-top:28px;font-size:1.125rem}h3{font-size:.9375rem}main{padding:32px clamp(16px,3vw,40px) 56px}.panel{padding:16px}.stack{gap:14px}.group-section{margin-top:24px}.button{min-height:32px;padding:4px 12px;font-size:.8125rem}.link{min-height:30px;padding:0 10px;font-size:.8125rem}.nav-item{min-height:30px;padding:3px 10px;font-size:.875rem}.segmented span{min-height:30px;padding:0 12px}.setting-row{min-height:44px;padding:10px 0}.setting-title{font-size:.9375rem}.setting-control input[type=number],.setting-control select,.setting-control .feed-field input{min-height:32px}.switch{width:36px;height:22px}.switch-track:after{width:16px;height:16px;top:3px;left:3px}.switch input:checked+.switch-track:after{transform:translate(14px)}.switch:active .switch-track:after{width:18px}.switch input:checked:active+.switch-track:after{transform:translate(12px)}.notice-tile{min-height:48px;padding:8px 12px}.panel.list-panel{padding:0}.list-panel .seat,.admin-rows details>summary{padding:8px 16px}.row-body{padding:12px 16px 16px}.account-item{min-height:28px}.hold-seat{font-size:1.25rem}.countdown-time{font-size:2.5rem}.day-item-bottom{width:30px;height:30px}.day-item{padding-top:2px}.booking-title h1{font-size:1.5rem}}.chip-group{flex-wrap:wrap;gap:8px;display:flex}.chip-toggle{display:inline-flex;position:relative}.chip-toggle input{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;margin:0;position:absolute;inset:0}.chip-toggle span{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);min-height:36px;color:var(--text);transition:background-color .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease);align-items:center;gap:6px;padding:0 12px;font-size:.875rem;font-weight:500;display:inline-flex}.chip-toggle:hover span{background:var(--hover)}.chip-toggle input:checked+span{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-soft-text)}.chip-toggle input:checked+span:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.chip-toggle input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}@media (min-width:900px){.chip-toggle span{min-height:30px;padding:0 10px}}dialog{opacity:0;transition:opacity .13s var(--ease), transform .13s var(--ease), overlay .13s allow-discrete, display .13s allow-discrete;transform:translateY(4px)scale(.98)}dialog[open]{opacity:1;transform:none}@starting-style{dialog[open]{opacity:0;transform:translateY(4px)scale(.98)}}dialog::backdrop{opacity:1;transition:opacity .13s var(--ease), overlay .13s allow-discrete, display .13s allow-discrete;background:#0f0f0f66}@starting-style{dialog[open]::backdrop{opacity:0}}dialog.modal{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(400px,100% - 32px);max-width:400px;color:var(--text);box-shadow:var(--shadow-pop);margin:auto;padding:0}.modal-head{justify-content:space-between;align-items:center;gap:12px;padding:12px 12px 0 16px;display:flex}.modal-head h2{margin:0;font-size:1rem;font-weight:600;line-height:1.3}.modal-close{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--muted);cursor:pointer;transition:background-color .15s var(--ease), color .15s var(--ease);background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.modal-close:hover{background:var(--hover);color:var(--text)}.modal-body{gap:8px;padding:8px 16px 0;display:grid}.modal-body p{margin:0;font-size:.875rem;line-height:1.5}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:14px 16px 16px;display:flex}.modal-actions form{margin:0}@media (min-width:900px){.modal-actions{padding:12px 14px 14px}.modal-head{padding:10px 10px 0 14px}.modal-body{padding:6px 14px 0}}.link:active,.modal-close:active,.chip-toggle:active span,.segmented label:active span,.settings-tab:active,.nav-item:active{transform:scale(.98)}.link,.modal-close,.chip-toggle span,.segmented span,.settings-tab,.nav-item,.account-item,.day-item,.notice-tile,.list-panel .seat{transition:background-color .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease), transform .1s var(--ease)}html[data-accent=blue]{--accent:#2b5fd9;--accent-hover:#2350c0;--accent-soft:#e8eefc;--accent-soft-text:#1d44a8}html[data-accent=green]{--accent:#0e8f70;--accent-hover:#0b7a5f;--accent-soft:#e2f5ef;--accent-soft-text:#0a6a54}html[data-accent=yellow]{--accent:#e0a800;--accent-hover:#c99600;--accent-soft:#fdf6dc;--accent-soft-text:#7a5a00;--accent-text:#1f1700}html[data-accent=pink]{--accent:#d9487d;--accent-hover:#c23a6c;--accent-soft:#fce8ef;--accent-soft-text:#a3245a}html[data-accent=orange]{--accent:#b85410;--accent-hover:#9c4609;--accent-soft:#fdf0e4;--accent-soft-text:#8a4208}html[data-accent=purple]{--accent:#7c3aed;--accent-hover:#6d28d9;--accent-soft:#efe9fd;--accent-soft-text:#5b21b6}html[data-accent=white]{--accent:#2b2b2b;--accent-hover:#111;--accent-soft:#ececec;--accent-soft-text:#1a1a1a}@media (prefers-color-scheme:dark){html[data-accent=blue]:not([data-theme=light]){--accent:#6b8cf0;--accent-hover:#8aa3f5;--accent-soft:#6b8cf02e;--accent-soft-text:#a9bcf7;--accent-text:#0b1220}html[data-accent=green]:not([data-theme=light]){--accent:#3cc2a0;--accent-hover:#55cfb0;--accent-soft:#3cc2a02e;--accent-soft-text:#86e0c6;--accent-text:#0b1220}html[data-accent=yellow]:not([data-theme=light]){--accent:#f2c14e;--accent-hover:#f5cd6e;--accent-soft:#f2c14e2e;--accent-soft-text:#f7d57f;--accent-text:#0b1220}html[data-accent=pink]:not([data-theme=light]){--accent:#f07aa3;--accent-hover:#f592b5;--accent-soft:#f07aa32e;--accent-soft-text:#f7a9c6;--accent-text:#0b1220}html[data-accent=orange]:not([data-theme=light]){--accent:#e88a3d;--accent-hover:#f09d5a;--accent-soft:#e88a3d2e;--accent-soft-text:#f7b27f;--accent-text:#0b1220}html[data-accent=purple]:not([data-theme=light]){--accent:#a78bfa;--accent-hover:#b9a3fb;--accent-soft:#a78bfa33;--accent-soft-text:#c4b5fd;--accent-text:#0b1220}html[data-accent=white]:not([data-theme=light]){--accent:#e3e3e1;--accent-hover:#fff;--accent-soft:#ffffff1a;--accent-soft-text:#e3e3e1;--accent-text:#191919}}html[data-accent=blue][data-theme=dark]{--accent:#6b8cf0;--accent-hover:#8aa3f5;--accent-soft:#6b8cf02e;--accent-soft-text:#a9bcf7;--accent-text:#0b1220}html[data-accent=green][data-theme=dark]{--accent:#3cc2a0;--accent-hover:#55cfb0;--accent-soft:#3cc2a02e;--accent-soft-text:#86e0c6;--accent-text:#0b1220}html[data-accent=yellow][data-theme=dark]{--accent:#f2c14e;--accent-hover:#f5cd6e;--accent-soft:#f2c14e2e;--accent-soft-text:#f7d57f;--accent-text:#0b1220}html[data-accent=pink][data-theme=dark]{--accent:#f07aa3;--accent-hover:#f592b5;--accent-soft:#f07aa32e;--accent-soft-text:#f7a9c6;--accent-text:#0b1220}html[data-accent=orange][data-theme=dark]{--accent:#e88a3d;--accent-hover:#f09d5a;--accent-soft:#e88a3d2e;--accent-soft-text:#f7b27f;--accent-text:#0b1220}html[data-accent=purple][data-theme=dark]{--accent:#a78bfa;--accent-hover:#b9a3fb;--accent-soft:#a78bfa33;--accent-soft-text:#c4b5fd;--accent-text:#0b1220}html[data-accent=white][data-theme=dark]{--accent:#e3e3e1;--accent-hover:#fff;--accent-soft:#ffffff1a;--accent-soft-text:#e3e3e1;--accent-text:#191919}.accent-picker details{position:relative}.accent-picker summary{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);min-height:36px;color:var(--text);font:inherit;cursor:pointer;align-items:center;gap:8px;padding:6px 10px 6px 12px;font-size:.875rem;list-style:none;display:inline-flex}.accent-picker summary::-webkit-details-marker{display:none}.accent-picker summary:hover{background:var(--hover)}.accent-picker summary svg{color:var(--muted)}.accent-dot{border-radius:50%;flex:none;width:12px;height:12px;box-shadow:inset 0 0 0 1px #0000001f}.accent-menu{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:200px;box-shadow:var(--shadow-pop);animation:menu-in .14s var(--ease);gap:2px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.accent-option{border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:10px;min-height:36px;padding:6px 10px;font-size:.875rem;display:flex;position:relative}.accent-option:hover{background:var(--hover)}.accent-option input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.accent-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:1px}.accent-check{color:var(--accent);visibility:hidden;margin-left:auto}.calendar-add{display:inline-block;position:relative}.calendar-add summary{cursor:pointer;list-style:none}.calendar-add summary::-webkit-details-marker{display:none}.calendar-menu{z-index:20;white-space:nowrap;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:240px;box-shadow:var(--shadow-pop);animation:menu-in .14s var(--ease);gap:2px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0}.calendar-item{border-radius:var(--radius-md);min-height:36px;color:var(--text);align-items:center;gap:10px;padding:6px 10px;font-size:.875rem;text-decoration:none;display:flex}.calendar-item svg{color:var(--muted);flex:none}.calendar-item img{object-fit:contain;flex:none;width:16px;height:16px}.calendar-item:hover{background:var(--hover)}.calendar-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.accent-option:has(input:checked) .accent-check{visibility:visible}.swatch-default{background:#0068c9}.swatch-blue{background:#2b5fd9}.swatch-green{background:#0e8f70}.swatch-yellow{background:#e0a800}.swatch-pink{background:#d9487d}.swatch-orange{background:#b85410}.swatch-purple{background:#7c3aed}.swatch-white{background:#2b2b2b}.add-domain{align-items:flex-end}.feed-link{gap:10px;padding:12px 0;display:grid}.code-field{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--subtle);align-items:center;min-width:0;padding:10px 44px 10px 12px;display:flex;position:relative}.code-field code{white-space:nowrap;scrollbar-width:none;min-width:0;color:var(--text);flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem;overflow-x:auto}.code-copy{border-radius:var(--radius-md);width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.code-copy:hover{background:var(--hover);color:var(--text)}.code-copy.copied{color:var(--accent)}.notice-heading{gap:2px;padding:12px 0;display:grid}.settings-section>*+*{border-top:1px solid var(--border)}.picture{display:inline-flex}.picture .avatar-img,.picture .avatar{width:40px;height:40px;font-size:1rem}
