.app-error{justify-content:center;padding:4rem 1rem;display:flex}.app-error-card{border:1px solid var(--border);background:var(--surface);width:100%;max-width:30rem;color:var(--text);box-shadow:var(--shadow-card);border-radius:14px;padding:1.75rem 1.5rem}.app-error-title{margin:0 0 .6rem;font-size:1.35rem;line-height:1.25}.app-error-text{color:var(--muted);margin:0 0 1.4rem;line-height:1.5}.app-error-actions{flex-wrap:wrap;gap:.6rem;display:flex}@media (width<=480px){.app-error{padding:2rem 1rem}.app-error-actions button{flex:auto}}.confirm-dialog{border:1px solid var(--border);background:var(--surface);width:min(26rem,100vw - 2rem);color:var(--text);box-shadow:var(--shadow-pop);border-radius:12px;padding:0}.confirm-dialog::backdrop{background:#10101866}.confirm-dialog-body{flex-direction:column;gap:.6rem;padding:1.25rem;display:flex}.confirm-dialog h2{margin:0;font-size:1.1rem}.confirm-dialog p{margin:0;line-height:1.45}.confirm-dialog-actions{justify-content:flex-end;gap:.5rem;margin-top:.6rem;display:flex}.confirm-dialog-field{flex-direction:column;gap:.3rem;font-weight:600;display:flex}.confirm-dialog-field input{font-weight:400}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f6f6f7;--surface:#fff;--surface-2:#f1f1f3;--surface-3:#e9e9ec;--text:#18181b;--muted:#55555f;--faint:#62626c;--border:#e4e4e8;--line-strong:#d2d2d8;--accent:#2b44c9;--accent-hover:#2239b0;--accent-text:#fff;--accent-soft:#eaedfc;--ok-bg:#e6f5ec;--ok-text:#16713c;--warn-bg:#fdf3e1;--warn-text:#8f5600;--today:#e0a800;--today-text:#1a1400;--shadow-card:0 1px 2px #1010180a;--shadow-pop:0 1px 2px #1010180f, 0 8px 24px -6px #10101824;font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;color:var(--text);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Geist Variable,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111114;--surface:#1a1a1f;--surface-2:#202026;--surface-3:#2a2a31;--text:#ececf1;--muted:#a3a3ad;--faint:#8c8c96;--border:#2c2c33;--line-strong:#3d3d46;--accent:#7088ff;--accent-hover:#8a9dff;--accent-text:#0d0f1a;--accent-soft:#1f2547;--ok-bg:#12301f;--ok-text:#6fd69a;--warn-bg:#352710;--warn-text:#f0b85a;--today:#f5c542;--today-text:#1a1400;--danger:#ff7b72;--danger-bg:#3a1716;--info-bg:#142a45;--info-text:#82b4f0;--tooltip-bg:#3a3a43;--closure-a:#3a1d1c;--closure-b:#2a1615;--tone-pending-line:#7a5a22;--tone-confirmed-line:#2f4c78;--tone-checked-in-line:#2f6b47;--shadow-card:0 1px 2px #0000004d;--shadow-pop:0 1px 2px #0006, 0 8px 24px -6px #0009}*{box-sizing:border-box}body{background:var(--bg);margin:0}::selection{background:color-mix(in srgb, var(--accent) 22%, transparent)}h1{letter-spacing:-.015em;margin:0 0 1rem;font-size:1.5rem;font-weight:600}a{color:var(--accent)}.muted{color:var(--muted)}.center{text-align:center;margin-top:4rem}.error{color:var(--danger)}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:10px;padding:1.25rem}.banner{border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem}.banner.ok{background:var(--ok-bg);color:var(--ok-text)}.banner.warn{background:var(--warn-bg);color:var(--warn-text)}.banner.danger{background:var(--danger-bg,#fdecec);color:var(--danger,#b42323)}.facts{grid-template-columns:max-content 1fr;gap:.5rem 1.5rem;margin:0 0 1.25rem;display:grid}.facts dt{color:var(--muted)}.facts dd{overflow-wrap:anywhere;margin:0}.pill{border-radius:4px;padding:.05rem .4rem;font-size:.75rem;font-weight:600}.pill.sandbox{background:var(--warn-bg);color:var(--warn-text)}.pill.production{background:var(--ok-bg);color:var(--ok-text)}.actions{flex-wrap:wrap;gap:.75rem;display:flex}button{font:inherit;cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);border-radius:6px;padding:.45rem .9rem;font-weight:500;transition:background-color .12s,border-color .12s}:is(.shell,.login) button:not([class]):hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}:is(.shell,.login) button.secondary:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}:is(.shell,.login) button.link:hover:not(:disabled){color:var(--accent-hover);background:0 0}button:disabled{opacity:.6;cursor:default}button.secondary{color:var(--accent);background:0 0}button.link{color:var(--accent);background:0 0;border:none;padding:0;text-decoration:underline}.login{place-items:center;min-height:100vh;padding:1rem;display:grid}.login .card{flex-direction:column;gap:1rem;width:100%;max-width:360px;display:flex}label,.field{flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}input{font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);border-radius:6px;padding:.45rem .6rem}@media (width<=600px){.facts{grid-template-columns:1fr;gap:.15rem}.facts dd{margin-bottom:.5rem}}h2{margin:0;font-size:1.1rem}.small{font-size:.85rem}.ok-text{color:var(--ok-text)}.warn-text{color:var(--warn-text)}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.row.between{justify-content:space-between;margin-bottom:.75rem}.stack{flex-direction:column;gap:.75rem;display:flex}.card+.card,.card.stack{margin-bottom:1rem}.inactive{opacity:.55}.pill{background:var(--surface-3);color:var(--text);margin-left:.35rem}.ok-pill{background:var(--ok-bg);color:var(--ok-text)}.banner:not(.ok):not(.warn){background:var(--bg);border:1px solid var(--border)}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:.45rem .5rem}th{color:var(--muted);background:var(--surface-2);font-size:.8rem;font-weight:500}td input{width:100%;min-width:4rem}td input[type=checkbox]{width:auto;min-width:0}.actions-cell{white-space:nowrap;text-align:right}.actions-cell button+button{margin-left:.75rem}.new-row td{background:var(--bg)}select{font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);border-radius:6px;padding:.45rem .6rem}select.item-picker{max-width:100%}@media (width<=600px){select.item-picker{width:100%}}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1rem;display:flex}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem 1.25rem;margin-bottom:1rem;display:grid}.form-grid .full{grid-column:1/-1}label.check{flex-direction:row;align-items:center;gap:.5rem}.day-row{border-bottom:1px solid var(--border);grid-template-columns:7.5rem 1fr;gap:1rem;padding:.5rem 0;display:grid}.setting-row{flex-direction:column;gap:.35rem;max-width:420px;display:flex}.card{overflow-x:auto}@media (width<=600px){.day-row{grid-template-columns:1fr;gap:.35rem}}:root{--danger:#b42323;--danger-bg:#fdecec;--info-bg:#e9f1fb;--info-text:#255f9e}a.button,.button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);border-radius:6px;padding:.45rem .9rem;font-weight:500;text-decoration:none;display:inline-block}a.button.secondary{color:var(--accent);background:0 0}button.danger{background:var(--surface);color:var(--danger);border-color:var(--danger)}.shell button.danger:hover:not(:disabled){background:var(--danger-bg);border-color:var(--danger)}button.link.danger,.shell button.link.danger:hover:not(:disabled){color:var(--danger);background:0 0}.more-menu{display:inline-block;position:relative}.more-menu-toggle{align-items:center;gap:.3rem;display:inline-flex}.more-menu-panel{z-index:30;background:var(--surface);border:1px solid var(--border);min-width:12rem;box-shadow:var(--shadow-pop);border-radius:8px;flex-direction:column;padding:.25rem;display:flex;position:absolute;top:calc(100% + 4px);right:0}.more-menu-panel .menu-item{text-align:left;white-space:nowrap;width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:5px;padding:.4rem .6rem;font-weight:500;text-decoration:none;display:block}.shell .more-menu-panel .menu-item:hover:not(:disabled){background:var(--surface-2)}.more-menu-panel .menu-item.danger{color:var(--danger)}.shell .more-menu-panel .menu-item.danger:hover:not(:disabled){background:var(--danger-bg)}.more-menu-panel .menu-sep{border:none;border-top:1px solid var(--border);margin:.25rem 0}.booking-actions{justify-content:flex-end;margin-left:auto}.action-with-help{align-items:center;gap:.25rem;display:inline-flex}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}textarea{font:inherit;border:1px solid var(--line-strong);resize:vertical;background:var(--surface);color:var(--text);border-radius:6px;padding:.45rem .6rem}.grow{flex:1;min-width:12rem}.big{font-size:1.15rem;font-weight:600}.money-receipt{background:var(--surface-2,color-mix(in srgb, var(--text,#000) 4%, transparent));border-radius:10px;gap:.75rem;margin-bottom:1rem;padding:1rem 1.1rem;display:grid}.booker-answers{gap:.2rem;margin:0;display:grid}.booker-answers>div{gap:.5rem;display:flex}.booked-items{gap:.15rem;margin:0;padding-left:1.1rem;font-weight:600;display:grid}.booked-items .muted{font-weight:400}.booking-for{margin:0;font-size:1.15rem}.booking-for .small{font-size:.85rem}.booker-answers dt{color:var(--muted);margin:0}.booker-answers dt:after{content:":"}.booker-answers dd{margin:0;font-weight:600}.receipt-lines{gap:.3rem;margin:0;display:grid}.receipt-lines>div{justify-content:space-between;gap:1rem;display:flex}.receipt-lines dt{color:var(--muted);margin:0}.receipt-lines dd{font-variant-numeric:tabular-nums;text-align:right;margin:0}.receipt-lines .receipt-total{border-top:1px solid var(--border);margin-top:.25rem;padding-top:.5rem;font-weight:700}.receipt-lines .receipt-total dt{color:inherit}.receipt-lines .receipt-muted{opacity:.75;font-size:.9em}.receipt-due{border-top:2px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0 1rem;padding-top:.75rem;display:flex}.receipt-due-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:600}.receipt-due-value{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700}.receipt-due.paid .receipt-due-value{color:var(--ok,inherit)}.receipt-due-note{flex-basis:100%}.plain{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.warn-pill{background:var(--warn-bg);color:var(--warn-text)}.clickable{cursor:pointer}.clickable:hover td{background:var(--surface-2)}.attention-row td{background:var(--warn-bg)}.attention-card{border-color:var(--warn-text)}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;display:grid}.detail-grid .card{margin-bottom:0}.history{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.email-body{white-space:pre-wrap;background:var(--bg);border-radius:6px;margin:0;padding:.75rem;font-family:inherit}code{background:var(--bg);border-radius:4px;padding:0 .25rem;font-size:.85em}.status{white-space:nowrap;border-radius:4px;padding:.05rem .45rem;font-size:.75rem;font-weight:600;display:inline-block}.status-pending{background:var(--warn-bg);color:var(--warn-text)}.status-confirmed{background:var(--info-bg);color:var(--info-text)}.status-completed{background:var(--ok-bg);color:var(--ok-text)}.status-expired,.status-cancelled,.status-no_show{background:var(--surface-3);color:var(--muted)}.status-on_hold{background:var(--warn-bg);color:var(--warn-text)}.toolbar{justify-content:space-between;margin-bottom:.75rem}:where(input[type=search]){width:22rem;max-width:100%}.search-field{flex:22rem;max-width:32rem}.search-field input{width:100%}.tabs{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:.25rem;padding:.2rem;display:flex}.tab{color:var(--muted);background:0 0;border:none;padding:.35rem .8rem}.shell .tab:hover:not(:disabled){background:var(--surface-2);color:var(--text);border:none}.tab.active,.shell .tab.active:hover{background:var(--accent);color:var(--accent-text)}.slots{flex-wrap:wrap;gap:.4rem;display:flex}.slot{background:var(--surface);color:var(--text);border-color:var(--border);padding:.45rem .7rem}.shell .slot:hover:not(:disabled,.selected){border-color:var(--accent);background:var(--accent-soft)}.slot.selected{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.slot:disabled{text-decoration:line-through}.chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.3rem .7rem}input.money{text-align:right;width:7rem}.money-field{vertical-align:top;white-space:normal;flex-direction:column;align-items:flex-end;gap:.2rem;display:inline-flex}.money-field .error{text-align:right;max-width:16rem}input[aria-invalid=true]{border-color:var(--danger)}input.qty{width:4.5rem}.chosen{background:var(--bg);border-radius:6px;padding:.75rem}.picker-results{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.public{flex-direction:column;gap:1rem;max-width:680px;margin:0 auto;padding:1rem;display:flex}.public-header{justify-content:space-between;align-items:center;padding-top:.5rem;display:flex}.public .card{margin:0}.waiver-text{white-space:pre-wrap;border:1px solid var(--border);background:var(--bg);border-radius:6px;max-height:45vh;padding:1rem;line-height:1.5;overflow-y:auto}.waiver-text .wt-line,.waiver-text .wt-h1,.waiver-text .wt-h2{margin:0}.waiver-text .wt-h1{margin:.25rem 0;font-size:1.15rem}.waiver-text .wt-h2{margin:.15rem 0;font-size:1rem}.waiver-text .wt-blank{height:.75em}.waiver-text .wt-item{gap:.5rem;padding-left:.5rem;display:flex}.waiver-text .wt-marker{flex:none;min-width:1.1rem}.waiver-editor-tools{flex-wrap:wrap;gap:.25rem;display:flex}.waiver-editor-tools button{min-width:2.2rem;padding:.2rem .6rem}.signature canvas{border:2px dashed var(--border);touch-action:none;background:#fff;border-radius:8px;width:100%;display:block}@media (width<=600px){.toolbar input{width:100%}}.walk-ins summary{cursor:pointer;color:var(--accent);margin-top:.5rem}.compact-list{margin:0;padding:0;list-style:none}.compact-list>li{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.5rem 0;display:flex}.compact-list>li:last-child{border-bottom:0}.party-more{display:inline-block}.party-more>summary{cursor:pointer;list-style:none}.party-more>summary::-webkit-details-marker{display:none}.party-more[open]>div{justify-content:flex-end;margin-top:.25rem}.compact-main{flex:1;min-width:0}.compact-main .pill{margin-left:.35rem}.compact-list button{white-space:nowrap;flex-shrink:0}.compact-actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.compact-full{flex-basis:100%}.help{vertical-align:middle;text-transform:none;letter-spacing:normal;margin-left:.3rem;font-weight:400;display:inline-flex;position:relative}.help-icon{border:1px solid var(--muted);width:1rem;height:1rem;color:var(--muted);cursor:help;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;font:italic 700 .65rem/1 Georgia,serif;display:inline-flex}.help-icon:hover,.help-icon:focus-visible,.help.open .help-icon{border-color:var(--accent);color:var(--accent);outline:none}.help-text{z-index:1000;left:var(--help-left,0);top:var(--help-top,0);background:var(--tooltip-bg,#2b2b2b);color:#fff;white-space:normal;text-align:left;border-radius:6px;width:max-content;max-width:min(18rem,80vw);padding:.5rem .65rem;font-size:.8rem;font-weight:400;line-height:1.35;display:none;position:fixed;box-shadow:0 4px 14px #0000002e}.help.open .help-text{display:block}.activity-block{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.75rem;padding:.75rem 1rem 1rem;display:flex}.activity-block legend{align-items:center;gap:.75rem;padding:0 .35rem;font-weight:600;display:flex}.visit-date{max-width:16rem;font-size:1rem;font-weight:600}.visit-date input{padding:.6rem .75rem;font-size:1.05rem;font-weight:600}.activity-list{flex-direction:column;gap:.5rem;margin:0;padding-left:1.2rem;display:flex}.stack>h1,.stack>.row.between,.stack>.toolbar,.stack>.inline-form{margin-bottom:0}.row.between{align-items:center}.row.between>h1,.row.between>h2{margin:0}h1+p,h1+.muted{margin-top:0}.stack>p{margin:0}label:has(>.help){flex-flow:wrap;align-items:center;column-gap:0}label:has(>.help)>:not(.help){flex:1 0 100%;order:1}label:has(>.help)>.help{margin-left:.3rem}label.check:has(>.help){flex-wrap:nowrap}label.check:has(>.help)>:not(.help){flex:none;order:0}.form-grid{align-items:end}.inline-form>label,.inline-form>div{justify-content:flex-end}th,.nowrap{white-space:nowrap}.actions-cell>*+*{margin-left:.75rem}.shell :is(input:not([type=checkbox]):not([type=radio]),select),.inline-form>label.check{min-height:2.25rem}.detail-grid-wide{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}@media (width>=900px){.detail-grid-wide{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}.image-setting{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.image-setting-preview{object-fit:contain;border:1px solid var(--border);background:repeating-conic-gradient(#0000000d 0 25%, transparent 0 50%) 50% / 16px 16px;border-radius:6px;max-width:200px;max-height:64px;padding:.25rem}.menu-collapse-all{justify-content:flex-end;gap:1rem;margin-bottom:.5rem}.menu-cat-toggle{color:inherit;font:inherit;background:0 0;border:none;align-items:center;gap:.4rem;padding:0;display:inline-flex}.menu-cat-toggle:hover .menu-cat-chevron,.menu-cat-toggle:focus-visible .menu-cat-chevron{color:var(--accent)}.menu-cat-chevron{width:1em;color:var(--muted);display:inline-block}.menu-cat-count{margin-left:.5rem;font-weight:400}.review-stars{color:#e0202c;letter-spacing:.05em;white-space:nowrap}.review-note{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.35rem;padding:.6rem .75rem;display:flex}.review-note-message{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.automation-days{width:4.5rem;display:inline-block}
