:root{font-family:Inter,'Segoe UI',Arial,sans-serif;color:#293b32;background:#f6f3e9;font-size:14px;--green:#154f40;--ivory:#faf8f1;--line:#dedfd4}*{box-sizing:border-box}body{margin:0;min-height:100dvh}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid #d5dacd;border-radius:9px;padding:12px 16px;background:#fffdf7;min-height:44px}button:hover:enabled{background:#edf2e9}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #ae9459;outline-offset:3px}button.primary{background:var(--green);border-color:var(--green);color:#fffef8;font-weight:600}button.primary:hover:enabled{background:#103e32}button.text{padding:5px 0;border:0;background:transparent;color:var(--green);text-decoration:underline;min-height:35px}button.icon{border:0;background:transparent;font-size:24px;padding:6px 10px;min-width:38px}input,select{width:100%;background:#fffefa;border:1px solid #ced6c8;border-radius:8px;padding:13px;min-width:0}label{display:grid;gap:9px;margin:18px 0;font-weight:500}p{line-height:1.7;color:#707d70}h2,h3,h4{font-weight:550;letter-spacing:-.3px}h3{font-size:17px;margin:24px 0 13px}small{display:block;font-size:12px;line-height:1.5;color:#798774;margin-top:4px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2px;color:#918562}.salon-home{padding:42px 6vw;min-height:100dvh;display:flex;flex-direction:column;justify-content:space-between;width:52%;background:#eeeadd}.salon-wordmark{text-decoration:none;color:var(--green);font-size:22px;letter-spacing:5px;font-weight:600;line-height:1.6}.salon-wordmark span{display:block;letter-spacing:4px;font-size:9px}.salon-intro{padding:70px 0}.salon-intro h1{font-family:Georgia,serif;font-size:clamp(38px,4.8vw,72px);font-weight:400;line-height:1.12;letter-spacing:-2px;margin:22px 0}.salon-intro>p:not(.eyebrow){font-size:16px;line-height:1.8;margin:24px 0}.salon-intro button{padding:16px 24px;min-width:180px;display:flex;justify-content:space-between;gap:35px;margin-top:35px}.salon-footer{font-size:10px;letter-spacing:2px;display:flex;justify-content:space-between;gap:20px}.salon-footer span{font-family:Georgia,serif;font-style:italic;letter-spacing:0;color:#88856f}.booking-panel{position:fixed;right:0;top:0;width:48%;max-width:760px;height:100dvh;background:var(--ivory);display:flex;flex-direction:column;box-shadow:-15px 0 60px #233a3012;border-left:1px solid var(--line)}[hidden]{display:none!important}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:23px 20px;border-bottom:1px solid var(--line);flex-shrink:0}.panel-header>div{text-align:center}.panel-header h2{font-size:21px;margin:5px 0 0}.panel-header .eyebrow{font-size:8px}.booking-panel main{padding:24px 30px;overflow-y:auto;flex:1;min-height:0;scrollbar-width:thin}#error{padding:0 30px;color:#9b4234;font-size:13px;flex-shrink:0;max-height:90px;overflow:auto;margin:0 0 12px}#error:empty{display:none}.actions{flex-shrink:0;border-top:1px solid var(--line);padding:18px 30px 20px;background:var(--ivory)}.actions>.primary{width:100%}.footer-row{display:grid;grid-template-columns:1fr 1.25fr;gap:10px}.selection-total{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px;font-size:14px}.selection-total strong{font-size:20px;color:var(--green)}.footer-note{font-size:12px;margin:0;line-height:1.5}.account-bar{display:flex;gap:14px;align-items:center;justify-content:space-between;font-size:12px;margin-bottom:20px;flex-wrap:wrap}.segmented{display:flex;background:#e9ece2;border-radius:9px;padding:4px;margin-bottom:20px}.segmented button{flex:1;background:transparent;border:1px solid transparent;font-weight:600}.segmented button[aria-pressed=true]{background:#fffefa;color:var(--green);border-color:#d3dace}.search-label{margin:0 0 20px}.people-tabs{display:flex;gap:8px;overflow-x:auto;padding:3px 3px 9px;margin-bottom:16px}.people-tabs button{white-space:nowrap;display:flex;align-items:center;gap:9px;font-size:12px}.people-tabs small{margin:0;padding:1px 5px;border-radius:8px;background:#e9eee3}.people-tabs button[aria-pressed=true]{border-color:var(--green);background:#e6eee4}.category{border-bottom:1px solid var(--line);padding-bottom:8px;margin:12px 0}.category summary{font-size:15px;font-weight:600;cursor:pointer;padding:15px 2px;list-style-position:inside}.category summary>span{float:right;font-size:11px;font-weight:400;color:#788370;margin:3px 7px}.service-card{display:flex;gap:13px;width:100%;text-align:left;align-items:center;margin:9px 0;padding:17px;border-radius:10px;background:#fffefa;min-height:90px}.service-card>div{flex:1;min-width:0}.service-card strong{font-size:14px;font-weight:550;overflow-wrap:anywhere}.service-card b{font-size:14px;white-space:nowrap}.service-card[aria-pressed=true]{border-color:var(--green);background:#ecf2e7}.select-check{display:grid;place-items:center;border:1px solid #bac9b7;color:#7d937e;border-radius:50%;width:20px;height:20px;font-size:13px;flex-shrink:0}.service-card[aria-pressed=true] .select-check{background:var(--green);border-color:var(--green);color:white}.staff-intro{padding:18px;border:1px solid var(--line);display:flex;gap:15px;align-items:center;margin:10px 0;border-radius:10px}.avatar{background:#e4ebde;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;font-family:Georgia,serif;font-size:22px;color:var(--green)}.staff-choice{background:#fffefa;border:1px solid var(--line);padding:17px;border-radius:10px;gap:16px}.staff-choice>span{font-size:14px}.date-tools{display:flex;gap:15px;align-items:end;margin-bottom:20px}.date-tools label{flex:1;margin:0}.date-tools button{font-size:12px;white-space:nowrap}.staff-switch{display:flex;align-items:center;gap:14px;justify-content:space-between;background:#eaf0e4;border:1px solid #d4dece;padding:14px;border-radius:8px;font-size:12px;margin:20px 0}.staff-switch button{flex-shrink:0}.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.time-grid button{background:#fffefa;padding:14px 6px;font-size:13px}.time-grid button:hover{border-color:var(--green)}.empty-times{grid-column:1/-1;padding:20px 0;text-align:center}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:20px 0}.month-grid>button{padding:7px 2px;font-size:12px}.month-grid button[aria-pressed=true]{background:var(--green);color:white}.month-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;margin:5px 0 10px}.month-heading button{border:0;background:transparent}.review-date{padding:20px;background:#eaf0e3;border:1px solid #d6dfcf;border-radius:10px;display:grid;gap:9px}.review-date span{color:#65765e;font-size:13px}.review-person{margin:20px 0;padding:0 16px 12px;border:1px solid var(--line);border-radius:10px;background:#fffefa}.review-line{display:flex;gap:16px;justify-content:space-between;padding:15px 0;border-top:1px solid #e6e8de;font-size:14px;line-height:1.5}.review-line>div{min-width:0;overflow-wrap:anywhere}.review-line b,.review-line>strong{white-space:nowrap}.total{display:flex;justify-content:space-between;padding:20px 0;border-top:1px solid var(--line);font-size:20px}.payment-note{background:#e8eee1;padding:13px;font-size:13px;border-radius:8px}.policy{white-space:pre-wrap;font-size:13px;padding:18px;background:#f1f0e7;border-radius:9px}.dev-notice{background:#fff0cc;color:#6e571d;font-size:11px;line-height:1.5;padding:9px 24px;border-bottom:1px solid #e4d6ac;flex-shrink:0}.hold-clock{background:#e1e9dc;color:#34513c;font-size:12px;line-height:1.5;padding:10px 24px;border-bottom:1px solid #d0dacb;flex-shrink:0}.auth-separator{text-align:center;border-top:1px solid var(--line);padding-top:20px;margin:24px 0 12px;color:#7d8975;font-size:12px}#authForm>.primary,.secondary{width:100%;margin:10px 0}#authForm label{margin:22px 0}.notice{padding:15px;border:1px solid #dfce9c;border-radius:8px;background:#faf0d9;font-size:12px}.success-mark{display:grid;place-items:center;margin:20px auto 24px;background:#e3eddd;color:var(--green);font-size:35px;width:78px;height:78px;border-radius:50%}.booking-number{font-family:monospace;color:var(--green);font-size:18px;margin-bottom:25px}.history-card{border:1px solid var(--line);border-radius:10px;padding:0 17px;margin:10px 0 22px;background:#fffefa}dialog{max-width:calc(100vw - 28px);max-height:80dvh;overflow:auto;background:var(--ivory);border:1px solid var(--line);border-radius:12px;padding:25px}dialog::backdrop{background:#20372f90}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#loading{position:fixed;right:3vw;top:20px;background:#f5f0dc;padding:12px;border-radius:8px;font-size:12px}
@media(min-width:1600px){.booking-panel{width:760px}.salon-home{width:calc(100% - 760px)}}@media(max-width:760px){.salon-home{width:100%;padding:30px}.salon-intro{padding:70px 0}.salon-intro h1{font-size:52px}.salon-footer{font-size:9px}.booking-panel{width:100%;max-width:none;border-left:0}.panel-header{padding:15px 12px}.panel-header h2{font-size:19px}.booking-panel main{padding:20px}.actions{padding:15px 20px max(18px,env(safe-area-inset-bottom))}#error{padding:0 20px}.service-card{padding:15px 12px;gap:10px}.time-grid{gap:8px}.dev-notice,.hold-clock{padding:8px 20px}.date-tools{gap:10px}.date-tools button{padding:12px 9px}.selection-total{font-size:13px}.selection-total strong{font-size:18px}.review-line{font-size:13px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.primary{background:var(--booking-button,var(--emerald));border-color:var(--booking-button,var(--emerald))}.booking-announcement{padding:14px 24px;background:var(--emerald);color:white;text-align:center}.booking-announcement[hidden]{display:none}

button.primary,button.primary:hover:enabled{background:var(--booking-button,var(--green));border-color:var(--booking-button,var(--green))}.booking-announcement{background:var(--green)}
