:root{--page-bg: #f9f6fb;--surface: #ffffff;--surface-muted: #f5edf8;--text: #2b2130;--muted: #635869;--border: #ddd0e3;--brand: #7e3e9c;--brand-contrast: #ffffff;--focus: #5f2878;--success: #356c4a;--warning: #966623;--error: #a04436;--shadow: 0 1.25rem 3.5rem rgb(66 36 80 / .08);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--page-bg);font-synthesis:none;line-height:1.5}*{box-sizing:border-box}body{min-width:20rem;margin:0;background:var(--page-bg)}button,input,select{font:inherit}.page{min-height:100vh}.site-header{border-bottom:1px solid color-mix(in srgb,var(--border) 80%,transparent);background:color-mix(in srgb,var(--surface) 96%,var(--page-bg))}.site-header__inner,.page-footer__inner{display:flex;align-items:center;justify-content:space-between;width:min(100% - 2rem,76rem);min-height:5.25rem;margin:auto;gap:1rem}.brand-lockup{display:flex;align-items:center;min-width:0;gap:.8rem}.brand-logo{display:block;width:auto;max-width:min(38vw,13rem);max-height:3.5rem;object-fit:contain}.clinic,.brand-primary-text,.site-header__context,.eyebrow,.booking-introduction p,.page-footer{margin:0}.clinic{color:var(--brand);font-size:1rem;font-weight:800;letter-spacing:.015em}.brand-primary-text,.site-header__context,.booking-introduction p,.page-footer{color:var(--muted)}.brand-primary-text{font-size:.875rem}.site-header__context{flex:0 0 auto;font-size:.875rem;text-align:right}.shell{width:min(100% - 2rem,50rem);margin:auto;padding:clamp(2.5rem,7vw,5.75rem) 0 4.75rem}.shell-loading{min-height:65vh}.booking-introduction{max-width:38rem;margin-bottom:2.5rem}.eyebrow{color:var(--brand);font-size:.75rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}h1,h2,h3{color:var(--text);font-family:inherit;font-weight:750;letter-spacing:-.02em}h1{max-width:18ch;margin:.35rem 0 .75rem;font-size:clamp(2rem,6vw,3.35rem);line-height:1.1}h2{display:flex;align-items:center;gap:.7rem;margin:0 0 1.4rem;font-size:clamp(1.25rem,3vw,1.55rem);line-height:1.2}h2 span{display:inline-grid;flex:0 0 auto;width:1.9rem;height:1.9rem;place-items:center;border:1px solid color-mix(in srgb,var(--brand) 45%,var(--border));border-radius:50%;color:var(--brand);font-family:inherit;font-size:.85rem;font-weight:800;letter-spacing:0}h3{margin:0 0 .7rem;font-size:1rem}.card,.panel{margin:1rem 0;border:1px solid var(--border);background:var(--surface);border-radius:.75rem}.card{padding:clamp(1.25rem,3vw,2rem);box-shadow:var(--shadow)}.booking-step{scroll-margin-top:1rem}fieldset{min-width:0;margin:0;padding:0;border:0}legend{margin-bottom:.9rem;color:var(--muted);font-size:.925rem;font-weight:650}.form-grid{display:grid;gap:.9rem 1rem}label{display:grid;gap:.4rem;min-width:0;color:var(--text);font-size:.9rem;font-weight:700}input,select,button{min-height:3rem;border:1px solid #b4a5bc;border-radius:.4rem;padding:.58rem .75rem;background:var(--surface);color:var(--text)}select,input{width:100%}button{margin-top:1.4rem;border-color:var(--brand);background:var(--brand);color:var(--brand-contrast);font-weight:800;letter-spacing:.01em;cursor:pointer}button:hover:not(:disabled){background:#683280;border-color:#683280}button:disabled,fieldset:disabled{cursor:not-allowed;opacity:.62}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.slots{display:grid;gap:1.25rem}.slot-day{min-width:0}.slot{display:flex;align-items:flex-start;min-height:3rem;margin:.5rem 0;border:1px solid #c5b7cb;border-radius:.4rem;padding:.75rem .85rem;background:var(--surface);font-size:.9rem;font-weight:650;cursor:pointer}.slot:has(input:checked){border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:#f7effa}.slot input{width:auto;min-height:auto;margin:.25rem .65rem 0 0;accent-color:var(--brand)}.panel{padding:clamp(1.25rem,3vw,1.75rem);box-shadow:var(--shadow)}.panel h2{margin-bottom:.75rem}.panel p:last-child{margin-bottom:0}.status-panel>h2{margin-bottom:.7rem}.status-kicker,.summary-kicker{margin:0 0 .35rem;color:var(--brand);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.safe-action{margin-top:1rem;font-weight:750}.appointment-summary{margin:1.25rem 0;border:1px solid color-mix(in srgb,var(--brand) 25%,var(--border));border-radius:.5rem;padding:1rem;background:var(--surface-muted)}.appointment-summary h3{margin:0;font-size:1.05rem}.appointment-summary__details,.technical-details dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem 1rem;margin:1rem 0 0}.appointment-summary__details div,.technical-details div{min-width:0}dt{color:var(--muted);font-size:.8rem;font-weight:700}dd{margin:.18rem 0 0;overflow-wrap:anywhere;font-weight:750}.technical-details{margin-top:1.25rem;color:var(--muted);font-size:.85rem}.technical-details summary{cursor:pointer;color:var(--brand);font-weight:750}.technical-details dl{padding:.8rem 0 0}.error{border-inline-start:.35rem solid var(--error)}.warning{border-inline-start:.35rem solid var(--warning)}.success{border-inline-start:.35rem solid var(--success)}a{color:var(--brand);font-weight:700}.page-footer{border-top:1px solid var(--border);padding:1.25rem 0;font-size:.825rem}.page-footer__inner{min-height:auto}@media(min-width:42rem){.form-grid--filters,.form-grid--dates,.form-grid--contact{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid--filters label:last-child{grid-column:span 2}.slots{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:30rem){.site-header__inner,.page-footer__inner{width:min(100% - 1.5rem,76rem)}.site-header__inner{align-items:flex-start;min-height:auto;padding:1rem 0}.site-header__context{max-width:8rem;font-size:.75rem}.shell{width:min(100% - 1.5rem,50rem)}.brand-logo{max-width:8.5rem;max-height:2.75rem}.card,.panel{border-radius:.6rem}.appointment-summary__details,.technical-details dl{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
