:root{color-scheme:light;--brand: #18181b;--on-brand: #ffffff;--accent: #f4c430;--canvas: #f5f4f2;--ink: #18181b;--surface: #ffffff;--surface-soft: #f4f3f5;--muted: #6b6870;--line: #dedde1;--field: #aaa7ad;--success: #22754d;--success-soft: #e9f7ef;--success-line: #9bcdb2;--success-ink: #174d34;--warning: #9a6200;--danger: #a1263d;--danger-soft: #fff0f3;--danger-line: #efb3c0;--danger-ink: #7f1d31;--status-provisional: #9a6200;--status-confirmed: #22754d;--status-completed: #4b5563;--status-no-show: #a1263d;--status-cancelled: #737373;--status-time-off: #5f5963;--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-small: .86rem;--text-eyebrow: .76rem;--leading-heading: 1.15;--leading-body: 1.6;--tracking-heading: -.025em;--tracking-eyebrow: .12em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--radius-xs: .45rem;--radius-sm: .65rem;--radius-md: .85rem;--radius-lg: 1rem;--radius-pill: 999px;--tap-min: 2.75rem;--shadow-card: 0 2px 10px rgb(33 20 28 / 4%);--shadow-event: 0 1px 2px rgb(0 0 0 / 14%);--shadow-float: 0 -.35rem 1.2rem rgb(24 24 27 / 10%);--shadow-toast: 0 .75rem 2rem rgb(23 77 52 / 20%);--tint-notice: color-mix(in srgb, var(--accent) 22%, var(--surface));--tint-tile: color-mix(in srgb, var(--accent) 24%, var(--surface));--tint-badge: color-mix(in srgb, var(--accent) 35%, var(--surface));--tint-active: color-mix(in srgb, var(--accent) 32%, var(--surface));--tint-today: color-mix(in srgb, var(--accent) 30%, var(--surface));--focus-ring: 3px solid color-mix(in srgb, var(--brand) 35%, transparent)}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}h1,h2,h3{letter-spacing:var(--tracking-heading);line-height:var(--leading-heading)}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:var(--focus-ring);outline-offset:2px}:where(button),.button{display:inline-flex;min-height:var(--tap-min);align-items:center;justify-content:center;gap:.4rem;padding:.68rem .95rem;border:1px solid var(--brand);border-radius:var(--radius-sm);background:var(--brand);color:var(--on-brand);font:inherit;font-weight:800;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer}:where(button).secondary,.button.secondary{background:var(--surface);color:var(--brand)}:where(button).danger,.button.danger{border-color:var(--danger);background:var(--surface);color:var(--danger)}:where(button):disabled,.button:disabled{border-color:var(--line);background:var(--surface-soft);color:var(--muted);cursor:default}:where(input,select,textarea){width:100%;min-height:var(--tap-min);padding:.68rem;border:1px solid var(--field);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit}:where(input[type=checkbox],input[type=radio]){width:auto;min-height:auto;padding:0}:where(textarea){min-height:7rem}:where(input[readonly]){background:var(--surface-soft);color:var(--ink);cursor:default}.field{display:grid;gap:.38rem;align-content:start}.field label,.field>span{font-weight:800}.help{margin:.25rem 0 0;color:var(--muted);font-size:var(--text-small);line-height:1.5}.field-error{margin:.25rem 0 0;color:var(--danger-ink);font-size:var(--text-small);font-weight:700;line-height:1.5}.notice,.error,.success{position:relative;margin:.8rem 0;padding:.85rem 1rem .85rem 3.1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);line-height:1.5}.notice:before,.error:before,.success:before{position:absolute;top:50%;left:1rem;display:grid;width:1.6rem;height:1.6rem;place-items:center;border-radius:50%;color:#fff;font-size:.85rem;font-weight:900;line-height:1;transform:translateY(-50%)}.notice{border-color:color-mix(in srgb,var(--accent) 70%,var(--line));background:var(--tint-notice)}.notice:before{content:"i";content:"i" / "";background:var(--ink);font-family:Georgia,Times New Roman,serif;font-style:italic}.success{border-color:var(--success-line);background:var(--success-soft)}.success:before{content:"✓";content:"✓" / "";background:var(--success)}.success strong{color:var(--success-ink)}.error{border-color:var(--danger-line);background:var(--danger-soft)}.error:before{content:"!";content:"!" / "";background:var(--danger)}.error strong{color:var(--danger-ink)}.error ul{margin:.35rem 0 0;padding-left:1.1rem}.error ul:first-child{margin-top:0}.message-title{display:block;font-weight:800}.owner-toast{position:fixed;z-index:1000;top:max(.75rem,env(safe-area-inset-top));right:.75rem;display:flex;max-width:min(28rem,calc(100vw - 1.5rem));align-items:center;gap:.7rem;margin:0;padding:.85rem 1rem;border:1px solid var(--success-line);border-radius:.75rem;background:#e4f5eb;color:var(--success-ink);box-shadow:var(--shadow-toast);font-weight:800;line-height:1.4;transition:opacity .2s ease,transform .2s ease}.owner-toast:before{display:grid;width:1.55rem;height:1.55rem;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--success);color:#fff;content:"✓";content:"✓" / "";font-size:.9rem}.owner-toast.is-leaving{opacity:0;transform:translateY(-.5rem);pointer-events:none}.card{padding:1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.badge{display:inline-flex;width:max-content;padding:.25rem .5rem;border-radius:var(--radius-pill);background:var(--tint-badge);color:var(--ink);font-size:.76rem;font-weight:850}.empty{padding:2rem 1rem;border:1px dashed var(--line);border-radius:var(--radius-lg);color:var(--muted);text-align:center}.chip{padding:.55rem .85rem;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);font-weight:750;text-decoration:none;white-space:nowrap}.chip.active{border-color:var(--brand);background:var(--brand);color:var(--on-brand)}.service-card{display:grid;grid-template-columns:5.5rem minmax(0,1fr);align-items:center;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);text-decoration:none}.service-card:hover{border-color:var(--brand)}.service-card h3{margin:0 0 .3rem;font-size:1.08rem}.service-card p{margin:.2rem 0;color:var(--muted);font-size:.92rem}.service-image{width:5.5rem;height:5.5rem;border-radius:.78rem;background:linear-gradient(135deg,var(--accent),var(--canvas));object-fit:cover}.service-image-line-art{padding:.55rem;border:1px solid color-mix(in srgb,var(--brand) 28%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 34%,#fff),color-mix(in srgb,var(--brand) 11%,#fff));box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent);object-fit:contain}.service-fallback{display:grid;place-items:center;color:var(--brand);font-size:1.7rem;font-weight:900}.service-meta{display:flex;flex-wrap:wrap;gap:.38rem .68rem;margin-top:.55rem;font-size:.9rem;font-weight:800}.service-meta span{white-space:nowrap}.summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.summary div{padding:.8rem;border-radius:.7rem;background:var(--tint-tile)}.summary span{display:block;color:var(--muted);font-size:.8rem}.summary strong{display:block;margin-top:.2rem}.slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.slot{position:relative;min-width:0}.slot input{position:absolute;width:1px;height:1px;min-height:0;padding:0;opacity:0}.slot span{display:block;padding:.72rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);font-weight:800;text-align:center}.slot input:checked+span{border-color:var(--brand);background:var(--brand);color:var(--on-brand)}.slot input:focus-visible+span{outline:var(--focus-ring);outline-offset:2px}.booking-step{display:flex;align-items:center;gap:.7rem;margin:1rem 0}.booking-step span{display:grid;width:2rem;height:2rem;place-items:center;border-radius:50%;background:var(--brand);color:var(--on-brand);font-weight:900}@media(min-width:44rem){.service-card{grid-template-columns:7rem minmax(0,1fr);padding:1.2rem}.service-image{width:7rem;height:7rem}.slots{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:30rem){.service-card{grid-template-columns:4.75rem minmax(0,1fr);gap:.75rem;padding:.8rem}.service-image{width:4.75rem;height:4.75rem}.service-card h3{font-size:1rem}.service-card p{line-height:1.45}.service-meta{gap:.34rem .6rem}.summary{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.owner-toast{transition:none}}
