:root{--bg:#0a0a0b;--panel:#141416;--panel2:#101012;--muted:#99999f;--line:#2b2b30;--text:#f7f7f4;--accent:#ece8df;--danger:#6d2929}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:radial-gradient(circle at top,#1c1b1b 0,#0b0b0c 36%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}.shell{width:min(760px,calc(100% - 28px));margin:0 auto;padding:28px 0 72px}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center}.brand{letter-spacing:.22em;font-weight:850;font-size:20px}.brand.small{font-size:14px}.eyebrow{letter-spacing:.16em;font-size:11px;color:#b9b4aa;font-weight:750;margin:0 0 8px}.admin-header h1,.hero h1{font-size:clamp(44px,8vw,72px);line-height:.95;margin:12px 0}.hero-copy{max-width:520px}.muted{color:var(--muted);line-height:1.6}.tiny{font-size:12px}.actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}.back,.choice,.danger,.date,.primary,.secondary,.sidebar button,.slot,.weekday-tabs button{font:inherit;border-radius:14px;border:1px solid var(--line);cursor:pointer}.primary{background:var(--accent);color:#111;padding:14px 18px;text-decoration:none;font-weight:800;border:none}.secondary{color:var(--text);text-decoration:none}.danger,.secondary{background:transparent;padding:13px 17px}.danger{color:#ffb8b8;border-color:#5a2929}.full{width:100%;margin-top:18px}.primary:disabled{opacity:.35;cursor:not-allowed}.topline{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:30px}.pill,.timezone{font-size:12px;color:#b9b4aa}.progress-row{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em;color:#777}.progress-track{height:2px;background:#242428;margin:8px 0 20px;overflow:hidden}.progress-track i{display:block;height:100%;background:#d9d3c8}.card{background:rgba(21,21,23,.95);border:1px solid var(--line);border-radius:22px;padding:22px;margin-bottom:14px;box-shadow:0 18px 60px rgba(0,0,0,.22)}.card h2{margin:0 0 18px;font-size:28px}.card h3{margin:20px 0 12px}input,select{width:100%;background:#0f0f11;border:1px solid var(--line);color:var(--text);padding:14px;border-radius:12px;margin:7px 0;font:inherit;outline:none}input:disabled{opacity:.6}.choice{width:100%;background:#101012;color:var(--text);padding:16px;text-align:left;margin:6px 0;display:flex;gap:14px;justify-content:space-between;align-items:center}.choice-copy{display:flex;flex:1 1;flex-direction:column;gap:4px}.choice-copy small{color:var(--muted)}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e7e2d9;color:#111;font-weight:900}.choice.selected,.date.selected,.slot.selected{border-color:#ddd6c8;background:#23211f}.date-grid,.slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:9px}.date{background:#101012;color:var(--text);padding:14px 8px;display:flex;flex-direction:column;gap:4px;align-items:center}.date strong{font-size:26px}.date small,.date span{color:var(--muted)}.slot{background:#101012;color:var(--text);padding:13px 10px}.summary{display:grid;gap:1px;background:var(--line);border-radius:14px;overflow:hidden}.summary div{background:#101012;padding:14px;display:flex;justify-content:space-between;gap:16px}.summary span{color:var(--muted)}.back{background:none;color:#aaa;border:none;padding:12px 3px}.error{background:#3a1212;border:1px solid #7f2f2f;padding:12px 14px;border-radius:12px;color:#ffd5d5}.success-mark{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#e8e3d9;color:#111;font-weight:900;font-size:24px;margin-bottom:20px}.admin-layout{min-height:100vh;display:grid;grid-template-columns:230px 1fr}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);padding:28px 18px;background:#0d0d0f}.sidebar,.sidebar>div{display:flex;flex-direction:column}.sidebar>div{gap:4px}.sidebar>div small{color:#666;letter-spacing:.18em}.sidebar nav{display:grid;gap:5px;margin:34px 0}.sidebar button{border:none;background:transparent;color:#96969c;text-align:left;padding:11px 12px}.sidebar button.active{background:#1b1b1e;color:white}.sidebar a{margin-top:auto;color:#bbb;text-decoration:none;font-size:13px}.admin-main{width:min(980px,calc(100% - 40px));margin:0 auto;padding:36px 0 80px}.admin-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.admin-header h1{font-size:48px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.stats div{background:var(--panel);border:1px solid var(--line);padding:16px;border-radius:16px}.stats small,.stats span{display:block;color:var(--muted);font-size:12px}.stats strong{display:block;font-size:26px;margin:7px 0}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.date-input{width:auto;min-width:155px}.appt{display:grid;grid-template-columns:90px 1fr 130px;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line)}.appt div span,.client-row span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.status{font-size:11px;padding:6px 9px;border:1px solid var(--line);border-radius:999px;color:#bbb;text-align:center}.status-select{margin:0;padding:8px}.inline-form{display:flex;gap:10px;margin-top:16px}.inline-form input{flex:1 1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.weekday-tabs{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.weekday-tabs button{padding:9px 4px;background:#111113;color:#999}.weekday-tabs button.active{background:#ece8df;color:#111}.client-row,.metric-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.empty,.feature-note{padding:20px;border:1px dashed #35353a;border-radius:14px;color:#999}.feature-note{display:flex;flex-direction:column;gap:8px}.toast{position:fixed;right:24px;top:24px;background:#ece8df;color:#111;padding:12px 16px;border-radius:12px;font-weight:750;z-index:20;box-shadow:0 10px 30px #0008}label{color:#aaa;font-size:12px;margin:12px 0}@media(max-width:760px){.admin-layout{display:block}.sidebar{position:static;height:auto;border-right:none;border-bottom:1px solid var(--line);padding:18px}.sidebar nav{display:flex;overflow:auto;margin:18px 0 0}.sidebar nav button{white-space:nowrap}.sidebar a{display:none}.admin-main{width:min(100% - 24px,980px);padding-top:22px}.admin-header h1{font-size:40px}.stats{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.weekday-tabs{grid-template-columns:repeat(4,1fr)}.appt{grid-template-columns:70px 1fr}.appt .status,.status-select{grid-column:2}.section-title{align-items:flex-start;flex-direction:column}.date-input{width:100%}}@media(max-width:520px){.stats{grid-template-columns:1fr}.topline{align-items:flex-start}.timezone{max-width:160px;text-align:right}.summary div{gap:4px}.inline-form,.summary div{flex-direction:column}}.admin-fields{border:0;padding:0;margin:0;min-width:0}.checkbox-label{display:flex;align-items:center;gap:12px;margin:18px 0;font-size:14px}.checkbox-label input{width:auto;margin:0;accent-color:#caee73}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}label{display:block}a.brand{text-decoration:none;color:inherit}.secondary.full{margin-top:12px}button:disabled{opacity:.5;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #caee73;outline-offset:3px}.date:disabled{opacity:.35;cursor:not-allowed;background:#ededed;color:#777;border-color:#ddd;box-shadow:none;pointer-events:none}.week-agenda{margin:24px 0 32px}.week-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}.week-toolbar h2{margin:5px 0}.week-toolbar .muted{margin:8px 0}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-items:stretch}.agenda-day{border:1px solid #deded8;border-radius:14px;background:#fff;min-width:0;overflow:hidden}.agenda-day.is-today{border:2px solid #927338}.agenda-day.is-closed{background:#f0f0ed}.agenda-day-heading{width:100%;text-align:left;padding:14px 10px;background:transparent;border:0;border-bottom:1px solid #e4e4df;display:flex;flex-direction:column;gap:6px;cursor:pointer}.agenda-day-heading span{font-size:12px;font-weight:700;text-transform:uppercase}.agenda-day-heading strong{font-size:28px}.agenda-day-heading small{font-size:11px;color:#666}.agenda-day-body{padding:8px;min-height:190px}.agenda-empty{font-size:12px;color:#777;line-height:1.5}.agenda-appointment{display:flex;flex-direction:column;gap:7px;padding:10px 8px;margin-bottom:10px;border-radius:9px;background:#f4ecd9;border-left:3px solid #9a7732;overflow-wrap:anywhere}.agenda-time{line-height:1.5}.agenda-appointment b{font-size:14px}.agenda-appointment a{color:inherit}.agenda-appointment select{width:100%;min-width:0;padding:7px 2px;font-size:11px;margin:3px 0 0}.status-cancelled{opacity:.6;background:#eee;border-color:#888}.status-completed{background:#e6efe4;border-color:#65855c}.status-no_show{background:#f5e2df;border-color:#ae655e}.admin-main{min-width:0}@media(max-width:1100px){.week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:650px){.week-grid{grid-template-columns:1fr}.agenda-day-body{min-height:0}.agenda-day-heading{flex-direction:row;align-items:center;gap:12px}.agenda-day-heading small{margin-left:auto}.week-toolbar .actions{display:flex;flex-wrap:wrap}.agenda-appointment{font-size:14px}.agenda-time{font-size:13px}}.agenda-day,.agenda-day-heading{color:#25251f}.agenda-appointment{color:#25251f;gap:3px;padding:7px 8px;margin-bottom:6px;border-radius:6px;line-height:1.35;font-size:12px}.agenda-appointment b{font-size:13px;line-height:1.3}.agenda-time{font-size:11px;line-height:1.35}.agenda-appointment.status-cancelled{opacity:1;color:#50504a}.appointment-details{margin-top:3px;font-size:11px}.appointment-details summary{cursor:pointer;color:#454538;padding:3px 0;line-height:1.4}.appointment-details[open]{display:block}.appointment-details a,.appointment-details small{display:block;margin:7px 0}.agenda-appointment select{background:#fff;color:#25251f;border:1px solid #b9b5a9;padding:5px 3px}.appointment-details summary:focus-visible{outline:2px solid #705921;outline-offset:2px}.client-contact{border-top:1px solid var(--line);padding:12px 0}.client-contact summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.client-contact summary::-webkit-details-marker{display:none}.client-contact summary strong{display:block}.client-contact summary small{display:block;color:var(--muted);margin-top:5px}.contact-hint{font-size:12px;color:var(--muted)}.client-contact[open] .contact-hint{display:none}.client-contact-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.client-contact-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 16px;border:1px solid #bdb9ad;border-radius:7px;background:#ece8df;color:#191919;text-decoration:none;font-size:13px;font-weight:700}.client-contact-actions a:hover{background:#fff}.client-contact summary:focus-visible{outline:2px solid #caee73;outline-offset:4px}.appointment-details .client-contact-actions a{margin:0;padding:5px 9px;min-height:34px;font-size:12px}.appointment-delete{width:100%;margin-top:8px;padding:7px 4px;background:#fff;color:#922e25;border:1px solid #bf827c;border-radius:6px;font-size:11px;cursor:pointer}.notification-settings{padding:14px 16px;border:1px solid var(--line);border-radius:12px;margin-bottom:20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.notification-settings p{color:var(--muted);font-size:12px;line-height:1.5;margin:5px 0}.notification-settings>div:first-child{flex:1 1;min-width:200px}.notification-settings .actions{display:flex;gap:8px;align-items:center}.notification-settings>p{width:100%}.settings-grid{display:grid;gap:12px;margin:20px 0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.settings-option{padding:20px;text-align:left;background:var(--panel);color:inherit;border:1px solid var(--line);border-radius:12px;cursor:pointer}.settings-option strong{display:block;font-size:18px;margin-bottom:8px}.settings-option span{display:block;color:var(--muted);font-size:13px;line-height:1.5}.settings-option:hover{border-color:#aaa}.booking-disclosure.card{padding:0}.booking-disclosure>summary{padding:16px 20px;cursor:pointer;font-size:1rem;font-weight:700;min-height:48px}.booking-disclosure>summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}.booking-disclosure-body{padding:0 20px 20px}.date.is-today{border:2px solid #65d99b;background:#123324;color:#edfff4;opacity:1}.date.is-today small,.date.is-today span{color:#b8eccf}.date .today-label{font-style:normal;font-size:10px;font-weight:800;color:#96f3bc}.date.is-today.selected{box-shadow:inset 0 0 0 2px #edfff4}.booking-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekday{text-align:center;font-size:12px;font-weight:700;color:#c4c4ca;padding:5px 0}.booking-calendar .date{min-width:0;position:relative;min-height:108px}.booking-calendar .date>span{display:none}.booking-calendar .date strong{font-size:23px}.booking-calendar .date.selected{outline:2px solid #ece8df;outline-offset:-4px}@media(max-width:420px){.booking-calendar{gap:4px}.booking-calendar .date{border-radius:9px;min-height:96px}.booking-calendar .date strong{font-size:20px}.booking-calendar .date small{font-size:10px}}.client-picker{position:relative;min-width:0}.client-picker>label{margin-bottom:0}.client-picker>input{margin-top:7px}.client-suggestions{position:absolute;top:100%;left:0;right:0;z-index:25;background:#202024;border:1px solid #555;border-radius:12px;box-shadow:0 8px 25px #0008;max-height:260px;overflow:auto}.client-suggestions [role=option]{padding:12px 14px;cursor:pointer;color:#f7f7f4}.client-suggestions [role=option].active,.client-suggestions [role=option]:hover{background:#38383e}.client-suggestions small{display:block;margin-top:4px;color:#c5c5cc}.client-suggestions p{padding:10px 14px;font-size:12px;color:#ccc}.booking-calendar .waitlist-label{font-size:10px;line-height:1.2;font-style:normal;color:#e7c982;font-weight:700;white-space:normal}.legal-page{line-height:1.7}.legal-page h1{font-size:clamp(30px,6vw,44px);line-height:1.2}.legal-page h2{font-size:21px;margin-top:28px}.checkbox-label a,.legal-links a,.legal-page a{color:inherit;text-decoration:underline;text-underline-offset:3px}.legal-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:28px;font-size:13px;color:#b9b4aa}.checkbox-label span{line-height:1.6;font-size:13px}.booking-calendar .date-status-label{font-size:10px;line-height:1.25;font-style:normal;font-weight:700;white-space:normal}.booking-calendar .date.not-open-yet:disabled{opacity:1;background:#192737;border-color:#354c65;color:#b7cce2}.booking-calendar .date.not-open-yet small{color:#a8bfd7}.booking-calendar .date:disabled:not(.not-open-yet){opacity:1;background:#444447;border-color:#55555b;color:#c5c5cb}.booking-calendar .date:disabled:not(.not-open-yet) small{color:#b5b5be}.booking-calendar .date.is-today:disabled{border:2px solid #65d99b}.booking-month-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 14px}.booking-month-nav h3{margin:0;font-size:19px}.booking-month-nav button{padding:8px 14px}.booking-calendar .date{min-height:78px;padding:10px 2px}.booking-calendar .date:disabled:not(.not-open-yet){background:#222225;border-color:#303036;color:#97979f}.booking-calendar .date.is-today:disabled{border-color:#65d99b}.booking-calendar .date-status-label{font-size:9px}@media(max-width:420px){.booking-calendar .date{min-height:72px}.booking-calendar .date strong{font-size:19px}}.booking-month-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px}.booking-month-nav h3{text-align:center}.booking-month-nav button{width:44px;height:40px;padding:0}.booking-month-nav button:disabled{cursor:not-allowed}.booking-calendar .date:not(:disabled):not(.is-full){background:#ece8df;color:#20201e;border-color:#ece8df}.booking-calendar .date:not(:disabled):not(.is-full):hover{background:#fffaf0;border-color:#fffaf0}.booking-calendar .date:not(:disabled).selected{outline:3px solid #65d99b;outline-offset:-3px;box-shadow:none}.booking-calendar .date:not(:disabled):not(.is-full) .today-label{color:#226841}.booking-calendar .date.is-full:not(:disabled){background:#29251b;border-color:#8c7544;color:#f5e5b9}.inline-booking-times{margin-top:22px;padding-top:4px;border-top:1px solid var(--line)}.inline-booking-times .slot{background:#ece8df;color:#20201e;border-color:#ece8df}.inline-booking-times .slot.selected{outline:3px solid #65d99b;outline-offset:-3px}