:root{color-scheme:light dark;--background:#f4f7f9;--surface:#ffffff;--surface-muted:#f8fafb;--text:#17212b;--text-muted:#62707d;--border:#dce3e8;--primary:#146c63;--primary-hover:#0e554e;--primary-soft:#e2f2ef;--danger:#b42318;--danger-soft:#fef3f2;--warning:#8a4b08;--warning-soft:#fff7e6;--focus:#2b7fff;--shadow:0 18px 50px rgb(26 48 62/10%);--radius:14px;--radius-small:9px;--agenda-slot-height:2.75rem;--grid-line:var(--border)}@media (prefers-color-scheme:dark){:root{--background:#0e1519;--surface:#172126;--surface-muted:#1d292f;--text:#edf3f5;--text-muted:#a8b5bb;--border:#34434a;--primary:#55c2b4;--primary-hover:#7ad3c8;--primary-soft:#173c38;--danger:#ff8a80;--danger-soft:#3e2525;--warning:#ffd38a;--warning-soft:#3a3021;--focus:#77aaff;--shadow:0 18px 50px rgb(0 0 0/30%)}}*,:after,:before{box-sizing:border-box}html{min-width:320px;background:var(--background);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}body{min-height:100vh;min-height:100dvh;margin:0;color:var(--text);background:radial-gradient(circle at 12% 0,color-mix(in srgb,var(--primary) 10%,transparent),transparent 30rem),var(--background)}h1,h2,p{margin-top:0}h1{margin-bottom:.5rem;font-size:clamp(1.8rem,4vw,2.45rem);line-height:1.12;letter-spacing:-.035em}h2{margin-top:2rem;margin-bottom:.8rem;font-size:1.25rem;letter-spacing:-.015em}a{color:var(--primary);font-weight:650;text-underline-offset:.2em}a:hover{color:var(--primary-hover)}button,input,select{min-height:2.75rem;border:1px solid var(--border);border-radius:var(--radius-small);font:inherit}input,select{width:100%;padding:.65rem .78rem;color:var(--text);background:var(--surface);transition:border-color .15s ease,box-shadow .15s ease}input::placeholder{color:var(--text-muted);opacity:.78}input[type=checkbox]{width:1.1rem;min-height:1.1rem;margin:0;accent-color:var(--primary)}button{width:-moz-fit-content;width:fit-content;padding:.65rem 1rem;border-color:var(--primary);color:#ffffff;background:var(--primary);font-weight:700;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}button:hover:not(:disabled){border-color:var(--primary-hover);background:var(--primary-hover);transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 45%,transparent);outline-offset:2px}form{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}form>label{display:grid;grid-gap:.35rem;gap:.35rem;color:var(--text-muted);font-size:.875rem;font-weight:650}form>label:has(input[type=checkbox]){display:flex;min-height:2.75rem;flex-direction:row;gap:.55rem;align-items:center;color:var(--text)}ul{margin:0;padding:0;list-style:none}li{padding:1rem;border:1px solid var(--border);border-radius:var(--radius-small);background:var(--surface-muted)}li+li{margin-top:.65rem}li form{margin-top:.75rem}[role=alert]{padding:.8rem 1rem;border:1px solid color-mix(in srgb,var(--danger) 30%,var(--border));color:var(--danger);background:var(--danger-soft);font-weight:650}[role=alert],[role=status]{border-radius:var(--radius-small)}[role=status]{padding:.75rem 1rem;color:var(--warning);background:var(--warning-soft)}.form-error{margin:.35rem 0 0;font-size:.875rem}[aria-busy=true]{opacity:.6;cursor:wait}.tab-nav{display:flex;gap:.35rem;margin-bottom:1.25rem;border-bottom:1px solid var(--border)}.tab-nav a{padding:.65rem .9rem;color:var(--text-muted);border-bottom:2px solid transparent;text-decoration:none}.tab-nav a:hover{color:var(--primary)}.tab-nav a[aria-current=page]{border-bottom-color:var(--primary);color:var(--primary);font-weight:700}.brand-mark{display:inline-grid;width:2.5rem;height:2.5rem;border-radius:.75rem;place-items:center;color:#ffffff;background:var(--primary);font-size:1.1rem;font-weight:800;box-shadow:0 8px 18px color-mix(in srgb,var(--primary) 24%,transparent)}.eyebrow{margin:1.35rem 0 .45rem;color:var(--primary);font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.page-intro{margin-bottom:1.6rem;color:var(--text-muted)}.auth-page,.booking-page{display:grid;min-height:100vh;min-height:100dvh;padding:clamp(1rem,4vw,3rem);grid-template-columns:minmax(0,1fr);place-items:center}.auth-card,.booking-card{width:min(100%,32rem);padding:clamp(1.5rem,5vw,2.6rem);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);background:var(--surface);box-shadow:var(--shadow)}.auth-card-wide{width:min(100%,38rem)}.auth-card form,.booking-card form{display:grid;grid-template-columns:1fr}.auth-card form>label,.booking-card form>label{width:100%}.auth-card button,.booking-card button{width:100%;margin-top:.35rem}.auth-alternative{margin:1.4rem 0 0;color:var(--text-muted);text-align:center}.slot-picker{display:grid;width:100%;min-width:0;grid-gap:.6rem;gap:.6rem}.slot-group-label{color:var(--text-muted);font-size:.875rem;font-weight:650}.slot-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(4.75rem,1fr));grid-gap:.5rem;gap:.5rem}.slot-chip{padding:.5rem .9rem;border:1px solid var(--border);border-radius:var(--radius-small);color:var(--text);background:var(--surface);font-size:.875rem;font-weight:650;text-align:center}.slot-chip:hover:not(:disabled):not([aria-pressed=true]){border-color:var(--primary);color:var(--primary-hover);background:var(--primary-soft)}.slot-chip[aria-pressed=true]{border-color:var(--primary);color:#ffffff;background:var(--primary)}.slot-chip[aria-pressed=true]:hover:not(:disabled){border-color:var(--primary-hover);background:var(--primary-hover)}.slot-calendar{display:grid;min-width:0;grid-gap:.6rem;gap:.6rem}.slot-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.slot-calendar-nav-button{width:2.75rem;padding:0;border-color:var(--border);color:var(--text);background:var(--surface);font-weight:700}.slot-calendar-nav-button:hover:not(:disabled){border-color:var(--primary);color:var(--primary-hover);background:var(--primary-soft);transform:none}.slot-calendar-title{color:var(--text);font-weight:700;text-align:center;text-transform:capitalize}.slot-calendar-grid{display:grid;min-width:0;overflow-x:auto;grid-gap:.3rem;gap:.3rem}.slot-calendar-week,.slot-calendar-weekdays{display:grid;min-width:0;grid-template-columns:repeat(7,1fr);grid-gap:.3rem;gap:.3rem}.slot-calendar-weekdays{color:var(--text-muted);font-size:.75rem;font-weight:700;text-align:center;text-transform:uppercase}.slot-calendar-day{aspect-ratio:1;min-height:2.5rem;padding:0;border:1px solid var(--border);border-radius:var(--radius-small);color:var(--text);background:transparent;font-size:.875rem;font-weight:650;text-align:center}button.slot-calendar-day:not(:disabled){border-color:color-mix(in srgb,var(--primary) 45%,var(--border));background:var(--surface);cursor:pointer}button.slot-calendar-day:hover:not(:disabled):not([aria-pressed=true]){border-color:var(--primary);color:var(--primary-hover);background:var(--primary-soft);transform:none}.slot-calendar-day[aria-pressed=true]{border-color:var(--primary);color:#ffffff;background:var(--primary)}.slot-calendar-day[aria-pressed=true]:hover:not(:disabled){border-color:var(--primary-hover);background:var(--primary-hover)}.slot-calendar-day--muted{border-color:transparent;color:var(--text-muted);opacity:.4}.owner-shell{min-height:100vh;min-height:100dvh}.owner-nav{position:-webkit-sticky;position:sticky;z-index:10;top:0;min-height:4.5rem;padding:.75rem max(1rem,calc((100vw - 72rem) / 2));border-bottom:1px solid var(--border);justify-content:space-between;background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.owner-brand,.owner-nav{display:flex;align-items:center}.owner-brand{gap:.7rem;color:var(--text);font-size:1.05rem;text-decoration:none}.owner-brand .brand-mark{width:2.25rem;height:2.25rem}.owner-nav-links{display:flex;gap:.35rem}.owner-nav-links a{padding:.55rem .8rem;border-radius:.5rem;color:var(--text-muted);text-decoration:none}.owner-nav-links a:hover{color:var(--primary);background:var(--primary-soft)}.owner-nav-toggle{display:none}.copy-link{display:flex;gap:.5rem;align-items:center}.copy-link input{min-width:0;flex:1 1 auto}.owner-content{width:min(100% - 2rem,72rem);margin:0 auto;padding:clamp(1.5rem,4vw,3rem) 0 5rem}.owner-content>section{padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 8px 30px rgb(26 48 62/6%)}.owner-content>section>p:first-of-type{color:var(--text-muted)}.owner-content form{margin-bottom:1rem}.owner-content form>input:not([type=hidden]),.owner-content form>select{width:auto;min-width:min(100%,10rem);flex:1 1 10rem}.owner-content section>section{margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius-small);background:var(--surface-muted)}.owner-content section>section h2{margin-top:0}.section-description{max-width:48rem;color:var(--text-muted)}.weekly-schedule-form,.weekly-schedule-list{display:grid;grid-gap:1rem;gap:1rem}.weekly-schedule-form{padding:clamp(1rem,3vw,1.4rem);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted)}.weekly-schedule-header{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between}.weekly-schedule-header .eyebrow{margin-top:0}.weekly-schedule-header h3,.weekly-schedule-header p{margin-bottom:0}.weekly-schedule-header>p{max-width:28rem;color:var(--text-muted);font-size:.9rem;text-align:right}.weekly-schedule-form fieldset{min-width:0;margin:0;padding:0;border:0}.availability-days{display:grid;grid-gap:.6rem;gap:.6rem}.availability-day{display:grid;grid-template-columns:minmax(10rem,1fr) minmax(17rem,1.35fr);grid-gap:1rem;gap:1rem;padding:.8rem;border:1px solid var(--border);border-radius:var(--radius-small);align-items:center;background:var(--surface)}.availability-day-name{display:flex;gap:1rem;align-items:center;justify-content:space-between}.availability-day-name>label{display:inline-flex;gap:.45rem;align-items:center;color:var(--primary);font-size:.85rem;font-weight:750}.availability-time-fields{display:grid;grid-template-columns:1fr auto 1fr;grid-gap:.6rem;gap:.6rem;align-items:end;transition:opacity .15s ease}.availability-time-fields>label{display:grid;grid-gap:.25rem;gap:.25rem;color:var(--text-muted);font-size:.78rem;font-weight:650}.availability-time-fields>span{padding-bottom:.75rem;color:var(--text-muted)}.availability-day:has(input[type=checkbox]:not(:checked)) .availability-time-fields{opacity:.42}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.booking-card section[aria-live=polite]{padding:1rem;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border));border-radius:var(--radius-small);background:var(--primary-soft)}.booking-card section[aria-live=polite] p{margin-bottom:.3rem}.agenda-grid-wrapper{overflow-x:auto;margin-top:1rem;border:1px solid var(--grid-line);border-radius:var(--radius)}.agenda-grid{display:grid;min-width:42rem;grid-template-columns:4.5rem repeat(var(--agenda-days),minmax(8rem,1fr));background:var(--surface)}.agenda-grid [role=row]{display:contents}.agenda-grid [role=columnheader],.agenda-grid [role=gridcell],.agenda-grid [role=rowheader]{position:relative;min-height:var(--agenda-slot-height);padding:.35rem .5rem;border-right:1px solid var(--grid-line);border-bottom:1px solid var(--grid-line)}.agenda-grid [role=columnheader]{top:0;z-index:2;font-weight:700;text-align:center}.agenda-grid [role=columnheader],.agenda-grid [role=rowheader]{position:-webkit-sticky;position:sticky;background:var(--surface-muted)}.agenda-grid [role=rowheader]{left:0;z-index:1;color:var(--text-muted);font-size:.8rem;text-align:right}.agenda-entry{position:absolute;inset:2px 4px auto 4px;z-index:3;overflow:hidden auto;padding:.35rem .5rem;border-radius:var(--radius-small);background:var(--primary-soft);color:var(--text);font-size:.8rem;line-height:1.3}.agenda-entry--blocked{background:var(--warning-soft)}.agenda-entry summary{font-weight:700;cursor:pointer}.agenda-entry form{margin-top:.4rem;gap:.4rem}.agenda-entry p{margin:0 0 .35rem;font-weight:650}@media (max-width:640px){.owner-nav{flex-wrap:wrap;row-gap:.5rem;align-items:center}.owner-brand{font-size:0}.owner-brand .brand-mark{font-size:1rem}.owner-nav-toggle{display:inline-flex;width:2.75rem;padding:0;align-items:center;justify-content:center;border-color:var(--border);color:var(--text);background:var(--surface);font-size:1.1rem}.owner-nav-links{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:.5rem;margin-top:.5rem;padding-top:.6rem;border-top:1px solid var(--border)}.owner-nav-links[data-open=true]{display:flex}.owner-nav-links a{display:flex;min-height:2.75rem;align-items:center;padding:.55rem .8rem;border-radius:.5rem}.owner-nav-links form{width:100%;margin:0}.owner-nav-links .copy-link{flex-direction:column;align-items:stretch}.owner-nav-links .copy-link button,.owner-nav-links form button{width:100%}.tab-nav{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-nav a{flex:0 0 auto}.owner-content form,.owner-content form>button,.owner-content form>input:not([type=hidden]),.owner-content form>select{width:100%}.availability-day,.weekly-schedule-header{grid-template-columns:1fr}.weekly-schedule-header{display:grid}.weekly-schedule-header>p{text-align:left}.availability-day-name{padding-bottom:.5rem;border-bottom:1px solid var(--border)}li{overflow-wrap:anywhere}.slot-chips{grid-template-columns:repeat(auto-fill,minmax(4rem,1fr))}.slot-calendar-day{min-height:2.25rem;font-size:.8rem}.slot-calendar-grid,.slot-calendar-week,.slot-calendar-weekdays{gap:.2rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}