@font-face{font-family:TWK Lausanne;src:url(/fonts/lausanne-300.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:TWK Lausanne;src:url(/fonts/lausanne-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:TWK Lausanne;src:url(/fonts/lausanne-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Akkurat Mono LL;src:url(/fonts/akkurat-mono.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Tussilago;src:url(/fonts/tussilago-bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--bg:#0b0b0d;--bg-raised:#131316;--ink:#ffffff;--ink-soft:#aaaaaa;--taupe:#888888;--line:rgba(255,255,255,0.14);--line-strong:#ffffff;--accent:#ffffff;--accent-ink:#0b0b0d;--danger:#e06a55;--font-sans:"TWK Lausanne","Helvetica Neue",Helvetica,Arial,sans-serif;--font-mono:"Akkurat Mono LL","SF Mono","JetBrains Mono",Menlo,monospace;--font-stat:"Tussilago",var(--font-sans);--track-label:0.1em;--track-wide:0.1em;--radius:0px;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:15px;font-weight:400;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--ink);color:var(--bg)}a{color:inherit}.wordmark{display:inline-flex;align-items:center;gap:12px}.label,.wordmark{font-family:var(--font-mono);font-size:11px;font-weight:400;letter-spacing:var(--track-label);text-transform:uppercase}.label{color:var(--taupe)}.label--ink{color:var(--ink)}.display{font-family:var(--font-sans);font-size:clamp(36px,5.5vw,56px);font-weight:300;letter-spacing:0;line-height:1.08;text-transform:none}.stat{font-family:var(--font-stat);font-weight:700}.hairline{border:0;border-top:1px solid var(--line);margin:0}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:transparent;color:var(--ink);font-family:var(--font-mono);font-size:11px;font-weight:400;letter-spacing:var(--track-label);text-transform:uppercase;padding:14px 22px;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease,opacity .18s ease;border-radius:var(--radius)}.btn--solid,.btn:hover:not(:disabled){background:var(--ink);color:var(--accent-ink);border-color:var(--ink)}.btn--solid:hover:not(:disabled){opacity:.85}.btn--small{padding:9px 14px;font-size:10px}.btn:disabled{opacity:.35;cursor:default}.input,.select,.textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.3);background:transparent;color:var(--ink);font-family:var(--font-sans);font-size:15px;padding:10px 0;border-radius:0;outline:none}.input::placeholder,.textarea::placeholder{color:var(--taupe)}.input:focus,.textarea:focus{border-bottom-color:var(--ink)}.textarea{resize:vertical;min-height:70px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:28px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.cal-dow{font-family:var(--font-mono);font-size:10px;font-weight:400;letter-spacing:var(--track-label);text-transform:uppercase;text-align:center;padding:8px 0}.cal-day,.cal-dow{color:var(--taupe)}.cal-day{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;font-family:var(--font-sans);font-size:14px;font-weight:300;aspect-ratio:1;display:flex;align-items:center;justify-content:center;cursor:default;transition:background .15s ease,color .15s ease,border-color .15s ease}.cal-day--open{color:var(--ink);font-weight:400;border-color:var(--line);cursor:pointer}.cal-day--open:hover{background:var(--bg-raised);border-color:var(--ink)}.cal-day--selected,.cal-day--selected:hover{background:var(--ink);color:var(--accent-ink);border-color:var(--ink)}.slot-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;border:1px solid var(--line);background:transparent;color:var(--ink);font-family:var(--font-mono);font-size:12px;font-weight:400;letter-spacing:var(--track-label);padding:13px 0;cursor:pointer;text-transform:uppercase;transition:background .15s ease,color .15s ease,border-color .15s ease}.slot-btn:hover{border-color:var(--ink);background:var(--bg-raised)}.slot-btn--selected,.slot-btn--selected:hover{background:var(--ink);color:var(--accent-ink);border-color:var(--ink)}.page{min-height:100dvh;display:flex;flex-direction:column}.frame{width:min(1120px,calc(100% - 48px));margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;padding:28px 0}.booking-grid{display:grid;grid-template-columns:1fr 1.1fr .7fr;grid-gap:56px;gap:56px;padding:56px 0 96px}@media (max-width:900px){.booking-grid{grid-template-columns:1fr;gap:40px;padding:32px 0 72px}}.fade-in{animation:fadeIn .35s ease both}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.admin-nav{display:flex;gap:28px;padding:20px 0;overflow-x:auto}.admin-nav button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0 0 6px;font-family:var(--font-mono);font-size:11px;font-weight:400;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--taupe);cursor:pointer;border-bottom:1px solid transparent;white-space:nowrap}.admin-nav button.active{color:var(--ink);border-bottom-color:var(--ink)}.row{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.time-input{border:0;border-bottom:1px solid rgba(255,255,255,.3);background:transparent;font-family:var(--font-mono);font-size:13px;color:var(--ink);padding:6px 2px;border-radius:0;outline:none;color-scheme:dark}.icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--taupe);font-size:16px;cursor:pointer;padding:4px 8px;line-height:1}.icon-btn:hover{color:var(--danger)}.pill{display:inline-block;font-family:var(--font-mono);font-size:10px;font-weight:400;letter-spacing:var(--track-label);text-transform:uppercase;border:1px solid var(--line);padding:5px 10px;color:var(--taupe)}.pill--ok{border-color:var(--ink);color:var(--ink)}.error-text{color:var(--danger);font-size:13px}