@font-face{font-family:Euclid;src:url('/static/fonts/Euclid-Circular-A-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Euclid;src:url('/static/fonts/Euclid-Circular-A-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Euclid;src:url('/static/fonts/Euclid-Circular-A-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:RoadRadio;src:url('/static/fonts/RoadRadio-Bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap}

:root{
  --ink:#070705;--ink-soft:#0d0d0a;--surface:#11100d;--surface-raised:#181510;
  --ivory:#f4eee2;--muted:#c8bfb0;--gold:#d8a83e;--gold-bright:#f0c86b;
  --action-ink:#171105;--line:rgba(216,168,62,.24);--line-strong:rgba(240,200,107,.56);
  --green:#75a46f;--green-bg:#0e1b10;--red:#ef7770;--red-bg:#260f10;--amber:#f0c86b;
  --focus:#fff0bd;--radius:12px;--ease:cubic-bezier(.16,1,.3,1);
}

*{box-sizing:border-box}
html{min-width:320px;background:var(--ink);color-scheme:dark;scroll-behavior:smooth}
body{margin:0;min-width:320px;min-height:100vh;background:var(--ink);color:var(--ivory);font-family:Euclid,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button,a{touch-action:manipulation}
a{color:inherit}
img{display:block;max-width:100%}
svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
h1,h2,h3,p{margin-top:0}
h1{font-family:RoadRadio,sans-serif;font-weight:700;letter-spacing:-.025em;line-height:.94}
h2,h3{line-height:1.15}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;z-index:1000;left:16px;top:12px;padding:10px 14px;background:var(--gold-bright);color:var(--action-ink);transform:translateY(-150%);transition:transform .18s var(--ease)}
.skip-link:focus{transform:translateY(0)}
.flash-stack{position:fixed;z-index:900;right:18px;bottom:max(18px,env(safe-area-inset-bottom));width:min(420px,calc(100vw - 36px));display:grid;gap:8px;pointer-events:none;transition:opacity .2s ease,transform .2s var(--ease)}
.flash-stack.is-leaving{opacity:0;transform:translateY(8px)}
.flash{padding:13px 15px;border:1px solid var(--line-strong);border-radius:10px;background:#181612;color:var(--ivory);box-shadow:0 16px 44px rgba(0,0,0,.34)}
.flash--success{border-color:rgba(117,164,111,.58);background:var(--green-bg)}
.flash--info{border-color:var(--line-strong);background:#181612}
.feedback-dialog{position:fixed;z-index:950;inset:0;width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 32px);max-height:min(760px,calc(100dvh - 32px));margin:auto;padding:0;border:2px solid rgba(239,119,112,.88);border-radius:16px;background:var(--surface-raised);color:var(--ivory);box-shadow:0 34px 110px rgba(0,0,0,.78);overflow:auto;overscroll-behavior:contain}
.feedback-dialog:not([open]){display:none}
.feedback-dialog[open]{animation:feedback-arrive .28s var(--ease) both}
.feedback-dialog::backdrop{background:rgba(3,3,2,.82);backdrop-filter:blur(3px)}
.feedback-dialog__surface{display:grid;padding:clamp(24px,4vw,38px)}
.feedback-dialog__header{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:start;gap:20px;padding-bottom:24px;border-bottom:1px solid rgba(239,119,112,.3)}
.feedback-dialog__icon{width:64px;height:64px;display:grid;place-items:center;border:1px solid rgba(239,119,112,.72);border-radius:14px;background:#451719;color:#ff958e;box-shadow:0 14px 34px rgba(0,0,0,.3)}
.feedback-dialog__icon svg{width:40px;height:40px;stroke-width:2.25}
.feedback-dialog__header h2{margin:2px 0 10px;color:#fff4e8;font-family:RoadRadio,sans-serif;font-size:clamp(30px,5vw,42px);font-weight:700;letter-spacing:-.025em;line-height:.98;text-wrap:balance}
.feedback-dialog__header p{max-width:48ch;margin:0;color:#f2b8b3;font-size:16px;line-height:1.55}
.feedback-dialog__messages{display:grid;gap:0;padding:24px 0 26px}
.feedback-dialog__messages:empty{display:none}
.feedback-dialog__messages p{margin:0;padding:15px 16px;border:1px solid rgba(239,119,112,.42);border-radius:10px;background:#2b1011;color:#fff0ed;font-size:18px;font-weight:700;line-height:1.45;overflow-wrap:anywhere}
.feedback-dialog__messages p+p{margin-top:10px}
.feedback-dialog__actions{position:sticky;z-index:1;bottom:0;display:flex;justify-content:flex-end;padding-top:12px;background:var(--surface-raised)}
.button.feedback-dialog__confirm{min-width:180px;min-height:52px;font-size:17px}
.feedback-dialog--warning{border-color:rgba(240,200,107,.88)}
.feedback-dialog--warning .feedback-dialog__header{border-bottom-color:rgba(240,200,107,.3)}
.feedback-dialog--warning .feedback-dialog__icon{border-color:rgba(240,200,107,.72);background:#33270d;color:var(--gold-bright)}
.feedback-dialog--warning .feedback-dialog__header p{color:#e6d2a2}
.feedback-dialog--warning .feedback-dialog__messages p{border-color:rgba(240,200,107,.42);background:#211b0d;color:#fff1c9}
body.has-feedback-dialog{overflow:hidden}
body.has-feedback-dialog::before{content:"";position:fixed;z-index:949;inset:0;background:rgba(3,3,2,.82)}
body.has-feedback-dialog .feedback-dialog[open]{z-index:950}
.demo-banner{position:relative;z-index:850;min-height:30px;padding:5px 11px;border-bottom:1px solid var(--line-strong);background:#17140d;color:var(--gold-bright);display:grid;place-items:center;text-align:center;font-size:11px;letter-spacing:.025em}

.button{min-height:48px;padding:0 22px;border:1px solid var(--line-strong);border-radius:10px;background:transparent;color:var(--ivory);font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:background .17s ease,color .17s ease,border-color .17s ease,transform .17s var(--ease)}
.button svg{width:20px;height:20px}
.button:hover{border-color:var(--gold-bright);color:var(--gold-bright)}
.button:active{transform:translateY(1px)}
.button--primary{border-color:var(--gold-bright);background:var(--gold-bright);color:var(--action-ink)}
.button--primary:hover{background:#f7d888;border-color:#f7d888;color:var(--action-ink)}
.button--secondary{background:rgba(255,255,255,.015)}
.button--danger{border-color:rgba(239,119,112,.6);color:var(--red);background:rgba(101,25,27,.2)}
.button--danger:hover{border-color:var(--red);color:#ffd7d3;background:var(--red-bg)}
.button--wide{width:100%}.button--compact{min-height:44px;padding-inline:16px}.button--small{min-height:38px;padding-inline:13px;font-size:13px}
.button[disabled]{cursor:not-allowed;opacity:.42;filter:saturate(.45);transform:none}
.quiet-link{color:var(--muted);text-underline-offset:4px;text-decoration-color:var(--line-strong);transition:color .17s ease}
.quiet-link:hover{color:var(--gold-bright)}

.field{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:500}
.field>span{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.field small{font-size:11px;font-weight:400;color:#a9a092}
input,select,textarea{width:100%;border:1px solid rgba(244,238,226,.19);border-radius:10px;background:#090906;color:var(--ivory);padding:0 14px;transition:border-color .17s ease,background .17s ease}
input,select{height:50px}
textarea{min-height:96px;padding-block:12px;resize:vertical}
input::placeholder,textarea::placeholder{color:#8f887d;opacity:1}
input:hover,select:hover,textarea:hover{border-color:rgba(244,238,226,.34)}
input:focus,select:focus,textarea:focus{border-color:var(--gold);background:#0d0c09}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23c8bfb0' stroke-width='1.8'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:42px}
.date-control,.field>.date-control{position:relative;display:block;width:100%;height:50px}.date-control>input{position:relative;inset:auto;z-index:1;width:100%;height:100%;opacity:1;cursor:pointer;color-scheme:dark;touch-action:manipulation}.date-control>input::-webkit-calendar-picker-indicator{width:22px;height:22px;margin:0;opacity:.86;cursor:pointer}.date-control__face{display:none}
.editor-form .booking-datetime-control{position:relative;display:block;inline-size:100%;min-inline-size:0;max-inline-size:100%;width:100%;min-width:0;max-width:100%;height:50px;overflow:hidden;border-radius:10px;background:#090906}.editor-form .booking-datetime-control>input{display:block;inline-size:100%;min-inline-size:0;max-inline-size:100%;width:100%;min-width:0;max-width:100%;height:50px;padding:0 14px;color:var(--ivory);font-family:RoadRadio,sans-serif;font-size:19px;font-weight:700;letter-spacing:-.02em;line-height:50px;text-align:center;cursor:pointer;color-scheme:dark;touch-action:manipulation}.editor-form .booking-datetime-control>input::-webkit-date-and-time-value{min-width:0;height:48px;line-height:48px;text-align:center}.editor-form .booking-datetime-control>input::-webkit-datetime-edit{min-width:0;height:48px;line-height:48px;padding:0;text-align:center}.editor-form .booking-datetime-control__face{display:none}.editor-form .booking-datetime-control.is-booking-datetime-proxy-active>input{position:absolute;inset:0;z-index:2;height:100%;padding:0;opacity:0}.editor-form .booking-datetime-control.is-booking-datetime-proxy-active>input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:auto;height:auto;margin:0;opacity:0;cursor:pointer}.editor-form .booking-datetime-control.is-booking-datetime-proxy-active>.booking-datetime-control__face{position:absolute;z-index:1;inset:0;padding:0 48px;border:1px solid rgba(244,238,226,.19);border-radius:10px;background:#090906;color:var(--ivory);display:grid;place-items:center;pointer-events:none;transition:border-color .17s ease,background .17s ease}.editor-form .booking-datetime-control.is-booking-datetime-proxy-active>.booking-datetime-control__face b{min-width:0;color:var(--ivory);font-family:RoadRadio,sans-serif;font-size:19px;font-weight:700;letter-spacing:-.02em;line-height:1;text-align:center}.editor-form .booking-datetime-control.is-booking-datetime-proxy-active>.booking-datetime-control__face svg{position:absolute;right:14px;top:50%;width:23px;height:23px;color:var(--muted);stroke-width:1.8;transform:translateY(-50%)}.editor-form .booking-datetime-control.is-booking-datetime-proxy-active>input:hover+.booking-datetime-control__face{border-color:rgba(244,238,226,.34)}.editor-form .booking-datetime-control.is-booking-datetime-proxy-active>input:focus+.booking-datetime-control__face{border-color:var(--gold);background:#0d0c09}.editor-form .booking-datetime-control.is-booking-datetime-proxy-active>input:focus-visible+.booking-datetime-control__face{outline:2px solid var(--focus);outline-offset:3px}.editor-form .booking-datetime-control.is-booking-datetime-proxy-active>input[aria-invalid="true"]+.booking-datetime-control__face{border-color:rgba(239,119,112,.72)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.form-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.form-grid--single{grid-template-columns:minmax(0,270px)}
.stack-form{display:grid;gap:18px}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Public booking */
.public-page{background:var(--ink)}
.public-header{height:92px;max-width:1380px;margin:0 auto;padding:14px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand img{width:110px;height:64px;object-fit:contain}
.booking-shell{width:min(1240px,calc(100% - 64px));margin:0 auto;display:grid;grid-template-columns:minmax(0,.88fr) minmax(480px,1fr);gap:clamp(54px,8vw,120px);align-items:start;padding:clamp(64px,8vw,112px) 0 96px}
.booking-intro{position:sticky;top:44px;padding-top:18px}
.booking-intro h1{font-size:clamp(58px,6.2vw,92px);max-width:8.5ch;margin-bottom:28px;color:var(--ivory)}
.intro-copy{max-width:52ch;font-size:18px;line-height:1.65;color:var(--muted);margin-bottom:40px}
.service-facts{margin:0 0 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-facts>div{display:grid;grid-template-columns:108px 1fr;padding:14px 0;border-bottom:1px solid rgba(216,168,62,.13)}
.service-facts>div:last-child{border:0}.service-facts dt{color:#9f978a}.service-facts dd{margin:0;font-weight:500}.service-facts a{text-underline-offset:4px;text-decoration-color:var(--line-strong)}
.mode-note{display:inline-flex;margin:0;padding:9px 12px;border:1px solid var(--line);border-radius:9px;color:var(--gold-bright);font-size:13px}
.booking-form-panel{min-width:0;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);overflow:hidden;box-shadow:0 34px 92px rgba(0,0,0,.38)}
.form-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:24px 26px;border-bottom:1px solid var(--line)}
.form-heading h2{margin:0;font-size:24px}.form-heading p{margin:0;color:var(--muted);font-size:13px}
.booking-form{min-width:0;display:grid;gap:19px;padding:26px}.booking-form>*,.booking-form .form-grid>*,.booking-form .field,.booking-form .field>span{min-width:0}.booking-form .date-control{min-width:0;max-width:100%}.booking-form .date-control>input[type="date"]{display:block;inline-size:100%;min-inline-size:0;max-inline-size:100%;width:100%;min-width:0;max-width:100%}.booking-form .date-control>input[type="date"]::-webkit-date-and-time-value{min-width:0;text-align:left}.booking-form .date-control>input[type="date"]::-webkit-datetime-edit{min-width:0;overflow:hidden}
.booking-form .date-control--public{overflow:hidden;border-radius:10px;background:#090906}.booking-form .date-control--public>input[type="date"]{font-size:18px;font-weight:700;line-height:50px}.booking-form .date-control--public>input[type="date"]::-webkit-date-and-time-value{height:48px;line-height:48px}.booking-form .date-control--public>input[type="date"]::-webkit-datetime-edit{height:48px;line-height:48px;padding:0}.booking-form .date-control--public.is-date-proxy-active>input[type="date"]{position:absolute;inset:0;z-index:2;height:100%;padding:0;opacity:0}.booking-form .date-control--public.is-date-proxy-active>input[type="date"]::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:auto;height:auto;opacity:0}.booking-form .date-control--public.is-date-proxy-active>.date-control__face{position:absolute;z-index:1;inset:0;padding:0 14px;border:1px solid rgba(244,238,226,.19);border-radius:10px;background:#090906;color:var(--ivory);display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none;transition:border-color .17s ease,background .17s ease}.booking-form .date-control--public.is-date-proxy-active>.date-control__face b{min-width:0;color:var(--ivory);font-family:RoadRadio,sans-serif;font-size:19px;font-weight:700;letter-spacing:-.02em;line-height:1}.booking-form .date-control--public.is-date-proxy-active>.date-control__face svg{flex:0 0 auto;width:23px;height:23px;color:var(--muted);stroke-width:1.8}.booking-form .date-control--public.is-date-proxy-active>input:hover+.date-control__face{border-color:rgba(244,238,226,.34)}.booking-form .date-control--public.is-date-proxy-active>input:focus+.date-control__face{border-color:var(--gold);background:#0d0c09}.booking-form .date-control--public.is-date-proxy-active>input:focus-visible+.date-control__face{outline:2px solid var(--focus);outline-offset:3px}.booking-form .date-control--public.is-date-proxy-active>input[aria-invalid="true"]+.date-control__face{border-color:rgba(239,119,112,.72)}
.choice-field{margin:0;padding:0;border:0}.choice-field legend{margin-bottom:8px;color:var(--muted);font-size:13px;font-weight:500}
.segmented{display:grid;gap:0;border:1px solid rgba(244,238,226,.19);border-radius:10px;overflow:hidden}.segmented--three{grid-template-columns:repeat(3,1fr)}
.segmented label{position:relative}.segmented label+label{border-left:1px solid rgba(244,238,226,.16)}.segmented input{position:absolute;opacity:0;width:1px;height:1px}.segmented span{height:48px;display:grid;place-items:center;color:var(--muted);cursor:pointer;transition:background .17s ease,color .17s ease}.segmented input:checked+span{background:var(--gold-bright);color:var(--action-ink);font-weight:700}.segmented input:focus-visible+span{outline:2px solid var(--focus);outline-offset:-3px}
.consent{display:grid;grid-template-columns:20px 1fr;gap:11px;color:var(--muted);font-size:12px;line-height:1.5}.consent input,.compact-check input{appearance:none;width:19px;height:19px;padding:0;border-radius:5px;margin:1px 0 0}.consent input:checked,.compact-check input:checked{background:var(--gold-bright);border-color:var(--gold-bright);box-shadow:inset 0 0 0 4px var(--action-ink)}.consent a{text-underline-offset:3px;color:var(--ivory)}
.availability-note{display:none;padding:11px 13px;border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:13px}.availability-note:not(:empty){display:block}.availability-note[data-state="error"]{border-color:rgba(239,119,112,.5);color:#ffc5c1}.availability-note[data-state="ok"]{border-color:rgba(117,164,111,.45);color:#b9dcb5}
.form-footnote{margin:0;color:#9e968a;text-align:center;font-size:11px;line-height:1.5}
.field-error{color:#ffc5c1;font-size:11px;line-height:1.35}.field [aria-invalid="true"]{border-color:rgba(239,119,112,.72)}.consent-error{grid-column:2}

.public-table-disclosure{min-width:0;display:grid}.public-table-disclosure__trigger{min-width:0;min-height:62px;padding:10px 13px;border:1px solid rgba(244,238,226,.19);border-radius:10px;background:#0a0a07;color:var(--ivory);display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:12px;cursor:pointer;transition:background .17s ease,border-color .17s ease,color .17s ease}.public-table-disclosure__trigger>span{min-width:0;display:grid;gap:2px}.public-table-disclosure__trigger strong{font-size:14px;line-height:1.3}.public-table-disclosure__trigger small{color:var(--muted);font-size:11px;line-height:1.4}.public-table-disclosure__trigger>svg{width:22px;height:22px;justify-self:center;color:var(--gold-bright);transition:transform .18s var(--ease)}.public-table-disclosure__trigger:hover{border-color:var(--line-strong);background:#0d0c09}.public-table-disclosure__toggle:focus-visible+.public-table-disclosure__trigger{outline:2px solid var(--focus);outline-offset:3px}.public-table-disclosure__toggle:checked+.public-table-disclosure__trigger{border-color:var(--line-strong);border-radius:10px 10px 0 0;background:rgba(216,168,62,.07)}.public-table-disclosure__toggle:checked+.public-table-disclosure__trigger>svg{transform:rotate(45deg)}.public-table-disclosure__panel{min-width:0;padding:17px 13px 13px;border:1px solid var(--line-strong);border-top:0;border-radius:0 0 10px 10px;background:#0b0a08;display:none;gap:14px}.public-table-disclosure__toggle:checked~.public-table-disclosure__panel{display:grid}.public-table-disclosure__cancel{width:100%;min-height:48px;font-size:12px}

/* Shared table selection */
.booking-table-picker{min-width:0;margin:0;padding:0;border:0;display:grid;gap:14px}.booking-table-picker>legend{padding:0;color:var(--ivory);font-size:16px;font-weight:700}.booking-table-picker__help{max-width:68ch;margin:-7px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.booking-mode-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.booking-mode-choices--staff{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-mode-choice{position:relative;min-width:0;cursor:pointer}.booking-mode-choice>input{position:absolute;width:1px;height:1px;margin:0;opacity:0}.booking-mode-choice>span{min-height:62px;padding:10px 12px;border:1px solid rgba(244,238,226,.18);border-radius:10px;background:#0b0b08;color:var(--muted);display:grid;align-content:center;gap:1px;transition:background .17s ease,border-color .17s ease,color .17s ease}.booking-mode-choice strong{color:var(--ivory);font-size:13px;line-height:1.25}.booking-mode-choice small{font-size:10px;line-height:1.35}.booking-mode-choice:hover>span{border-color:rgba(240,200,107,.48)}.booking-mode-choice>input:checked+span{border-color:var(--gold-bright);background:var(--gold-bright);color:#3a2d11}.booking-mode-choice>input:checked+span strong{color:var(--action-ink)}.booking-mode-choice>input:focus-visible+span{outline:2px solid var(--focus);outline-offset:3px}
.booking-table-picker__availability{min-width:0;display:grid;gap:13px}.booking-table-picker.is-enhanced.is-unassigned:not(.has-selection) .booking-table-picker__availability{display:none}.booking-table-picker__status{min-height:38px;margin:0;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:#0c0b08;color:#bcb3a6;font-size:11px;line-height:1.45}.booking-table-picker__status[data-state="ready"]{border-color:rgba(117,164,111,.42);color:#b9dcb5}.booking-table-picker__status[data-state="error"]{border-color:rgba(239,119,112,.5);color:#ffc5c1}.booking-table-floors{display:grid;gap:9px}.booking-table-floor{min-width:0;border:1px solid rgba(216,168,62,.18);border-radius:10px;background:#0a0a07;overflow:hidden}.booking-table-floor__heading{min-height:48px;margin:0;padding:8px 11px;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:9px;color:var(--muted);cursor:pointer;list-style:none}.booking-table-floor__heading::-webkit-details-marker{display:none}.booking-table-floor__heading>span:first-child{min-width:0;display:flex;align-items:baseline;gap:8px}.booking-table-floor__heading strong{color:var(--ivory);font-size:13px}.booking-table-floor__heading small,.booking-table-floor__heading>span:nth-child(2){color:#9f978b;font-size:10px}.booking-table-floor__heading>svg{width:18px;height:18px;transition:transform .18s var(--ease)}.booking-table-floor__heading:hover{color:var(--gold-bright)}.booking-table-floor__heading:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}.booking-table-floor[open]>.booking-table-floor__heading{border-bottom:1px solid rgba(216,168,62,.17)}.booking-table-floor[open]>.booking-table-floor__heading>svg{transform:rotate(180deg)}.booking-table-grid{padding:7px;display:grid;grid-template-columns:repeat(auto-fit,minmax(126px,1fr));gap:7px}
.booking-table-choice{position:relative;min-width:0;min-height:82px;padding:10px;border:1px solid rgba(244,238,226,.16);border-radius:10px;background:#0b0b08;display:grid;grid-template-columns:19px minmax(0,1fr);align-items:start;gap:8px;cursor:pointer;transition:background .17s ease,border-color .17s ease,color .17s ease,opacity .17s ease}.booking-table-choice:hover{border-color:rgba(240,200,107,.46)}.booking-table-choice>input{appearance:none;width:19px;height:19px;margin:1px 0 0;padding:0;border-radius:5px;cursor:pointer}.booking-table-choice>input:checked{border-color:var(--gold-bright);background:var(--gold-bright);box-shadow:inset 0 0 0 4px var(--action-ink)}.booking-table-choice>input:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.booking-table-choice.is-selected,.booking-table-choice:has(input:checked){border-color:rgba(240,200,107,.68);background:rgba(216,168,62,.075)}.booking-table-choice.is-disabled{cursor:not-allowed;opacity:.58}.booking-table-choice.is-disabled>input{cursor:not-allowed}.booking-table-choice.is-floor-locked{border-style:dashed;opacity:.48}.booking-table-choice.is-inactive{border-style:dashed}.booking-table-choice__body{min-width:0;display:grid;gap:2px}.booking-table-choice__number{color:#c9c0b3;font-size:11px;line-height:1.15}.booking-table-choice__number strong{margin-left:2px;color:var(--ivory);font-family:RoadRadio,sans-serif;font-size:20px;letter-spacing:-.02em}.booking-table-choice__capacity{display:flex;align-items:center;gap:4px;color:#bcb3a6;font-size:10px;white-space:nowrap}.booking-table-choice__capacity svg{flex:0 0 auto;width:13px;height:13px;color:var(--gold-bright);stroke-width:1.5}.booking-table-choice__state{color:#a69e92;font-size:9px;font-weight:700;line-height:1.25}.booking-table-choice[data-availability="available"] .booking-table-choice__state{color:#a9d0a5}.booking-table-choice[data-availability="unavailable"] .booking-table-choice__state,.booking-table-choice[data-availability="inactive"] .booking-table-choice__state{color:#ffaaa5}.booking-table-choice.is-floor-locked .booking-table-choice__state{color:#e5c273}
.booking-table-summary{min-width:0;min-height:64px;padding:11px 13px;border:1px solid rgba(240,200,107,.48);border-radius:10px;background:rgba(216,168,62,.055);display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px}.booking-table-summary>svg{width:24px;height:24px;color:var(--gold-bright)}.booking-table-summary>[data-table-summary-live]{min-width:0;display:grid;gap:2px}.booking-table-summary strong{color:var(--ivory);font-size:13px;overflow-wrap:anywhere}.booking-table-summary small{color:#bdb4a7;font-size:11px;line-height:1.4;overflow-wrap:anywhere}.booking-table-summary__clear{min-height:44px;padding:6px 10px;border:1px solid rgba(244,238,226,.2);border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:10px;font-weight:700}.booking-table-summary__clear:hover{border-color:var(--line-strong);color:var(--ivory)}.booking-table-summary__clear[hidden]{display:none}.booking-table-picker__error{display:block;margin-top:-5px}.booking-table-picker[aria-invalid="true"] .booking-table-summary{border-color:rgba(239,119,112,.64);background:rgba(101,25,27,.16)}

.success-page{display:grid;place-items:center;padding:28px}.success-shell{width:min(560px,100%);text-align:center;padding:34px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);display:grid;justify-items:center}.success-logo{width:126px;margin-bottom:32px}.success-mark{width:62px;height:62px;border:1px solid rgba(117,164,111,.65);border-radius:50%;display:grid;place-items:center;color:#a8d5a3;margin-bottom:26px}.success-mark svg{width:34px;height:34px;stroke-width:2}.success-shell h1{font-size:clamp(42px,8vw,64px);margin-bottom:14px}.success-shell>p{color:var(--muted);max-width:43ch}.success-details{width:100%;margin:22px 0 28px;border-block:1px solid var(--line)}.success-details div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid rgba(216,168,62,.13);text-align:left}.success-details div:last-child{border:0}.success-details dt{color:var(--muted)}.success-details dd{margin:0;font-weight:500}.success-help{margin-bottom:10px!important}.success-shell .quiet-link{margin-top:20px}

/* Login */
.login-page{display:grid;place-items:center;padding:28px;background:var(--ink)}
.login-shell{width:min(940px,100%);display:grid;grid-template-columns:1fr 420px;border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden;background:var(--surface);box-shadow:0 34px 90px rgba(0,0,0,.4)}
.login-brand{padding:54px;background:var(--ink-soft);display:flex;flex-direction:column;justify-content:center}.login-brand img{width:145px;margin-bottom:44px}.login-brand h1{font-size:clamp(44px,5vw,68px);margin-bottom:18px}.login-brand p{color:var(--muted);margin:0}.login-panel{padding:54px 42px}.login-panel h2{font-size:28px;margin-bottom:28px}.login-panel .quiet-link{display:inline-block;margin-top:24px;font-size:13px}

/* Staff shell */
.staff-page{overflow-x:hidden}.app-shell{min-height:100vh;display:grid;grid-template-columns:196px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;padding:18px 14px;border-right:1px solid var(--line);background:#080806;display:flex;flex-direction:column;z-index:30}
.sidebar-brand{display:grid;place-items:center;height:92px;border-bottom:1px solid var(--line);margin:-18px -14px 16px}.sidebar-brand img{width:104px;height:66px;object-fit:contain}
.sidebar-nav{display:grid;gap:4px}.sidebar-nav a{min-height:48px;padding:0 12px;display:flex;align-items:center;gap:12px;border-radius:9px;color:#aaa297;text-decoration:none;font-size:14px;transition:background .16s ease,color .16s ease}.sidebar-nav svg{width:21px;height:21px}.sidebar-nav a:hover{color:var(--ivory);background:rgba(255,255,255,.035)}.sidebar-nav a.is-active{color:var(--gold-bright);background:rgba(216,168,62,.09)}
.sidebar-user{margin-top:auto;padding:16px 4px 12px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;min-width:0}.user-avatar{width:36px;height:36px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold-bright);flex:0 0 auto;font-size:13px}.sidebar-user>span:last-child{display:grid;min-width:0}.sidebar-user strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user small{font-size:11px;color:#958d82}.logout-button{width:100%;height:40px;border:1px solid rgba(244,238,226,.16);border-radius:8px;background:transparent;color:#a9a196;cursor:pointer}.logout-button svg{display:none;width:20px;height:20px}.logout-button:hover{color:var(--ivory);border-color:rgba(244,238,226,.36)}
.app-main{min-width:0;background:var(--ink)}
.dashboard,.editor-page,.archive-page,.settings-page,.tables-page,.users-page{padding:24px clamp(18px,2.2vw,34px) 38px}
.dashboard-header,.page-header{min-height:82px;display:flex;justify-content:space-between;align-items:center;gap:22px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}.dashboard-header h1,.page-header h1{font-size:clamp(30px,3.2vw,48px);margin:0 0 4px}.dashboard-header p,.page-header p{margin:0;color:var(--muted);font-size:13px}
.date-actions{display:flex;align-items:center;gap:8px}.icon-button{width:44px;height:44px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;color:var(--muted)}.icon-button svg{width:20px;height:20px}.icon-button:hover{border-color:var(--gold);color:var(--gold-bright)}.icon-button.is-disabled{opacity:.28;pointer-events:none}.today-button{min-height:44px;padding-inline:12px;font-size:13px;white-space:nowrap}.today-button[aria-current="date"]{border-color:var(--line-strong);background:rgba(216,168,62,.09);color:var(--gold-bright)}.compact-date{width:154px}.compact-date .date-control,.compact-date .date-control__face{height:44px}.compact-date .date-control__face b{font-size:14px}
.filter-bar{display:grid;grid-template-columns:minmax(240px,1fr) 190px auto;gap:10px;padding:0 0 18px}.filter-bar select,.filter-bar input{height:44px}.search-field{position:relative}.search-field svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:19px;height:19px;color:#9b9387;pointer-events:none}.search-field input{padding-left:44px}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,370px);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-height:calc(100vh - 188px)}
.shift-board{min-width:0;background:var(--ink-soft);display:flex;flex-direction:column}.section-heading{min-height:58px;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.section-heading h2{font-size:15px;text-transform:uppercase;letter-spacing:.035em;margin:0}.section-heading>span{font-size:12px;color:#999184}.count-badge,.code-label{min-width:26px;height:26px;padding:0 8px;border:1px solid var(--line-strong);border-radius:999px;display:grid;place-items:center;color:var(--gold-bright);font-size:11px}
.reservation-ledger{list-style:none;margin:0;padding:7px 0;flex:1}.reservation-row{position:relative;border-bottom:1px solid rgba(216,168,62,.1)}.reservation-row>a{min-height:64px;display:grid;grid-template-columns:74px minmax(180px,1fr) 118px 82px;align-items:center;gap:12px;padding:8px 16px;color:inherit;text-decoration:none;border:1px solid transparent;border-radius:8px;margin:0 7px}.reservation-row>a:hover{background:rgba(255,255,255,.025)}.reservation-row.is-selected>a{border-color:var(--gold);background:rgba(216,168,62,.055)}.reservation-row time{font-family:RoadRadio,sans-serif;font-size:19px}.reservation-guest{display:grid}.reservation-guest strong{font-size:14px}.reservation-guest small{color:#aaa297;font-size:12px}.table-label{text-align:right;color:#b6ada0;font-size:12px}.status-cancelled>a{color:#c68b88}
.search-results-note{margin:0;padding:10px 16px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}.reservation-ledger--search{min-height:420px}
.reservation-timeline{position:relative;flex:1;min-height:594px;overflow:hidden;background:#0b0b08}.reservation-timeline.timeline-hours-11{height:594px}.reservation-timeline.timeline-hours-12{height:648px}.timeline-scale{position:absolute;inset:0;display:grid;grid-auto-rows:54px}.timeline-scale>div{position:relative;border-top:1px solid rgba(216,168,62,.22)}.timeline-scale>div:after{content:"";position:absolute;left:68px;right:0;top:27px;border-top:1px dotted rgba(216,168,62,.11)}.timeline-labels{position:absolute;z-index:3;inset:0 auto 0 0;width:72px;display:grid;grid-auto-rows:54px;pointer-events:none}.timeline-labels time{align-self:start;margin:4px 0 0 12px;padding:1px 7px 1px 0;background:#0b0b08;color:#ddd4c5;font-family:RoadRadio,sans-serif;font-size:13px}.timeline-labels .timeline-close{position:absolute;left:12px;bottom:2px;margin:0;padding-right:7px}.timeline-canvas{position:absolute;z-index:2;top:0;right:7px;bottom:0;left:72px;display:grid;grid-template-rows:repeat(144,4.5px);gap:0 5px;list-style:none;margin:0;padding:0}.timeline-card{z-index:1;min-width:0;margin:2px 0;border:1px solid rgba(244,238,226,.2);border-radius:8px;background:#151410;overflow:hidden}.timeline-card:hover{z-index:4;border-color:rgba(240,200,107,.62)}.timeline-card.is-selected{z-index:3;border-color:var(--gold-bright);background:#1b170c}.timeline-card.status-pending{border-color:rgba(240,200,107,.52);background:#17140c}.timeline-card.status-cancelled{border-color:rgba(239,119,112,.45);background:#1b0d0d}.timeline-card>a{height:100%;min-width:0;padding:7px 9px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:3px 8px;color:inherit;text-decoration:none;align-content:start}.timeline-card__head{grid-column:1/-1;min-width:0;display:flex;align-items:baseline;gap:8px}.timeline-card__head time{flex:0 0 auto;font-family:RoadRadio,sans-serif;font-size:13px}.timeline-card__head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.timeline-card__meta{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#aaa297;font-size:10px}.timeline-card__foot{display:flex;align-items:center;justify-content:flex-end;gap:7px;color:#b6ada0;font-size:10px}.timeline-card__foot .status-badge{min-height:20px;padding:1px 6px;font-size:9px}.timeline-duration-1{grid-row-end:span 12}.timeline-duration-2{grid-row-end:span 24}.timeline-duration-3{grid-row-end:span 36}
.status-badge{width:max-content;display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:3px 8px;border:1px solid currentColor;border-radius:7px;font-size:11px;white-space:nowrap}.status-badge--pending{color:var(--amber);background:rgba(216,168,62,.065)}.status-badge--confirmed{color:#9bc695;background:rgba(41,88,44,.13)}.status-badge--cancelled{color:var(--red);background:rgba(101,25,27,.18)}
.ledger-legend{min-height:55px;border-top:1px solid var(--line);display:flex;align-items:center;gap:18px;padding:0 18px;color:#a49c91;font-size:11px}.ledger-legend span{display:flex;align-items:center;gap:6px}.ledger-legend small{margin-left:auto}.dot{width:8px;height:8px;border-radius:50%;display:block}.dot--confirmed{background:#75a46f}.dot--pending{background:var(--amber)}.dot--cancelled{background:var(--red)}
.empty-state{margin:auto;text-align:center;padding:54px 24px}.empty-state h3{font-size:22px;margin-bottom:8px}.empty-state p{color:var(--muted);margin-bottom:22px}
.work-panel{border-left:1px solid var(--line);background:#0a0a08}.pending-panel{border-bottom:1px solid var(--line)}.pending-list{list-style:none;margin:0;padding:6px}.pending-list li+li{border-top:1px solid rgba(216,168,62,.1)}.pending-list a{display:grid;gap:2px;padding:11px 12px;border:1px solid transparent;border-radius:8px;text-decoration:none}.pending-list a:hover{background:rgba(255,255,255,.025)}.pending-list li.is-selected a{border-color:var(--gold);background:rgba(216,168,62,.055)}.pending-list strong{font-size:13px}.pending-list span{font-size:11px;color:#a69e92}.panel-empty{padding:20px;margin:0;color:var(--muted);font-size:13px}
.detail-panel{padding-bottom:16px}.detail-list{margin:0;padding:12px 18px}.detail-list>div{display:grid;grid-template-columns:94px 1fr;gap:12px;padding:8px 0}.detail-list dt{color:#948c80;font-size:12px}.detail-list dd{margin:0;font-size:13px}.detail-list a{text-underline-offset:3px}.detail-comment{border-top:1px solid rgba(216,168,62,.12);margin-top:5px;padding-top:13px!important}.detail-actions{display:grid;gap:8px;padding:0 18px}.detail-actions form{margin:0}.confirm-form{display:grid;gap:9px}.confirm-form .field{font-size:11px}.confirm-form select{height:42px}.confirm-form--tables{gap:12px}.booking-table-picker--compact{gap:10px}.booking-table-picker--compact>legend{font-size:13px}.booking-table-picker--compact .booking-table-picker__help{font-size:10px}.booking-table-picker--compact .booking-mode-choice>span{min-height:54px;padding:7px 8px}.booking-table-picker--compact .booking-mode-choice strong{font-size:11px}.booking-table-picker--compact .booking-mode-choice small{font-size:9px}.booking-table-picker--compact .booking-table-picker__status{min-height:34px;padding:7px 8px;font-size:10px}.booking-table-picker--compact .booking-table-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:5px}.booking-table-picker--compact .booking-table-choice{min-height:77px;padding:7px 6px;gap:5px}.booking-table-picker--compact .booking-table-choice__number strong{font-size:17px}.booking-table-picker--compact .booking-table-choice__capacity{font-size:9px;white-space:normal}.booking-table-picker--compact .booking-table-summary{grid-template-columns:20px minmax(0,1fr);padding:9px}.booking-table-picker--compact .booking-table-summary>svg{width:20px;height:20px}.booking-table-picker--compact .booking-table-summary__clear{grid-column:2;justify-self:start}.cancel-disclosure summary{list-style:none;width:100%;min-height:44px;border:1px solid rgba(239,119,112,.48);border-radius:9px;color:var(--red);display:grid;place-items:center;cursor:pointer;font-size:13px;font-weight:700}.cancel-disclosure summary::-webkit-details-marker{display:none}.cancel-disclosure form{display:grid;gap:10px;padding-top:12px}.detail-panel--empty{padding:32px 20px;color:var(--muted)}.detail-panel--empty h2{color:var(--ivory);font-size:19px}

/* Editors and admin */
.page-header{min-height:94px}.back-link{display:inline-block;margin-bottom:10px;color:var(--muted);font-size:12px;text-underline-offset:3px}.editor-form{max-width:850px;display:grid;gap:16px}.editor-section{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:22px;display:grid;gap:18px}.editor-section h2{margin:0 0 3px;font-size:20px}.editor-actions{display:flex;gap:10px}
.field .table-capacity-hint{min-width:0;min-height:20px;display:flex;align-items:flex-start;gap:6px;color:#bdb4a7;font-size:12px;line-height:1.4}.table-capacity-hint>svg{flex:0 0 auto;width:15px;height:15px;margin-top:1px;color:var(--gold-bright);stroke-width:1.45}.table-capacity-hint>span{min-width:0;overflow-wrap:anywhere}
.archive-filter{display:grid;grid-template-columns:minmax(260px,1fr) 180px 180px auto;gap:10px;align-items:end;margin-bottom:18px}.archive-table-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:800px;background:var(--surface)}.data-table th,.data-table td{padding:13px 15px;text-align:left;border-bottom:1px solid rgba(216,168,62,.12);font-size:13px}.data-table th{color:#9f978b;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.data-table a{text-underline-offset:3px}.table-empty{text-align:center!important;color:var(--muted);padding:42px!important}
.settings-form{display:grid;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.setting-row{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:34px;align-items:center;padding:24px;border-bottom:1px solid var(--line)}.setting-row h2{font-size:19px;margin-bottom:7px}.setting-row p{margin:0;max-width:72ch;color:var(--muted);font-size:13px}.setting-row--static>strong{text-align:right;color:var(--gold-bright)}.setting-warning{color:#f0c86b!important;margin-top:8px!important}.settings-form>.button{margin:20px 24px;justify-self:start}.switch{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:10px;cursor:pointer}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch span{width:52px;height:29px;border:1px solid rgba(244,238,226,.24);border-radius:999px;background:#090906;position:relative;transition:background .17s ease,border-color .17s ease}.switch span:after{content:"";position:absolute;left:4px;top:4px;width:19px;height:19px;border-radius:50%;background:#817a6f;transition:transform .2s var(--ease),background .17s ease}.switch input:checked+span{background:var(--gold-bright);border-color:var(--gold-bright)}.switch input:checked+span:after{transform:translateX(23px);background:var(--action-ink)}.switch input:focus-visible+span{outline:2px solid var(--focus);outline-offset:3px}.switch input:disabled+span{opacity:.4}.switch b{font-size:12px}
.readiness-badge{flex:0 0 auto;padding:8px 11px;border:1px solid rgba(240,200,107,.48);border-radius:8px;color:var(--amber);font-size:12px}.readiness-badge.is-ready{color:#9bc695;border-color:rgba(117,164,111,.52)}
.tables-page__header{align-items:flex-start}.tables-page__header>div{max-width:72ch}
.floor-tabs{display:flex;gap:6px;margin-bottom:18px;padding-bottom:8px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}.floor-tab{flex:0 0 auto;min-width:160px;min-height:48px;padding:7px 13px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;text-align:left;transition:background .17s ease,border-color .17s ease,color .17s ease}.floor-tab:hover{border-color:var(--line);color:var(--ivory)}.floor-tab.is-active{border-color:rgba(216,168,62,.42);background:rgba(216,168,62,.09);color:var(--gold-bright)}.floor-tab span{font-weight:700}.floor-tab small{color:inherit;font-size:11px;white-space:nowrap}
.floor-panel[hidden]{display:none}.floor-panel__heading{min-height:64px;display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:12px}.floor-panel__heading h2{margin:0 0 4px;font-size:23px}.floor-panel__heading p{margin:0;color:var(--muted);font-size:12px}.floor-panel__heading>span{color:var(--amber);font-size:12px;text-align:right}.floor-panel__heading>span.is-complete{color:#9bc695}
.floorplan-frame{min-width:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.floorplan-swipe-hint{display:none}.floorplan-scroll{width:100%;overflow-x:auto;overscroll-behavior-inline:contain;background:#0a0a08;scrollbar-width:thin;scrollbar-color:var(--gold) #0a0a08}.floorplan-scroll:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}.floorplan-map{display:block;width:100%;min-width:880px;height:auto;margin:0 auto;color:var(--ivory)}.floorplan-map *{vector-effect:non-scaling-stroke}.floorplan-map text{stroke:none}.floorplan-map__base{fill:#0b0b08;stroke:rgba(216,168,62,.18)}.floorplan-structure{fill:rgba(244,238,226,.035);stroke:rgba(200,191,176,.24);stroke-width:1}.floorplan-structure--green{fill:#183e1d;stroke:#4d7a52}.floorplan-structure--red{fill:#43201f;stroke:#8d514d}.floorplan-structure--gray{fill:#343330;stroke:#666158}.floorplan-structure--olive{fill:#514a16;stroke:#918431}.floorplan-mark{fill:#978f83;font-family:Euclid,sans-serif;font-size:12px}.floorplan-table .floorplan-table__surface{fill:var(--surface-raised);stroke:var(--gold);stroke-width:1.4}.floorplan-table__number,.floorplan-table__capacity{fill:var(--ivory);font-family:Euclid,sans-serif;text-anchor:middle;dominant-baseline:middle}.floorplan-table__number{font-size:16px;font-weight:700}.floorplan-table__capacity{fill:#c8bfb0;font-size:15px;font-weight:500}.floorplan-table.is-inactive{opacity:.5}.floorplan-table.is-inactive .floorplan-table__surface{stroke-dasharray:5 4;fill:#0d0c09}.floorplan-legend{min-height:52px;padding:10px 16px;border-top:1px solid var(--line);display:flex;align-items:center;gap:18px;color:var(--muted);font-size:11px}.floorplan-legend>span{display:flex;align-items:center;gap:7px;white-space:nowrap}.floorplan-legend small{margin-left:auto;color:#a49c91}.floorplan-key{width:22px;height:15px;border:1px solid var(--gold);border-radius:4px;background:var(--surface-raised)}.floorplan-key--inactive{border-style:dashed;opacity:.55;background:#0d0c09}
.floorplan-booking-header>div{max-width:72ch}.floorplan-booking-header>.button{flex:0 0 auto}
.floorplan-controls{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(140px,.8fr) minmax(140px,.8fr) auto;gap:12px;align-items:end;max-width:890px;margin-bottom:14px}.floorplan-controls input,.floorplan-controls select{height:44px}.floorplan-controls .field>span{color:#aaa297;font-size:12px}.floorplan-controls__submit{min-width:108px;min-height:44px;height:44px;padding-inline:18px}
.floorplan-interval-note{min-height:44px;margin:0 0 14px;padding:10px 14px;border:1px solid rgba(240,200,107,.42);border-radius:9px;background:#17140d;color:var(--gold-bright);display:flex;align-items:center;font-size:12px}.floorplan-shift-summary{min-height:46px;margin:0 0 18px;padding:10px 14px;border-block:1px solid var(--line);display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:var(--muted);font-size:12px}.floorplan-shift-summary b{color:var(--ivory);font-weight:700}.floorplan-shift-summary i{color:#746d62;font-style:normal}
.booking-floor-panels{min-width:0}.floorplan-booking-heading>span{color:var(--gold-bright)}.booking-floorplan{border-color:var(--line-strong)}.floorplan-map--booking{min-width:880px}.floorplan-table-link{cursor:pointer;text-decoration:none}.floorplan-table--booking .floorplan-table__surface{transition:fill .16s ease,stroke .16s ease}.floorplan-table--booking text{pointer-events:none}.floorplan-table--booking .floorplan-table__number,.floorplan-table--booking .floorplan-table__state{font-family:Euclid,sans-serif;text-anchor:middle;dominant-baseline:middle}.floorplan-table--booking .floorplan-table__number{font-size:13px;font-weight:700}.floorplan-table--booking .floorplan-table__state{font-size:8.5px;font-weight:500}.floorplan-table--booking.is-compact .floorplan-table__state{font-size:6.5px;letter-spacing:-.025em}.floorplan-table--booking.is-available .floorplan-table__surface{fill:#17150e;stroke:var(--gold-bright);stroke-width:1.8}.floorplan-table--booking.is-available .floorplan-table__state{fill:var(--gold-bright)}.floorplan-table--booking.is-available.is-readonly .floorplan-table__surface{stroke:rgba(240,200,107,.62);stroke-dasharray:4 3}.floorplan-table--booking.is-available.is-readonly .floorplan-table__state{fill:#bca66c}.floorplan-table-link:hover .floorplan-table--booking.is-available .floorplan-table__surface{fill:#211b0e;stroke:#f7d888;stroke-width:2.4}.floorplan-table-link:focus-visible{outline:none}.floorplan-table-link:focus-visible .floorplan-table--booking .floorplan-table__surface{stroke:var(--focus);stroke-width:3.2}.floorplan-table--booking.is-occupied{opacity:1}.floorplan-table--booking.is-occupied .floorplan-table__surface{fill:var(--red-bg);stroke:var(--red);stroke-width:2}.floorplan-table--booking.is-occupied .floorplan-table__number{fill:#ffd7d3}.floorplan-table--booking.is-occupied .floorplan-table__state{fill:var(--red)}.floorplan-table-link:hover .floorplan-table--booking.is-occupied .floorplan-table__surface{fill:#351314;stroke:#ffaaa4;stroke-width:2.5}.floorplan-table--booking.is-inactive{opacity:.55}.floorplan-table--booking.is-inactive .floorplan-table__state{fill:#aaa297}.floorplan-booking-legend>span{white-space:normal}.floorplan-key--available{border-color:var(--gold-bright);background:#17150e}.floorplan-key--readonly{border-style:dashed;opacity:.68}.floorplan-key--occupied{border-color:var(--red);background:var(--red-bg)}
.floorplan-capacity-mark{color:#c8bfb0;pointer-events:none}.floorplan-capacity-mark svg{overflow:visible;color:inherit}.floorplan-capacity-mark circle,.floorplan-capacity-mark path{fill:none;stroke:currentColor;stroke-width:1.35}.floorplan-capacity-mark text{fill:currentColor;font-family:Euclid,sans-serif;font-size:8.5px;font-weight:500;text-anchor:end;dominant-baseline:middle;letter-spacing:-.01em}
.floorplan-unpositioned{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}.floorplan-unpositioned>span{padding-top:13px;color:var(--muted);font-size:12px}.floorplan-unpositioned>div{display:flex;flex-wrap:wrap;gap:7px}.floorplan-unpositioned a,.floorplan-unpositioned>div>span{min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:8px;display:inline-flex;align-items:center;color:var(--ivory);font-size:12px;text-decoration:none}.floorplan-unpositioned .is-available{border-color:rgba(240,200,107,.56);color:var(--gold-bright)}.floorplan-unpositioned .is-available.is-readonly{border-style:dashed;color:#bca66c}.floorplan-unpositioned a.is-occupied{border-color:rgba(239,119,112,.6);background:rgba(101,25,27,.18);color:#ffd7d3}.floorplan-unpositioned .is-inactive{border-style:dashed;color:#aaa297;opacity:.64}.floorplan-unpositioned a:hover{border-color:var(--focus)}
.floorplan-empty{min-height:170px;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);display:flex;align-items:center;gap:18px}.floorplan-empty>svg{flex:0 0 auto;width:38px;height:38px;color:var(--gold)}.floorplan-empty h2,.floorplan-empty h3{margin:0 0 7px;font-size:19px}.floorplan-empty p{max-width:68ch;margin:0;color:var(--muted);font-size:13px}

/* Table board: a numbered service index, separate from the spatial floor plan. */
.table-board-header>div:first-child{max-width:68ch}.table-board-header__actions{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:10px}.table-board-now{min-height:44px;margin:0;padding:5px 12px;border-block:1px solid var(--line);display:grid;align-content:center;text-align:right}.table-board-now span{color:#9f978b;font-size:10px;line-height:1.25;text-transform:uppercase;letter-spacing:.045em}.table-board-now time{color:var(--ivory);font-family:RoadRadio,sans-serif;font-size:17px;line-height:1.2}.table-board-settings{white-space:nowrap}.table-board-tabs{margin-bottom:14px}.table-board-floor__heading{margin-bottom:14px}.table-board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;align-items:stretch}.table-board-card{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}.table-board-card.is-occupied{border-color:rgba(239,119,112,.42)}.table-board-card.is-inactive{border-style:dashed}.table-board-booking{min-width:0;min-height:58px;padding:8px 10px;border-bottom:1px solid var(--line);display:grid;align-content:center;gap:2px;color:inherit;text-decoration:none}.table-board-booking span{min-width:0;color:#9f978b;font-size:10px;line-height:1.2}.table-board-booking strong{min-width:0;color:var(--ivory);font-size:11px;line-height:1.3;overflow-wrap:anywhere}.table-board-booking--current{border-color:rgba(239,119,112,.34);background:rgba(101,25,27,.16)}.table-board-booking--current span,.table-board-booking--current strong{color:#ffc3bf}.table-board-booking--nearest{background:rgba(216,168,62,.045)}.table-board-booking--nearest strong{color:var(--gold-bright)}.table-board-booking--inactive{border-bottom-style:dashed}.table-board-booking--inactive span{color:#b6ada0}.table-board-booking--inactive strong{color:#aaa297}.table-board-booking--empty strong{color:#b6ada0;font-weight:500}.table-board-booking:is(a):hover{background:rgba(216,168,62,.1)}.table-board-booking--current:is(a):hover{background:rgba(101,25,27,.28)}.table-board-booking:is(a):focus-visible{position:relative;z-index:2;outline:2px solid var(--focus);outline-offset:-3px}.table-board-card__action{min-height:108px;padding:13px 12px;display:grid;grid-template-columns:minmax(0,1fr) 22px;grid-template-rows:auto auto;align-content:center;gap:5px 8px;color:inherit;text-decoration:none;transition:background .17s ease,color .17s ease}.table-board-card__number{min-width:0;color:var(--ivory);font-family:RoadRadio,sans-serif;font-size:35px;line-height:.95}.table-board-card__number small{display:block;margin-bottom:4px;color:#9f978b;font-family:Euclid,sans-serif;font-size:9px;font-weight:500;line-height:1;text-transform:uppercase;letter-spacing:.05em}.table-board-card__state{grid-column:1/-1;color:#9bc695;font-size:10px;line-height:1.25}.table-board-card__action>svg{grid-column:2;grid-row:1;align-self:center;width:20px;height:20px;color:var(--gold-bright)}.table-board-card.is-occupied .table-board-card__state{color:#ffc3bf}.table-board-card__action:is(a):hover{background:rgba(255,255,255,.035)}.table-board-card__action:is(a):hover .table-board-card__number{color:var(--gold-bright)}.table-board-card__action:is(a):focus-visible{position:relative;z-index:2;outline:2px solid var(--focus);outline-offset:-3px}.table-board-card__action--disabled{grid-template-columns:1fr;background:#0d0c09}.table-board-card__action--disabled .table-board-card__number,.table-board-card__action--disabled .table-board-card__state{color:#aaa297}.table-board-empty{grid-column:1/-1}
.table-board-card__capacity{grid-column:1/-1;min-width:0;display:flex;align-items:center;gap:5px;color:#c8bfb0;font-family:Euclid,sans-serif;font-size:10px;font-weight:500;line-height:1.2}.table-board-card__capacity>svg{flex:0 0 auto;width:13px;height:13px;stroke-width:1.45}.table-board-card__capacity>span:not(.visually-hidden){min-width:0;white-space:nowrap}.table-board-card__action--disabled .table-board-card__capacity{color:#aaa297}
.table-jump-nav{margin-top:14px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center}.table-jump-nav>span{color:var(--muted);font-size:12px}.table-jump-nav>div{display:flex;flex-wrap:wrap;gap:6px}.table-jump-nav a{width:44px;height:44px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;color:var(--ivory);font-size:13px;font-weight:700;text-decoration:none;transition:border-color .17s ease,color .17s ease,background .17s ease}.table-jump-nav a:hover{border-color:var(--gold-bright);background:rgba(216,168,62,.07);color:var(--gold-bright)}
.table-editor-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin:26px 0 12px}.table-editor-heading h3{margin:0;font-size:19px}.table-editor-heading p{max-width:68ch;margin:0;color:var(--muted);font-size:12px;text-align:right}.table-settings-list{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.table-settings-head,.table-setting-row{display:grid;grid-template-columns:90px minmax(110px,140px) minmax(140px,180px) 120px 112px;gap:12px;align-items:center;padding:10px 15px}.table-settings-head{color:#9f978b;font-size:11px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line)}.table-setting-row{border-bottom:1px solid rgba(216,168,62,.11);scroll-margin-top:84px}.table-setting-row:last-child{border:0}.table-setting-row:target{background:rgba(216,168,62,.055)}.table-setting-row>strong{display:grid;line-height:1.25}.table-setting-row>strong small{color:var(--muted);font-size:10px;font-weight:400}.table-setting-row input,.table-setting-row select{height:40px}.table-setting-row>.button{min-height:44px}.compact-check{min-height:44px;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.table-setting-row .compact-check input{flex:0 0 auto;width:19px;height:19px}.mobile-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.users-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px}.user-list,.new-user-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:22px}.user-list h2,.new-user-panel h2{font-size:20px;margin-bottom:18px}.user-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid rgba(216,168,62,.12)}.user-row:last-child{border:0}.user-row>span:nth-child(2){display:grid}.user-row small{color:var(--muted)}
.user-account{border-bottom:1px solid rgba(216,168,62,.12)}.user-account:last-child{border:0}.user-account>summary{list-style:none;cursor:pointer;border:0}.user-account>summary::-webkit-details-marker{display:none}.user-account[open]>summary{color:var(--gold-bright)}.user-account-forms{display:grid;gap:14px;padding:4px 0 18px 52px}.compact-user-form{padding:15px;border:1px solid var(--line);border-radius:9px}.account-active{align-self:end;min-height:46px}.reset-password-form{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px;align-items:end}.reset-password-form .button{height:46px}

/* Operational notes and physical table state */
.tomorrow-button{min-height:44px;padding-inline:12px;font-size:13px;white-space:nowrap}.tomorrow-button[aria-current="date"]{border-color:var(--line-strong);background:rgba(216,168,62,.09);color:var(--gold-bright)}
.reservation-marks{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:4px}.reservation-mark{min-height:22px;padding:2px 7px;border:1px solid rgba(240,200,107,.48);border-radius:6px;background:#211b0d;color:#f5d98d;display:inline-flex;align-items:center;font-size:10px;font-weight:700;line-height:1.15;white-space:nowrap}.reservation-mark--tom-yum{border-color:rgba(117,164,111,.52);background:#101c11;color:#b9dcb5}.reservation-marks--compact{gap:3px}.reservation-marks--compact .reservation-mark{min-height:20px;padding:2px 5px;font-size:10px}.reservation-guest>.reservation-marks,.pending-list .reservation-marks,.table-board-booking>.reservation-marks{margin-top:3px}.timeline-card__meta{display:flex;align-items:center;gap:5px}.timeline-card__meta>span:first-child{flex:0 0 auto}.timeline-card__meta>.reservation-marks{min-width:0;flex-wrap:nowrap;overflow:hidden}.timeline-card__meta .reservation-mark{min-width:0;overflow:hidden;text-overflow:ellipsis}.reservation-marks--timeline .reservation-mark{min-height:18px;padding:1px 4px;font-size:10px}.timeline-card.has-service-marks>a{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;gap:2px;padding:5px 6px}.timeline-card.has-service-marks .timeline-card__meta{grid-column:1;overflow:visible}.timeline-card.has-service-marks .timeline-card__meta>.reservation-marks{width:max-content;max-width:100%;flex:0 0 auto;flex-wrap:nowrap;gap:3px;overflow:visible}.timeline-card.has-service-marks .timeline-card__meta .reservation-mark{min-width:max-content;flex:0 0 auto;padding-inline:3px;font-size:9px;overflow:visible}.detail-service-marks dd{min-width:0}.detail-muted{color:#91897e}
.visit-state{width:max-content;max-width:100%;min-height:24px;padding:3px 8px;border:1px solid rgba(240,200,107,.38);border-radius:7px;background:#17140c;color:var(--amber);display:inline-flex;align-items:center;font-size:11px;font-weight:700;line-height:1.2}.visit-state--seated{border-color:rgba(239,119,112,.5);background:rgba(101,25,27,.22);color:#ffc3bf}.visit-state--completed{border-color:rgba(117,164,111,.48);background:rgba(41,88,44,.16);color:#b9dcb5}.visit-state--compact{min-height:20px;padding:2px 6px;font-size:9px}.detail-visit-actions{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:9px;background:#0d0c09}.detail-visit-actions>span{color:#9f978b;font-size:10px;text-transform:uppercase;letter-spacing:.045em}.visit-action-form .button{min-height:44px}.visit-action-disclosure summary{list-style:none;min-height:44px;padding:8px 12px;border:1px solid rgba(240,200,107,.5);border-radius:9px;color:var(--gold-bright);display:grid;place-items:center;text-align:center;cursor:pointer;font-size:12px;font-weight:700}.visit-action-disclosure summary::-webkit-details-marker{display:none}.visit-action-disclosure[open] summary{background:rgba(216,168,62,.09)}.visit-action-disclosure form{display:grid;gap:8px;padding:10px 0 2px}.visit-action-disclosure p{margin:0;color:var(--muted);font-size:11px;line-height:1.4}
.quick-mark-form{display:grid;gap:9px;padding:12px;border:1px solid var(--line);border-radius:9px}.quick-mark-form fieldset{margin:0;padding:0;border:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.quick-mark-form legend{margin-bottom:6px;color:#9f978b;font-size:10px;text-transform:uppercase;letter-spacing:.045em}.quick-mark-form label{min-width:0;min-height:44px;padding:7px 8px;border:1px solid rgba(244,238,226,.16);border-radius:8px;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;cursor:pointer}.quick-mark-form input,.service-mark-choice input{appearance:none;flex:0 0 auto;width:20px;height:20px;margin:0;padding:0;border-radius:5px}.quick-mark-form input:checked,.service-mark-choice input:checked{border-color:var(--gold-bright);background:var(--gold-bright);box-shadow:inset 0 0 0 4px var(--action-ink)}.quick-mark-form label:has(input:checked){border-color:rgba(240,200,107,.52);color:var(--ivory);background:rgba(216,168,62,.06)}
.editor-section__heading p{max-width:62ch;margin:6px 0 0;color:var(--muted);font-size:12px}.service-mark-choices{margin:0;padding:0;border:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-mark-choice{min-height:72px;padding:12px;border:1px solid rgba(244,238,226,.17);border-radius:10px;background:#0d0c09;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px;cursor:pointer;transition:border-color .17s ease,background .17s ease}.service-mark-choice:hover{border-color:rgba(240,200,107,.46)}.service-mark-choice:has(input:checked){border-color:var(--gold);background:rgba(216,168,62,.06)}.service-mark-choice>span{min-width:0;display:grid;gap:2px}.service-mark-choice strong{color:var(--ivory);font-size:14px}.service-mark-choice small{color:#9f978b;font-size:11px;line-height:1.35}.service-mark-choice input:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.floorplan-service-marks circle{fill:var(--gold-bright);stroke:#0b0b08;stroke-width:1}.floorplan-service-marks text{fill:var(--action-ink);font-family:Euclid,sans-serif;font-size:6px;font-weight:700;text-anchor:middle;dominant-baseline:middle}.floorplan-visit-list{margin-top:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.floorplan-visit-list__heading{padding:13px 15px;border-bottom:1px solid var(--line);display:flex;align-items:baseline;justify-content:space-between;gap:16px}.floorplan-visit-list__heading h3{margin:0;font-size:15px}.floorplan-visit-list__heading p{margin:0;color:var(--muted);font-size:11px}.floorplan-visit-list__items{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.floorplan-visit-card{min-width:0;padding:10px;border-right:1px solid rgba(216,168,62,.12);border-bottom:1px solid rgba(216,168,62,.12);display:grid;align-content:start;gap:8px}.floorplan-visit-card__booking{min-width:0;min-height:56px;padding:8px;border:1px solid transparent;border-radius:8px;color:inherit;text-decoration:none;display:grid;gap:3px}.floorplan-visit-card__booking:is(a):hover{border-color:var(--line);background:rgba(255,255,255,.025)}.floorplan-visit-card__booking strong{font-size:14px}.floorplan-visit-card__booking>span:not(.visit-state):not(.reservation-marks){color:var(--muted);font-size:11px}.floorplan-visit-card__kind{color:var(--gold-bright)!important;font-size:10px!important;font-weight:700;text-transform:uppercase;letter-spacing:.035em}
.floorplan-operational-badge rect{fill:#501b1d;stroke:#ff9d97;stroke-width:1.2}.floorplan-operational-badge text{fill:#ffe3df;font-family:Euclid,sans-serif;text-anchor:middle;dominant-baseline:middle;font-weight:700}.floorplan-operational-badge__main{font-size:8.5px}.floorplan-operational-badge__sub{font-size:7.5px}.floorplan-operational-badge{pointer-events:none}.floorplan-key--operational{border-color:#ff9d97;background:#501b1d;box-shadow:inset 0 0 0 2px #211}
.table-board-booking--scheduled{background:rgba(216,168,62,.045)}.table-board-booking--scheduled>span:first-child,.table-board-booking--scheduled strong{color:var(--gold-bright)}.table-board-card.has-completed-visit .table-board-booking--scheduled>span:first-child,.table-board-card.has-completed-visit .table-board-booking--scheduled strong{color:#b9dcb5}.table-board-card.has-current-booking:not(.has-completed-visit) .table-board-card__state{color:var(--gold-bright)}.table-board-visit-action{padding:8px;border-bottom:1px solid var(--line);background:#0c0b08}.table-board-visit-action .button,.table-board-visit-action summary{min-height:44px;padding-inline:8px;font-size:11px}.table-board-visit-action .visit-action-disclosure form{padding-top:8px}.table-board-visit-action .visit-action-disclosure p{font-size:10px}

/* A selected table resolves to one safe, physical-occupancy action above both table views. */
.table-occupancy-rail{min-width:0;min-height:76px;margin:0 0 18px;border:1px solid var(--line);border-radius:12px;background:#0b0b08;scroll-margin-top:16px}.table-occupancy-rail.has-selection,.table-occupancy-rail:has(.table-occupancy-panel:target),.table-occupancy-rail:has(.table-occupancy-panel.is-selected){position:sticky;z-index:24;top:12px;border-color:var(--line-strong);background:var(--surface-raised)}.table-occupancy-rail__placeholder{min-height:74px;padding:12px 15px;display:flex;align-items:center;gap:12px;color:var(--muted)}.table-occupancy-rail__placeholder>svg{flex:0 0 auto;width:27px;height:27px;color:var(--gold-bright)}.table-occupancy-rail__placeholder>span{min-width:0;display:grid;gap:2px}.table-occupancy-rail__placeholder strong{color:var(--ivory);font-size:14px}.table-occupancy-rail__placeholder small{font-size:11px;line-height:1.35}.table-occupancy-rail.has-selection>.table-occupancy-rail__placeholder,.table-occupancy-rail:has(.table-occupancy-panel:target)>.table-occupancy-rail__placeholder,.table-occupancy-rail:has(.table-occupancy-panel.is-selected)>.table-occupancy-rail__placeholder{display:none}.table-occupancy-panel{display:none;min-width:0;min-height:74px;padding:11px 12px 11px 15px;grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:12px}.table-occupancy-panel:target,.table-occupancy-panel.is-selected{display:grid}.table-occupancy-panel:focus{outline:none}.table-occupancy-panel:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.table-occupancy-panel__status{min-width:0;display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:baseline;gap:3px 10px}.table-occupancy-panel__badge{min-height:24px;padding:3px 8px;border:1px solid rgba(117,164,111,.48);border-radius:7px;background:var(--green-bg);color:#b9dcb5;display:inline-flex;align-items:center;font-size:10px;font-weight:700;line-height:1.2}.table-occupancy-panel__status strong{min-width:0;color:var(--ivory);font-family:RoadRadio,sans-serif;font-size:19px;letter-spacing:-.02em;line-height:1.1;overflow-wrap:anywhere}.table-occupancy-panel__status small{grid-column:1/-1;min-width:0;color:#b9b0a3;font-size:11px;line-height:1.35;overflow-wrap:anywhere}.table-occupancy-panel.is-walk-in .table-occupancy-panel__badge,.table-occupancy-panel.is-reservation-occupied .table-occupancy-panel__badge{border-color:rgba(239,119,112,.56);background:var(--red-bg);color:#ffc3bf}.table-occupancy-panel.is-reservation-expected .table-occupancy-panel__badge{border-color:rgba(240,200,107,.48);background:#17140c;color:var(--gold-bright)}.table-occupancy-panel__actions{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:8px}.table-occupancy-panel__actions>form,.table-occupancy-panel__actions>.visit-action-disclosure{min-width:164px;margin:0}.table-occupancy-panel__actions .button,.table-occupancy-panel__actions summary{min-height:48px}.table-occupancy-panel__actions .visit-action-disclosure form{min-width:min(290px,100%);padding:9px 0 0}.table-occupancy-panel__primary .button{white-space:nowrap}.walk-in-leave-disclosure summary{border-color:rgba(239,119,112,.58);background:rgba(101,25,27,.18);color:#ffc3bf}.walk-in-leave-disclosure[open] summary{border-color:var(--red);background:var(--red-bg)}.table-occupancy-panel__close{min-height:44px;padding:0 8px;color:#aaa297;display:inline-flex;align-items:center;justify-content:center;font-size:11px;text-underline-offset:4px}.table-occupancy-panel__close:hover{color:var(--ivory)}.table-board-card.is-walk-in{border-color:rgba(239,119,112,.62)}.table-board-booking--walk-in span,.table-board-booking--walk-in strong{color:#ffc3bf}.table-board-card.is-occupancy-selected{border-color:var(--gold-bright)}.table-board-card__action.is-occupancy-selected{background:rgba(216,168,62,.08)}.floorplan-table-link.is-occupancy-selected .floorplan-table__surface{stroke:var(--focus);stroke-width:3.2}.floorplan-table--booking.has-walk-in .floorplan-table__surface{fill:var(--red-bg);stroke:var(--red)}

/* Server-computed five-minute positions keep the timeline CSP-safe without inline styles. */
.timeline-start-0{grid-row-start:1}
.timeline-start-1{grid-row-start:2}
.timeline-start-2{grid-row-start:3}
.timeline-start-3{grid-row-start:4}
.timeline-start-4{grid-row-start:5}
.timeline-start-5{grid-row-start:6}
.timeline-start-6{grid-row-start:7}
.timeline-start-7{grid-row-start:8}
.timeline-start-8{grid-row-start:9}
.timeline-start-9{grid-row-start:10}
.timeline-start-10{grid-row-start:11}
.timeline-start-11{grid-row-start:12}
.timeline-start-12{grid-row-start:13}
.timeline-start-13{grid-row-start:14}
.timeline-start-14{grid-row-start:15}
.timeline-start-15{grid-row-start:16}
.timeline-start-16{grid-row-start:17}
.timeline-start-17{grid-row-start:18}
.timeline-start-18{grid-row-start:19}
.timeline-start-19{grid-row-start:20}
.timeline-start-20{grid-row-start:21}
.timeline-start-21{grid-row-start:22}
.timeline-start-22{grid-row-start:23}
.timeline-start-23{grid-row-start:24}
.timeline-start-24{grid-row-start:25}
.timeline-start-25{grid-row-start:26}
.timeline-start-26{grid-row-start:27}
.timeline-start-27{grid-row-start:28}
.timeline-start-28{grid-row-start:29}
.timeline-start-29{grid-row-start:30}
.timeline-start-30{grid-row-start:31}
.timeline-start-31{grid-row-start:32}
.timeline-start-32{grid-row-start:33}
.timeline-start-33{grid-row-start:34}
.timeline-start-34{grid-row-start:35}
.timeline-start-35{grid-row-start:36}
.timeline-start-36{grid-row-start:37}
.timeline-start-37{grid-row-start:38}
.timeline-start-38{grid-row-start:39}
.timeline-start-39{grid-row-start:40}
.timeline-start-40{grid-row-start:41}
.timeline-start-41{grid-row-start:42}
.timeline-start-42{grid-row-start:43}
.timeline-start-43{grid-row-start:44}
.timeline-start-44{grid-row-start:45}
.timeline-start-45{grid-row-start:46}
.timeline-start-46{grid-row-start:47}
.timeline-start-47{grid-row-start:48}
.timeline-start-48{grid-row-start:49}
.timeline-start-49{grid-row-start:50}
.timeline-start-50{grid-row-start:51}
.timeline-start-51{grid-row-start:52}
.timeline-start-52{grid-row-start:53}
.timeline-start-53{grid-row-start:54}
.timeline-start-54{grid-row-start:55}
.timeline-start-55{grid-row-start:56}
.timeline-start-56{grid-row-start:57}
.timeline-start-57{grid-row-start:58}
.timeline-start-58{grid-row-start:59}
.timeline-start-59{grid-row-start:60}
.timeline-start-60{grid-row-start:61}
.timeline-start-61{grid-row-start:62}
.timeline-start-62{grid-row-start:63}
.timeline-start-63{grid-row-start:64}
.timeline-start-64{grid-row-start:65}
.timeline-start-65{grid-row-start:66}
.timeline-start-66{grid-row-start:67}
.timeline-start-67{grid-row-start:68}
.timeline-start-68{grid-row-start:69}
.timeline-start-69{grid-row-start:70}
.timeline-start-70{grid-row-start:71}
.timeline-start-71{grid-row-start:72}
.timeline-start-72{grid-row-start:73}
.timeline-start-73{grid-row-start:74}
.timeline-start-74{grid-row-start:75}
.timeline-start-75{grid-row-start:76}
.timeline-start-76{grid-row-start:77}
.timeline-start-77{grid-row-start:78}
.timeline-start-78{grid-row-start:79}
.timeline-start-79{grid-row-start:80}
.timeline-start-80{grid-row-start:81}
.timeline-start-81{grid-row-start:82}
.timeline-start-82{grid-row-start:83}
.timeline-start-83{grid-row-start:84}
.timeline-start-84{grid-row-start:85}
.timeline-start-85{grid-row-start:86}
.timeline-start-86{grid-row-start:87}
.timeline-start-87{grid-row-start:88}
.timeline-start-88{grid-row-start:89}
.timeline-start-89{grid-row-start:90}
.timeline-start-90{grid-row-start:91}
.timeline-start-91{grid-row-start:92}
.timeline-start-92{grid-row-start:93}
.timeline-start-93{grid-row-start:94}
.timeline-start-94{grid-row-start:95}
.timeline-start-95{grid-row-start:96}
.timeline-start-96{grid-row-start:97}
.timeline-start-97{grid-row-start:98}
.timeline-start-98{grid-row-start:99}
.timeline-start-99{grid-row-start:100}
.timeline-start-100{grid-row-start:101}
.timeline-start-101{grid-row-start:102}
.timeline-start-102{grid-row-start:103}
.timeline-start-103{grid-row-start:104}
.timeline-start-104{grid-row-start:105}
.timeline-start-105{grid-row-start:106}
.timeline-start-106{grid-row-start:107}
.timeline-start-107{grid-row-start:108}
.timeline-start-108{grid-row-start:109}
.timeline-start-109{grid-row-start:110}
.timeline-start-110{grid-row-start:111}
.timeline-start-111{grid-row-start:112}
.timeline-start-112{grid-row-start:113}
.timeline-start-113{grid-row-start:114}
.timeline-start-114{grid-row-start:115}
.timeline-start-115{grid-row-start:116}
.timeline-start-116{grid-row-start:117}
.timeline-start-117{grid-row-start:118}
.timeline-start-118{grid-row-start:119}
.timeline-start-119{grid-row-start:120}
.timeline-start-120{grid-row-start:121}
.timeline-start-121{grid-row-start:122}
.timeline-start-122{grid-row-start:123}
.timeline-start-123{grid-row-start:124}
.timeline-start-124{grid-row-start:125}
.timeline-start-125{grid-row-start:126}
.timeline-start-126{grid-row-start:127}
.timeline-start-127{grid-row-start:128}
.timeline-start-128{grid-row-start:129}
.timeline-start-129{grid-row-start:130}
.timeline-start-130{grid-row-start:131}
.timeline-start-131{grid-row-start:132}
.timeline-start-132{grid-row-start:133}
.timeline-start-133{grid-row-start:134}
.timeline-start-134{grid-row-start:135}
.timeline-start-135{grid-row-start:136}
.timeline-start-136{grid-row-start:137}
.timeline-start-137{grid-row-start:138}
.timeline-start-138{grid-row-start:139}
.timeline-start-139{grid-row-start:140}
.timeline-start-140{grid-row-start:141}
.timeline-start-141{grid-row-start:142}
.timeline-start-142{grid-row-start:143}
.timeline-start-143{grid-row-start:144}
.timeline-start-144{grid-row-start:145}
.timeline-lanes-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.timeline-lanes-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.timeline-lanes-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.timeline-lanes-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.timeline-lanes-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.timeline-lanes-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.timeline-lanes-7{grid-template-columns:repeat(7,minmax(0,1fr))}
.timeline-lanes-8{grid-template-columns:repeat(8,minmax(0,1fr))}
.timeline-lanes-9{grid-template-columns:repeat(9,minmax(0,1fr))}
.timeline-lanes-10{grid-template-columns:repeat(10,minmax(0,1fr))}
.timeline-lanes-11{grid-template-columns:repeat(11,minmax(0,1fr))}
.timeline-lanes-12{grid-template-columns:repeat(12,minmax(0,1fr))}
.timeline-lanes-13{grid-template-columns:repeat(13,minmax(0,1fr))}
.timeline-lanes-14{grid-template-columns:repeat(14,minmax(0,1fr))}
.timeline-lanes-15{grid-template-columns:repeat(15,minmax(0,1fr))}
.timeline-lanes-16{grid-template-columns:repeat(16,minmax(0,1fr))}
.timeline-lanes-17{grid-template-columns:repeat(17,minmax(0,1fr))}
.timeline-lanes-18{grid-template-columns:repeat(18,minmax(0,1fr))}
.timeline-lanes-19{grid-template-columns:repeat(19,minmax(0,1fr))}
.timeline-lanes-20{grid-template-columns:repeat(20,minmax(0,1fr))}
.timeline-lanes-21{grid-template-columns:repeat(21,minmax(0,1fr))}
.timeline-lanes-22{grid-template-columns:repeat(22,minmax(0,1fr))}
.timeline-lanes-23{grid-template-columns:repeat(23,minmax(0,1fr))}
.timeline-lanes-24{grid-template-columns:repeat(24,minmax(0,1fr))}
.timeline-lanes-25{grid-template-columns:repeat(25,minmax(0,1fr))}
.timeline-lanes-26{grid-template-columns:repeat(26,minmax(0,1fr))}
.timeline-lanes-27{grid-template-columns:repeat(27,minmax(0,1fr))}
.timeline-lanes-28{grid-template-columns:repeat(28,minmax(0,1fr))}
.timeline-lanes-29{grid-template-columns:repeat(29,minmax(0,1fr))}
.timeline-lanes-30{grid-template-columns:repeat(30,minmax(0,1fr))}
.timeline-lanes-31{grid-template-columns:repeat(31,minmax(0,1fr))}
.timeline-lanes-32{grid-template-columns:repeat(32,minmax(0,1fr))}
.timeline-lane-0{grid-column:1}
.timeline-lane-1{grid-column:2}
.timeline-lane-2{grid-column:3}
.timeline-lane-3{grid-column:4}
.timeline-lane-4{grid-column:5}
.timeline-lane-5{grid-column:6}
.timeline-lane-6{grid-column:7}
.timeline-lane-7{grid-column:8}
.timeline-lane-8{grid-column:9}
.timeline-lane-9{grid-column:10}
.timeline-lane-10{grid-column:11}
.timeline-lane-11{grid-column:12}
.timeline-lane-12{grid-column:13}
.timeline-lane-13{grid-column:14}
.timeline-lane-14{grid-column:15}
.timeline-lane-15{grid-column:16}
.timeline-lane-16{grid-column:17}
.timeline-lane-17{grid-column:18}
.timeline-lane-18{grid-column:19}
.timeline-lane-19{grid-column:20}
.timeline-lane-20{grid-column:21}
.timeline-lane-21{grid-column:22}
.timeline-lane-22{grid-column:23}
.timeline-lane-23{grid-column:24}
.timeline-lane-24{grid-column:25}
.timeline-lane-25{grid-column:26}
.timeline-lane-26{grid-column:27}
.timeline-lane-27{grid-column:28}
.timeline-lane-28{grid-column:29}
.timeline-lane-29{grid-column:30}
.timeline-lane-30{grid-column:31}
.timeline-lane-31{grid-column:32}

@keyframes reveal-board{from{opacity:.01;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes feedback-arrive{from{opacity:.01;transform:translateY(12px) scale(.98);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
.booking-form-panel,.dashboard-grid{animation:reveal-board .54s var(--ease) both}

@media (max-width:1180px){
  .app-shell{grid-template-columns:78px minmax(0,1fr)}.sidebar{padding-inline:9px}.sidebar-brand{margin-inline:-9px}.sidebar-nav a{justify-content:center;padding:0}.sidebar-nav a span{display:none}.sidebar-user{justify-content:center}.sidebar-user>span:last-child,.sidebar .logout-button{display:none}.dashboard-grid{grid-template-columns:minmax(0,1fr) 320px}.reservation-row>a{grid-template-columns:64px minmax(150px,1fr) 108px}.table-label{display:none}.users-layout{grid-template-columns:1fr 340px}.table-settings-head,.table-setting-row{grid-template-columns:70px minmax(100px,120px) minmax(130px,160px) 110px 104px}
}
@media (min-width:701px) and (max-width:1180px){.sidebar>form{width:44px;margin:0 auto}.sidebar .logout-button{display:grid;place-items:center;width:44px;height:44px;padding:0}.sidebar .logout-button svg{display:block}.sidebar .logout-button span{display:none}}
@media (max-width:920px){
  .booking-shell{width:min(680px,calc(100% - 40px));grid-template-columns:1fr;gap:38px;padding-top:54px}.booking-intro{position:static}.booking-intro h1{font-size:clamp(54px,12vw,78px);max-width:11ch}.service-facts{max-width:560px}
  .dashboard-grid{grid-template-columns:1fr}.work-panel{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr}.pending-panel{border-bottom:0;border-right:1px solid var(--line)}.dashboard-grid{min-height:0}.reservation-row>a{grid-template-columns:70px minmax(150px,1fr) 108px 74px}.table-label{display:block}.archive-filter{grid-template-columns:1fr 1fr}.archive-filter .search-field{grid-column:1/-1}.users-layout{grid-template-columns:1fr}.table-editor-heading{align-items:flex-start;flex-direction:column;gap:7px}.table-editor-heading p{text-align:left}.table-settings-list{background:transparent;border:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.table-settings-head{display:none}.table-setting-row{grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:14px}.table-setting-row>strong{grid-column:1/-1}.mobile-label{position:static!important;width:auto!important;height:auto!important;padding:0!important;margin:0 0 5px!important;overflow:visible!important;clip:auto!important;white-space:normal!important;border:0!important;display:block;color:#9f978b;font-size:11px}.table-setting-row>.button{align-self:end}
  .booking-floorplan .floorplan-swipe-hint{min-height:44px;margin:0;padding:8px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;color:var(--gold-bright);font-size:12px}.booking-floorplan .floorplan-swipe-hint svg{flex:0 0 auto;width:20px;height:20px}
}
@media (min-width:701px) and (max-width:920px){.date-actions>.button--compact{width:44px;padding:0}.date-actions>.button--compact span{display:none}}
@media (max-width:700px){
  .feedback-dialog{width:calc(100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);border-radius:14px}.feedback-dialog__surface{padding:22px 18px}.feedback-dialog__header{grid-template-columns:50px minmax(0,1fr);gap:13px;padding-bottom:19px}.feedback-dialog__icon{width:50px;height:50px;border-radius:11px}.feedback-dialog__icon svg{width:31px;height:31px}.feedback-dialog__header h2{margin-top:1px;font-size:28px}.feedback-dialog__header p{grid-column:1/-1;font-size:15px}.feedback-dialog__messages{padding:19px 0 21px}.feedback-dialog__messages p{padding:13px 14px;font-size:16px}.feedback-dialog__actions{display:block}.feedback-dialog__confirm{width:100%;min-height:52px}
  .public-header{height:76px;padding:10px 16px}.brand img{width:94px;height:56px}.public-header .quiet-link{font-size:12px}.booking-shell{width:calc(100% - 28px);padding:36px 0 64px;gap:32px}.booking-intro{padding-top:0}.booking-intro h1{font-size:clamp(45px,15vw,64px);margin-bottom:20px}.intro-copy{font-size:16px;margin-bottom:26px}.service-facts{margin-bottom:20px}.booking-form-panel{border-inline-color:var(--line)}.form-heading,.booking-form{padding-inline:18px}.form-heading{align-items:start;flex-direction:column}.form-grid,.form-grid--three,.form-grid--booking{grid-template-columns:minmax(0,1fr)}
  .form-grid--single{max-width:none}.booking-mode-choices--staff{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-mode-choices--staff>.booking-mode-choice:first-child{grid-column:1/-1}.booking-table-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-table-choice{min-height:86px;padding:9px 8px;gap:7px}.booking-table-choice__capacity{white-space:normal}.booking-table-picker__help{font-size:11px}.booking-table-summary{padding-inline:11px}.booking-table-summary__clear{grid-column:2/-1;justify-self:start}
  .login-page{padding:14px}.login-shell{grid-template-columns:1fr}.login-brand{padding:28px}.login-brand img{width:110px;margin-bottom:24px}.login-brand h1{font-size:42px}.login-panel{padding:30px 24px}
  .app-shell{display:block}.sidebar{position:sticky;top:0;width:100%;height:66px;padding:0 10px;display:grid;grid-template-columns:58px 1fr auto;align-items:center;border-right:0;border-bottom:1px solid var(--line)}.sidebar-brand{height:65px;margin:0;border:0;justify-content:start}.sidebar-brand img{width:58px;height:48px}.sidebar-nav{display:flex;justify-content:center;gap:2px}.sidebar-nav a{width:44px;min-height:44px}.sidebar-nav a span{display:none}.sidebar-user{margin:0;padding:0;border:0}.sidebar-user>span:last-child,.sidebar form{display:none}.user-avatar{width:34px;height:34px}.dashboard,.editor-page,.archive-page,.settings-page,.tables-page,.users-page{padding:16px 14px 28px}.dashboard-header,.page-header{min-height:0;align-items:flex-start;margin-bottom:14px;padding-bottom:14px}.dashboard-header h1,.page-header h1{font-size:34px}.dashboard-header p{font-size:11px}.date-actions{flex-wrap:wrap;justify-content:flex-end}.date-actions>.icon-button:first-child{display:none}.compact-date input{width:135px}.button--compact span{display:none}.button--compact{width:44px;padding:0}.filter-bar{grid-template-columns:1fr auto}.filter-bar .search-field{grid-column:1/-1}.filter-bar select{min-width:0}.filter-bar .button{width:auto;padding-inline:14px}.dashboard-grid{border-radius:10px}.section-heading{padding-inline:13px}.reservation-row>a{grid-template-columns:57px minmax(0,1fr);gap:8px;padding:9px 8px;min-height:70px}.reservation-row .status-badge{grid-column:2}.table-label{grid-column:1;grid-row:2;text-align:left}.work-panel{order:-1;grid-template-columns:1fr;border-top:0;border-bottom:1px solid var(--line)}.pending-panel{border-right:0;border-bottom:1px solid var(--line)}.timeline-canvas{left:58px;right:5px;gap:0 3px}.timeline-scale>div:after{left:54px}.timeline-labels{width:58px}.timeline-labels time{margin-left:8px;font-size:11px}.timeline-labels .timeline-close{left:8px}.timeline-card>a{padding:6px}.timeline-card__head{gap:5px}.timeline-card__head time{font-size:11px}.timeline-card__head strong{font-size:11px}.timeline-card__foot>span:last-child{display:none}.ledger-legend{padding:10px 12px;flex-wrap:wrap;height:auto}.ledger-legend small{width:100%;margin:0}.editor-section{padding:17px}.editor-actions{display:grid}.archive-filter{grid-template-columns:1fr}.archive-filter .search-field{grid-column:auto}.setting-row{grid-template-columns:1fr;padding:18px;gap:15px}.setting-row--static>strong{text-align:left}.settings-form>.button{margin:18px}.tables-page__header{display:grid}.readiness-badge{justify-self:start}.floor-tabs{margin-inline:-14px;padding-inline:14px}.floor-tab{min-width:148px}.floor-panel__heading{align-items:flex-start;flex-direction:column;gap:8px}.floor-panel__heading>span{text-align:left}.floorplan-frame{margin-inline:-14px;border-radius:0;border-inline:0}.floorplan-map{min-width:680px}.floorplan-legend{align-items:flex-start;flex-wrap:wrap;gap:9px 16px}.floorplan-legend small{width:100%;margin:0}.floorplan-empty{padding:20px;align-items:flex-start}.table-settings-list{grid-template-columns:1fr}.table-setting-row{scroll-margin-top:74px}.users-layout{grid-template-columns:1fr}.user-list,.new-user-panel{padding:17px}.user-account-forms{padding-left:0}.reset-password-form{grid-template-columns:1fr}
}
@media (max-width:700px){.dashboard-header{display:grid;grid-template-columns:1fr}.date-actions{width:100%;display:grid;grid-template-columns:max-content minmax(0,1fr) 44px 44px}.today-button{padding-inline:9px;font-size:12px}.compact-date,.compact-date label,.compact-date input{width:100%}}
@media (max-width:700px){.floorplan-swipe-hint{min-height:44px;margin:0;padding:8px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;color:var(--gold-bright);font-size:12px}.floorplan-swipe-hint svg{flex:0 0 auto;width:20px;height:20px}.table-jump-nav{grid-template-columns:1fr;gap:8px}.table-jump-nav>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:6px}.table-jump-nav a{width:auto}}
@media (max-width:700px){
  .sidebar{height:112px;padding:0 10px;grid-template-columns:58px minmax(0,1fr) 44px;grid-template-rows:58px 53px;align-items:center}.sidebar-brand{grid-column:1;grid-row:1;height:58px}.sidebar-brand img{width:54px;height:46px}.sidebar>form{display:block;grid-column:2;grid-row:1;justify-self:end;margin-right:6px}.sidebar .logout-button{display:grid;place-items:center;width:44px;height:44px;padding:0}.sidebar .logout-button svg{display:block}.sidebar .logout-button span{display:none}.sidebar-user{grid-column:3;grid-row:1;justify-self:end}.sidebar-nav{grid-column:1/-1;grid-row:2;width:100%;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(44px,1fr);justify-content:stretch;gap:2px}.sidebar-nav a{width:auto;min-width:44px;min-height:44px}.table-setting-row{scroll-margin-top:120px}
  .floorplan-booking-header{display:flex}.floorplan-booking-header>div{min-width:0}.floorplan-booking-header>.button{margin-top:1px}.floorplan-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-bottom:12px}.floorplan-control--date,.floorplan-controls__submit{grid-column:1/-1}.floorplan-shift-summary{align-items:flex-start;gap:5px 8px;padding-inline:0}.floorplan-shift-summary>span:last-child{width:100%}.floorplan-map--booking{min-width:680px}.floorplan-booking-legend>span{width:100%}.floorplan-unpositioned{grid-template-columns:1fr;gap:8px}.floorplan-unpositioned>span{padding-top:0}.floorplan-unpositioned>div{display:grid;grid-template-columns:1fr}.floorplan-unpositioned a,.floorplan-unpositioned>div>span{width:100%}
}
@media (max-width:700px){.floorplan-map,.floorplan-map--booking{min-width:880px}}
@media (max-width:390px){.date-actions{grid-template-columns:max-content minmax(0,1fr);gap:5px}.date-actions>.compact-date+.icon-button{justify-self:end}.date-actions>.button--primary{width:100%;padding-inline:14px}.date-actions>.button--primary span{display:inline}.compact-date input{width:100%}.dashboard-header h1{font-size:29px}.form-heading,.booking-form{padding-inline:15px}.booking-form{padding-block:20px}.service-facts>div{grid-template-columns:94px 1fr}.success-shell{padding:26px 18px}}
@media (max-width:390px){.booking-mode-choice>span{min-height:60px;padding:8px}.booking-mode-choice strong{font-size:12px}.booking-table-grid{gap:6px}.booking-table-choice{grid-template-columns:18px minmax(0,1fr);padding:8px 7px;gap:6px}.booking-table-choice>input{width:18px;height:18px}.booking-table-choice__number strong{font-size:18px}.booking-table-choice__capacity{font-size:9px}.booking-table-summary{grid-template-columns:21px minmax(0,1fr)}.booking-table-summary>svg{width:21px;height:21px}}
@media (max-width:700px){.table-board-header{display:grid}.table-board-header__actions{width:100%;justify-content:space-between}.table-board-now{padding-left:0;text-align:left}.table-board-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;overflow:visible}.table-board-tabs .floor-tab{min-width:0;padding-inline:10px;display:grid;justify-content:start;gap:2px}.table-board-tabs .floor-tab small{font-size:10px}.table-board-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.table-board-card__action{padding-inline:10px}.table-board-floor__heading{margin-bottom:12px}}
@media (max-width:390px){.table-board-card__number{font-size:31px}.table-board-card__state,.table-board-booking span{font-size:9px}.table-board-booking strong{font-size:10px}}
@media (max-width:700px){
  .date-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;gap:6px}.date-actions>.today-button{grid-column:1;grid-row:1}.date-actions>.tomorrow-button{grid-column:2;grid-row:1}.date-actions>.button--primary{grid-column:3;grid-row:1;width:44px;padding:0}.date-actions>.button--primary span{display:none}.date-actions>.compact-date{grid-column:1/3;grid-row:2;width:100%}.date-actions>.compact-date+.icon-button{grid-column:3;grid-row:2;justify-self:end}.tomorrow-button,.today-button{width:100%;padding-inline:8px;font-size:12px}.service-mark-choices{grid-template-columns:1fr}.floorplan-visit-list__heading{align-items:flex-start;flex-direction:column;gap:4px}.floorplan-visit-list__items{grid-template-columns:1fr}.quick-mark-form fieldset{grid-template-columns:1fr}.timeline-card__meta .reservation-mark{font-size:10px}
}
@media (max-width:390px){.date-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;gap:5px}.date-actions>.button--primary{width:44px;padding:0}.date-actions>.button--primary span{display:none}.table-board-visit-action{padding:6px}.table-board-visit-action .button,.table-board-visit-action summary{font-size:10px}.table-board-card__action{min-height:102px}.timeline-card.has-service-marks>a{padding:3px 4px;gap:1px}.timeline-card.has-service-marks .timeline-card__head{gap:3px;line-height:1}.timeline-card.has-service-marks .timeline-card__head time,.timeline-card.has-service-marks .timeline-card__head strong{font-size:9px}.timeline-card.has-service-marks .timeline-card__meta>.reservation-marks{width:auto;max-width:100%;flex-direction:column;align-items:flex-start;gap:1px}.timeline-card.has-service-marks .timeline-card__meta .reservation-mark{min-height:13px;padding:0 2px;font-size:8px}}
@media (max-width:700px){.table-occupancy-rail{scroll-margin-top:124px}.table-occupancy-rail.has-selection,.table-occupancy-rail:has(.table-occupancy-panel:target),.table-occupancy-rail:has(.table-occupancy-panel.is-selected){position:relative;top:auto;z-index:auto}.table-occupancy-panel{padding:13px;grid-template-columns:minmax(0,1fr);gap:11px}.table-occupancy-panel__status{grid-template-columns:minmax(0,max-content) minmax(0,1fr)}.table-occupancy-panel__actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);justify-content:stretch}.table-occupancy-panel__actions>form,.table-occupancy-panel__actions>.visit-action-disclosure{min-width:0;width:100%}.table-occupancy-panel__actions>.visit-action-disclosure{grid-column:1/-1}.table-occupancy-panel__actions>.visit-action-disclosure:not([open]){grid-column:auto}.table-occupancy-panel__actions>.visit-action-disclosure[open],.table-occupancy-panel__actions>.visit-action-disclosure[open]+.button{grid-column:1/-1}.table-occupancy-panel__actions>.button{width:100%;padding-inline:12px}.table-occupancy-panel__primary .button{padding-inline:12px}.table-occupancy-panel__close{padding-inline:10px}.floorplan-booking-header{display:block}}
@media (max-width:390px){.table-occupancy-rail__placeholder{padding-inline:12px}.table-occupancy-panel__status{grid-template-columns:minmax(0,1fr)}.table-occupancy-panel__status small{grid-column:1}.table-occupancy-panel__actions{grid-template-columns:minmax(0,1fr)}.table-occupancy-panel__actions>.visit-action-disclosure:not([open]),.table-occupancy-panel__actions>.button{grid-column:1}.table-occupancy-panel__close{min-height:44px}.table-occupancy-panel__status strong{font-size:18px}}
.table-occupancy-rail.is-enhanced .table-occupancy-panel{display:none}.table-occupancy-rail.is-enhanced .table-occupancy-panel.is-selected{display:grid}.table-occupancy-rail:not(.is-enhanced):has(.table-occupancy-panel.is-selected) .table-occupancy-panel:target:not(.is-selected){display:none}.table-occupancy-rail.is-enhanced:not(.has-selection)>.table-occupancy-rail__placeholder{display:flex}.table-occupancy-rail.is-enhanced:not(.has-selection){position:static;top:auto;z-index:auto;border-color:var(--line);background:#0b0b08}
@media (max-width:700px){.date-actions{grid-template-columns:repeat(2,minmax(0,1fr)) 44px;gap:6px}.date-actions>.icon-button:first-child{display:grid;grid-column:1;grid-row:2;justify-self:start}.date-actions>.today-button{grid-column:1;grid-row:1}.date-actions>.tomorrow-button{grid-column:2;grid-row:1}.date-actions>.button--primary{grid-column:3;grid-row:1;width:44px;padding:0}.date-actions>.button--primary span{display:none}.date-actions>.compact-date{z-index:1;grid-column:1/4;grid-row:2;width:auto;margin-inline:50px}.date-actions>.compact-date+.icon-button{z-index:2;grid-column:3;grid-row:2;justify-self:end}.tomorrow-button,.today-button{width:100%;padding-inline:8px;font-size:12px}}
@media (max-width:390px){.date-actions{grid-template-columns:repeat(2,minmax(0,1fr)) 44px;gap:5px}.date-actions>.compact-date{margin-inline:49px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
