:root{--ink:#4a3544;--muted:#6f525e;--cream:#f9eaea;--paper:#fef2f2;--surface:snow;--line:#e5dada;--accent:#5a3a3a;--success:#2f6548;--warning:#9b641b;--radius:2px;--font-display:Georgia, "Times New Roman", serif;--font-sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{background:var(--cream);color:var(--ink)}body{font-family:var(--font-sans), sans-serif;background:var(--paper);min-height:100vh;margin:0;font-size:15px;line-height:1.6}a{color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}.shell{width:min(1120px,100% - 36px);margin:0 auto}.site-header{border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;min-height:78px;padding:14px max(18px,50vw - 560px);display:flex}.brand{font-family:var(--font-display), serif;letter-spacing:-.02em;align-items:center;gap:11px;font-size:20px;font-weight:600;text-decoration:none;display:flex}.brand i{font-weight:500}.brand-logo{border:1px solid var(--line);border-radius:var(--radius);object-fit:cover;flex:0 0 48px;width:48px;height:48px}nav{gap:24px;font-size:13px;display:flex}nav a{text-decoration:none}nav a:hover{text-underline-offset:4px;text-decoration:underline}.hero{max-width:980px;min-height:68vh;padding:clamp(72px,11vw,150px) 0 80px}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.18em;margin:0 0 20px;font-size:11px;font-weight:700}h1{max-width:850px;font-family:var(--font-display), serif;letter-spacing:-.045em;margin:0;font-size:clamp(54px,8vw,98px);font-weight:500;line-height:.93}.session-facts{flex-wrap:wrap;align-items:center;gap:10px;margin:32px 0 24px;font-size:16px;display:flex}.hero-copy{max-width:620px;color:var(--muted);font-size:clamp(17px,2vw,20px)}.button{border:1px solid var(--ink);border-radius:var(--radius);justify-content:center;align-items:center;gap:10px;min-height:48px;padding:12px 20px;font-weight:650;text-decoration:none;display:inline-flex}.button.primary{background:var(--ink);color:#fff}.button:hover{transform:translateY(-1px)}.microcopy{max-width:540px;color:var(--muted);margin-top:18px;font-size:12px}.process{border-top:1px solid var(--line);padding:80px 0 100px}.process ol{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:0;margin:0;padding:0;list-style:none;display:grid}.process li{border-bottom:1px solid var(--line);gap:20px;padding:30px 28px 15px 0;display:flex}.process li+li{border-left:1px solid var(--line);padding-left:28px}.process li>span{color:var(--accent);font:600 14px var(--font-display), serif}.process h2{font:600 26px var(--font-display), serif;margin:0 0 8px}.process p{color:var(--muted);margin:0}.purpose{border-top:1px solid var(--line);padding:76px 0 90px}.purpose h2{max-width:720px;font:500 clamp(36px, 5vw, 58px)/1.03 var(--font-display), serif;letter-spacing:-.035em;margin:0 0 22px}.purpose>p:not(.eyebrow){max-width:760px;color:var(--muted);font-size:17px}.purpose a,.legal a{text-underline-offset:3px}.site-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;padding:24px max(18px,50vw - 560px);font-size:12px;display:flex}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--muted)}.alert{border:1px solid var(--line);background:var(--cream);align-items:center;gap:10px;margin:18px 0;padding:13px 15px;display:flex}.alert.success{color:var(--success);background:#f2f8f3;border-color:#aac5b4}.alert.error{color:#8a211a;background:#fff4f1;border-color:#dcb7b2}.booking-page,.manage-page,.simple-page{padding-top:70px;padding-bottom:100px}.page-intro{max-width:760px;margin-bottom:55px}.page-intro h1,.manage-header h1,.simple-page h1{font-size:clamp(48px,7vw,78px)}.page-intro>p:last-child{max-width:650px;color:var(--muted);font-size:17px}.price-line{margin:24px 0 12px;font-size:18px;font-weight:750}.price-line span{color:var(--accent);margin:0 7px}.booking-form{grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);align-items:start;gap:50px;display:grid}.form-section{min-width:0}.section-heading{align-items:flex-start;gap:14px;margin-bottom:22px;display:flex}.section-heading>span{border:1px solid var(--ink);width:31px;height:31px;font-family:var(--font-display);border-radius:50%;flex:0 0 31px;place-items:center;font-weight:600;display:grid}.section-heading h2{font:600 31px/1 var(--font-display);margin:0}.section-heading p{color:var(--muted);margin:5px 0 0;font-size:12px}.select-wrap{align-items:center;margin:0 0 24px 45px;display:inline-flex;position:relative}.select-wrap select{appearance:none;border:1px solid var(--line);background:var(--surface);min-height:40px;padding:8px 34px 8px 12px}.select-wrap svg{pointer-events:none;position:absolute;right:10px}.availability-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 6px 45px;display:flex}.availability-toolbar .select-wrap{margin:0}.availability-refresh{border:1px solid var(--line);min-height:40px;color:var(--muted);background:0 0;align-items:center;gap:7px;padding:8px 11px;font-size:11px;display:inline-flex}.availability-refresh:hover{border-color:var(--ink);color:var(--ink)}.availability-refresh:disabled{cursor:wait;opacity:.7}.availability-live-note{color:var(--muted);margin:0 0 24px 45px;font-size:11px}.spinning{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.slot-groups{scrollbar-width:thin;max-height:660px;padding-right:8px;overflow:auto}.slot-day{border:0;margin:0 0 28px 45px;padding:0}.slot-day legend{font:600 18px var(--font-display);margin-bottom:10px}.slots{flex-wrap:wrap;gap:8px;display:flex}.slot{border:1px solid var(--line);background:var(--surface);min-height:42px;color:var(--ink);align-items:center;gap:5px;padding:8px 13px;display:inline-flex}.slot:hover,.slot.selected{border-color:var(--ink);background:var(--cream)}.slot.selected{box-shadow:inset 0 -2px var(--accent)}.details-section{border:1px solid var(--line);background:var(--cream);opacity:.7;padding:30px;position:sticky;top:20px}.details-section.active{opacity:1}.field-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field-grid .full{grid-column:1/-1}label{color:var(--ink);flex-direction:column;gap:6px;font-size:13px;font-weight:650;display:flex}label em{float:right;color:var(--muted);font-style:normal;font-weight:400}input,textarea,select{background:var(--surface);width:100%;min-height:44px;color:var(--ink);border:1px solid #cdbcc3;border-radius:0;padding:10px 11px}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid var(--ink);outline-offset:2px}input:disabled,textarea:disabled{opacity:.55}.sensitive-note{border-left:3px solid var(--accent);color:#5e3c35;padding-left:12px;font-size:12px}.button.submit{width:100%;margin-top:8px}.button:disabled{cursor:not-allowed;opacity:.45;transform:none}.empty-state{border:1px dashed var(--line);color:var(--muted);text-align:center;margin-left:45px;padding:35px}.empty-state svg{color:var(--accent)}.empty-state h3{color:var(--ink);font:600 22px var(--font-display)}.manage-header{max-width:780px;margin-bottom:42px}.status-row{flex-wrap:wrap;align-items:center;gap:10px;margin:15px 0;display:flex}.status{border:1px solid var(--line);width:fit-content;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;align-items:center;padding:3px 8px;font-size:10px;font-weight:750;display:inline-flex}.status.requested{color:#713934;background:#fff6f3;border-color:#c69d97}.status.approved_awaiting_payment{color:var(--warning);background:#fffaf0;border-color:#d8b982}.status.confirmed,.status.add{color:var(--success);background:#f3f8f4;border-color:#94b29e}.status.cancelled,.status.declined,.status.expired,.status.block{background:#f0eee9}.manage-grid{grid-template-columns:1fr 1fr;align-items:start;gap:22px;display:grid}.proposal-card{border:2px solid var(--accent);background:#fff8f2;grid-column:1/-1}.proposal-card .eyebrow{margin-bottom:8px}.proposal-time{font:600 25px var(--font-display)}.card,.admin-section{border:1px solid var(--line);background:var(--surface);padding:26px}.card h2,.admin-section h2{font:600 25px var(--font-display);align-items:center;gap:8px;margin:0 0 20px;display:flex}.booking-summary dl,.request-card dl{margin:0 0 26px}.booking-summary dl div,.request-card dl div{border-bottom:1px solid var(--line);justify-content:space-between;gap:25px;padding:10px 0;display:flex}dt{color:var(--muted)}dd{text-align:right;margin:0;font-weight:650}.payment-box{border:1px solid var(--ink);background:var(--cream);margin-top:24px;padding:20px}.payment-box h3{font:600 22px var(--font-display);margin:0}.messages{flex-direction:column;gap:12px;margin-bottom:18px;display:flex}.message{border:1px solid var(--line);background:var(--cream);max-width:88%;padding:12px 14px}.message.admin{color:#fff;background:var(--ink);border-color:var(--ink);margin-left:auto}.message p{white-space:pre-wrap;margin:0 0 5px}.message small{opacity:.7}.message-card form{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.controls-card{grid-column:1/-1}details{border-top:1px solid var(--line);padding:14px 0}summary{cursor:pointer;align-items:center;gap:7px;font-weight:650;display:flex}details form{align-items:flex-end;gap:10px;margin-top:12px;display:flex}.danger-zone{color:#7c211b;margin-top:20px}.button.danger{color:#8a211a;background:var(--surface);border-color:#8a211a}.session-actions{margin-top:18px}.simple-page{max-width:760px;min-height:70vh}.simple-page>p{max-width:680px;font-size:17px}.legal p{margin:20px 0}.legal h2{font:600 28px var(--font-display), serif;margin:42px 0 10px}:is(body:has(.admin-shell)>.site-header,body:has(.admin-shell)>.site-footer){display:none}.admin-shell{background:var(--cream);min-height:100vh}.admin-header{border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;height:72px;padding:10px max(18px,50vw - 630px);display:flex}.admin-header .brand small{color:var(--muted);font:500 9px var(--font-sans);text-transform:uppercase;letter-spacing:.16em;display:block}.admin-identity{color:var(--muted);font-size:11px}.dev-banner{color:#6b4716;text-align:center;background:#f9e9bd;padding:7px 18px;font-size:11px;font-weight:650}.admin-nav{border-bottom:1px solid var(--line);background:var(--paper);align-items:stretch;gap:0;min-height:52px;padding:0 max(18px,50vw - 630px);display:flex;overflow-x:auto}.admin-nav a{flex:none;align-items:center;gap:7px;padding:13px 18px;display:flex}.admin-main{width:min(1260px,100% - 36px);margin:0 auto;padding:52px 0 100px}.admin-title{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:40px;display:flex}.admin-title h1{font-size:clamp(44px,6vw,67px)}.admin-title p{max-width:650px;color:var(--muted)}.admin-section{margin-bottom:22px;padding:0}.admin-section>h2,.admin-section>.section-title,.admin-section>form,.admin-section>p,.admin-section>label,.admin-section>.integration-list{margin-left:24px;margin-right:24px}.admin-section>h2{margin-top:24px}.section-title{justify-content:space-between;align-items:center;gap:20px;min-height:64px;display:flex}.section-title h2{margin:0}.section-title>span{border:1px solid var(--line);border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;display:grid}.priority{border-top:3px solid var(--accent)}.booking-list{border-top:1px solid var(--line)}.booking-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,1fr) minmax(180px,.8fr) minmax(190px,.9fr) auto;align-items:center;gap:25px;min-height:74px;padding:13px 22px;text-decoration:none;display:grid}.booking-row:last-child{border-bottom:0}.booking-row:hover{background:var(--cream)}.booking-person,.booking-time,.booking-state{flex-direction:column;display:flex}.booking-row span{color:var(--muted);font-size:11px}.booking-row .status{color:inherit}.booking-row .conflict{color:#8a211a;align-items:center;gap:4px;margin-top:4px;display:flex}.empty-admin{border-top:1px solid var(--line);color:var(--muted);padding:24px}.dashboard-bottom{grid-template-columns:1.4fr .6fr;gap:22px;display:grid}.activity-list{border-top:1px solid var(--line)}.activity-list a{border-bottom:1px solid var(--line);grid-template-columns:30px 1fr auto;align-items:start;gap:8px;padding:13px 20px;text-decoration:none;display:grid}.activity-list a:last-child{border:0}.activity-list p{color:var(--muted);margin:1px 0 0;font-size:12px}.activity-list time{color:var(--muted);font-size:10px}.activity-icon{color:var(--accent)}.analytics dl{margin:0;padding:0 24px 18px}.analytics dl div{border-bottom:1px solid var(--line);justify-content:space-between;padding:9px 0;display:flex}.analytics dd{font:600 20px var(--font-display)}.conflict-panel,.warning-panel{background:#fff5f1;border:2px solid #a13c31;gap:16px;margin-bottom:20px;padding:20px;display:flex}.warning-panel{background:#fff9ec;border:1px solid #d1a85c}.conflict-panel h2,.warning-panel h2{font:600 24px var(--font-display);margin:0}.conflict-panel p,.warning-panel p{margin:3px 0}.conflict-panel a{display:block}.detail-grid{grid-template-columns:1.5fr .8fr;align-items:start;gap:22px;display:grid}.detail-grid .admin-section{padding:25px}.detail-grid .admin-section>*{margin-left:0;margin-right:0}.request-card h3{font:600 19px var(--font-display);margin:25px 0 8px}.description{white-space:pre-wrap}.client-card p{align-items:center;gap:8px;display:flex}.returning-badge,.new-badge{color:#714b15;letter-spacing:.1em;text-transform:uppercase;background:#fff7e8;border:1px solid #c8a05d;padding:4px 8px;font-size:10px;font-weight:800;display:inline-flex}.new-badge{color:var(--muted);border-color:var(--line);background:var(--surface)}.action-card,.message-card,.history-card{grid-column:1/-1}.action-row{flex-wrap:wrap;gap:10px;display:flex}.history{margin:0;padding:0;list-style:none}.history li{grid-template-columns:14px 1fr;gap:10px;padding-bottom:18px;display:grid}.history li>span{background:var(--accent);border-radius:50%;width:9px;height:9px;margin-top:7px}.history li div{justify-content:space-between;gap:20px;display:flex}.history time{color:var(--muted);font-size:11px}.calendar-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--surface);grid-template-columns:repeat(7,1fr);display:grid}.assignment-card{padding:24px}.assignment-card>*{margin-left:0!important;margin-right:0!important}.assignment-card>p{margin-top:-10px}.assignment-form{grid-template-columns:minmax(190px,.8fr) minmax(170px,.7fr) minmax(280px,1.25fr) auto;align-items:end;gap:12px;display:grid}.assignment-form .button{white-space:nowrap}.calendar-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:190px;padding:10px}.calendar-day>header{align-items:baseline;gap:5px;display:flex}.calendar-day>header span,.calendar-day>header small{color:var(--muted);text-transform:uppercase;font-size:10px}.calendar-day>header strong{font:600 20px var(--font-display)}.availability-lines{flex-wrap:wrap;gap:4px;min-height:25px;margin:5px 0;display:flex}.availability-lines span{color:var(--muted);background:#f0ede6;padding:1px 4px;font-size:8px}.calendar-booking{border-left:3px solid var(--line);background:var(--cream);flex-direction:column;margin-top:5px;padding:6px;font-size:10px;text-decoration:none;display:flex}.calendar-booking.confirmed{border-color:var(--success);background:#eef6f0}.calendar-booking.requested{border-color:var(--accent);background:#fff0ec}.calendar-booking.approved_awaiting_payment{border-color:var(--warning);background:#fff8e8}.calendar-booking small{color:var(--muted)}.search-form{gap:8px;width:min(400px,100%);display:flex}.client-record{padding:22px}.client-record>*{margin-left:0!important;margin-right:0!important}.client-record>header{justify-content:space-between;gap:20px;display:flex}.client-record h2{margin:0}.client-record p{color:var(--muted)}.mini-history{flex-direction:column;display:flex}.mini-history a{border-bottom:1px solid var(--line);justify-content:space-between;padding:8px;text-decoration:none;display:flex}.availability-layout{grid-template-columns:1.2fr .8fr;align-items:start;gap:22px;display:grid}.weekly-editor{border-top:1px solid var(--line)}.weekday{border-bottom:1px solid var(--line);grid-template-columns:120px 1fr;gap:15px;min-height:74px;padding:15px 23px;display:grid}.weekday:last-child{border:0}.window{justify-content:space-between;padding:4px 0;display:flex}.window form,.exception-list form{margin:0}.window button,.exception-list button{color:var(--muted);background:0 0;border:0;padding:5px}.inline-form{grid-template-columns:1fr auto 1fr auto;gap:7px;display:grid}.stack-form{flex-direction:column;gap:12px;padding-bottom:25px;display:flex}.check{flex-direction:row;align-items:center}.check input{width:18px;min-height:18px}.exception-list{border-top:1px solid var(--line)}.exception-list>div{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px 20px;display:grid}.exception-list small{color:var(--muted);display:block}.settings-form{grid-template-columns:1fr 1fr;align-items:start;gap:22px;display:grid}.settings-form .admin-section{padding:24px}.settings-form .admin-section>*{margin-left:0;margin-right:0}.settings-form .admin-section:first-child,.settings-form .admin-section:last-of-type,.settings-save{grid-column:1/-1}.integration-list>div{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:60px;display:grid}.integration-list svg{color:var(--success)}.integration-list span{color:var(--muted);text-transform:capitalize;font-size:11px;display:block}.settings-save{justify-self:end}@media (max-width:700px){.site-header{align-items:flex-start}.brand{font-size:17px}.brand-logo{flex-basis:38px;width:38px;height:38px}.site-header nav{text-align:right;flex-direction:column;gap:2px}.hero{min-height:auto;padding-top:72px}h1{font-size:clamp(52px,16vw,72px)}.process ol{grid-template-columns:1fr}.process li+li{border-left:0;padding-left:0}.site-footer{gap:20px}.booking-page,.manage-page,.simple-page{padding-top:48px}.booking-form,.manage-grid,.dashboard-bottom,.detail-grid,.availability-layout,.settings-form{grid-template-columns:1fr}.details-section{padding:22px;position:static}.select-wrap,.slot-day,.empty-state,.availability-toolbar,.availability-live-note{margin-left:0}.field-grid{grid-template-columns:1fr}.field-grid .full{grid-column:auto}.admin-header{height:62px}.admin-identity{display:none}.admin-nav{white-space:nowrap;flex-direction:row}.admin-nav a{flex-direction:column;gap:2px;padding:12px;font-size:9px}.admin-main{padding-top:38px}.admin-title{flex-direction:column;align-items:flex-start}.booking-row{grid-template-columns:1fr auto;gap:10px;padding:15px}.booking-time,.booking-state{grid-column:1}.booking-row>svg{grid-area:1/2}.detail-grid .admin-section,.action-card,.message-card,.history-card,.controls-card,.settings-form .admin-section:first-child,.settings-form .admin-section:last-of-type,.settings-save{grid-column:auto}.calendar-grid,.assignment-form{grid-template-columns:1fr}.calendar-day{min-height:80px}.weekday{grid-template-columns:90px 1fr;padding:13px}.inline-form{grid-template-columns:1fr 1fr}.inline-form>span{display:none}details form{flex-direction:column;align-items:stretch}.history li div{flex-direction:column;gap:1px}}
