:root{--bg:#0b0b0b;--panel:#151515;--panel-2:#1e1e1e;--line:#2c2c2c;--text:#f7f5ef;--muted:#a8a59e;--gold:#c8a66a;--gold-dark:#a98954;--danger:#d96767;--success:#72b889;--shadow:0 24px 80px #00000059}*{box-sizing:border-box}html{background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{color:var(--text);background:radial-gradient(circle at 20% 0,#211b13 0,#0b0b0b 35%);min-height:100vh;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.site-shell{width:min(980px,100% - 32px);margin:0 auto;padding:28px 0 48px}.brand-header,.admin-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.brand-header h1{letter-spacing:.12em;margin:0;font-size:clamp(34px,7vw,58px);line-height:.95}.brand-subtitle{color:var(--muted);letter-spacing:.28em;font-size:11px;font-weight:700}.eyebrow{color:var(--gold);letter-spacing:.15em;margin:0 0 10px;font-size:11px;font-weight:800}.admin-link{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:10px 14px;font-size:13px}.hero-copy{max-width:680px;margin:72px 0 28px}.hero-copy h2{letter-spacing:-.04em;margin:0 0 18px;font-size:clamp(36px,7vw,68px);line-height:1}.hero-copy>p:last-child,.section-heading p,.login-card>p,.admin-header p{color:var(--muted);line-height:1.6}.booking-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#151515f5;border-radius:24px;min-height:360px;padding:clamp(18px,4vw,34px)}.progress-row{grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:30px;display:grid}.progress-item{color:#666;border-top:2px solid #333;gap:5px;padding-top:8px;display:grid}.progress-item.active{color:var(--text);border-color:var(--gold)}.progress-item span{font-size:11px;font-weight:800}.progress-item small{white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.section-heading{margin-bottom:22px}.section-heading h3,.success-state h3{margin:0 0 7px;font-size:clamp(25px,4vw,34px)}.choice-list{gap:10px;display:grid}.choice-card{text-align:left;background:var(--panel-2);border:1px solid var(--line);width:100%;color:var(--text);border-radius:15px;justify-content:space-between;align-items:center;gap:16px;padding:18px;transition:all .16s;display:flex}.choice-card:hover{border-color:var(--gold);transform:translateY(-1px)}.choice-card span{gap:5px;display:grid}.choice-card small{color:var(--muted)}.choice-card b{color:var(--gold);font-size:18px}.back-button{color:var(--muted);background:0 0;border:0;margin-bottom:22px;padding:0}.back-button:hover{color:var(--text)}.field-label{color:#d8d5cf;gap:7px;font-size:13px;font-weight:700;display:grid}.field-label small{color:var(--muted);font-weight:400}.field-input,.compact-date{border:1px solid var(--line);width:100%;color:var(--text);background:#101010;border-radius:11px;outline:none;padding:13px 14px}.field-input:focus,.compact-date:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c8a66a1f}.date-input{max-width:360px;margin-bottom:18px}.form-grid{gap:15px;display:grid}.primary-button,.ghost-button,.danger-button{border:1px solid #0000;border-radius:11px;padding:12px 16px;font-weight:800}.primary-button{background:var(--gold);color:#15110b}.primary-button:hover{background:#d5b577}.primary-button:disabled{opacity:.55;cursor:not-allowed}.ghost-button{color:var(--text);border-color:var(--line);background:#171717}.ghost-button:hover{border-color:#555}.danger-button{color:#f19b9b;background:#d967671f;border-color:#d9676759}.full{width:100%;margin-top:18px}.time-grid{grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:9px;display:grid}.time-chip{border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:11px;gap:3px;padding:13px 10px;display:grid}.time-chip small{color:var(--muted);font-size:10px}.time-chip:hover,.time-chip.selected{border-color:var(--gold);background:#241e14}.compact-times{margin-top:14px}.summary-strip{border:1px solid var(--line);background:#10100f;border-radius:12px;flex-wrap:wrap;gap:8px 18px;margin-bottom:18px;padding:14px;display:flex}.summary-strip span{color:var(--muted)}.error-banner,.success-banner,.empty-state{border-radius:11px;margin-bottom:16px;padding:12px 14px;font-size:13px}.error-banner{color:#f1b1b1;background:#d967671c;border:1px solid #d967674d}.success-banner{color:#a6d6b5;background:#72b8891f;border:1px solid #72b8894d}.empty-state{border:1px dashed var(--line);color:var(--muted);text-align:center;padding:28px}.success-state{text-align:center;padding:20px 0}.success-mark{color:#9cd0ad;background:#72b88924;border:1px solid #72b88966;border-radius:50%;place-items:center;width:62px;height:62px;margin:0 auto 18px;font-size:30px;display:grid}.confirmation-card{border:1px solid var(--line);text-align:left;background:#101010;border-radius:15px;max-width:520px;margin:24px auto;overflow:hidden}.confirmation-card div,.detail-list div{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:12px 15px;display:flex}.confirmation-card div:last-child,.detail-list div:last-child{border-bottom:0}.confirmation-card span,.detail-list span{color:var(--muted)}.confirmation-id{color:var(--muted);margin-bottom:18px;display:block}.footer{text-align:center;color:#777;gap:8px;margin-top:28px;font-size:12px;display:grid}.footer p{margin:0;line-height:1.6}.footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.footer-links a{color:#aaa69d;transition:color .16s}.footer-links a:hover{color:var(--gold)}.login-back-link{color:var(--muted);text-align:center;font-size:13px}.login-back-link:hover{color:var(--text)}.honeypot{opacity:0;pointer-events:none;position:absolute;left:-9999px}.skeleton{background:linear-gradient(90deg,#191919,#242424,#191919) 0 0/200% 100%;border-radius:12px;animation:1.3s infinite shimmer}.skeleton.tall{height:300px}.skeleton.medium{height:130px}@keyframes shimmer{to{background-position:-200% 0}}.login-shell{place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{background:var(--panel);border:1px solid var(--line);width:min(430px,100%);box-shadow:var(--shadow);border-radius:20px;gap:18px;padding:30px;display:grid}.login-card h1{margin:0;font-size:32px}.login-card label{gap:7px;display:grid}.login-card input{border:1px solid var(--line);color:var(--text);background:#0f0f0f;border-radius:10px;padding:13px}.admin-shell{width:min(1500px,100% - 28px);margin:0 auto;padding:24px 0 50px}.admin-header{margin-bottom:22px}.admin-header h1{margin:0;font-size:clamp(25px,4vw,40px)}.schedule-toolbar{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.date-nav{flex-wrap:wrap;gap:8px;display:flex}.compact-date{width:auto;min-width:145px;padding:10px}.schedule-scroll{border:1px solid var(--line);box-shadow:var(--shadow);background:#101010;border-radius:16px;overflow-x:auto}.schedule-grid{min-width:900px;display:grid;position:relative}.schedule-corner,.barber-heading{z-index:6;border-bottom:1px solid var(--line);text-align:center;background:#181818;padding:14px 10px;font-weight:800;position:sticky;top:0}.schedule-corner{z-index:8;color:var(--muted);font-size:12px;left:0}.time-axis{border-right:1px solid var(--line);z-index:5;background:#111;position:sticky;left:0}.time-axis span{color:#777;font-size:10px;position:absolute;right:8px;transform:translateY(-7px)}.barber-column{border-right:1px solid var(--line);background-image:linear-gradient(#ffffff0e 1px,#0000 1px);position:relative}.appointment-block{text-align:left;border:1px solid #c8a66a8c;border-left:4px solid var(--gold);color:var(--text);z-index:2;background:linear-gradient(#31291c,#241e16);border-radius:8px;align-content:center;gap:2px;padding:5px 8px;transition:border-color .14s,transform .14s,filter .14s;display:grid;position:absolute;left:5px;right:5px;overflow:hidden;box-shadow:0 2px 8px #0000003d}.appointment-block:hover{filter:brightness(1.08);z-index:3;border-color:#c8a66ae6}.appointment-block strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;line-height:1.15;overflow:hidden}.appointment-block span{color:#ded4c4;white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:1.15;overflow:hidden}.appointment-block-short{align-content:center;padding-top:3px;padding-bottom:3px}.appointment-block.status-completed{border-left-color:var(--success);background:#17231b}.appointment-block.status-no_show{border-left-color:var(--danger);background:#281919}.modal-backdrop{z-index:100;background:#000000b8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-card{background:#171717;border:1px solid #343434;border-radius:18px;width:min(620px,100%);max-height:calc(100vh - 36px);padding:22px;overflow-y:auto;box-shadow:0 30px 100px #000000a6}.modal-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.modal-header h2{margin:0}.icon-button{border:1px solid var(--line);width:36px;height:36px;color:var(--text);background:#111;border-radius:50%;font-size:22px}.detail-list{border:1px solid var(--line);border-radius:12px;margin-bottom:16px;overflow:hidden}.detail-list strong{text-align:right}.action-row{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:640px){.site-shell{width:min(100% - 20px,980px);padding-top:18px}.hero-copy{margin-top:48px}.booking-card{border-radius:18px;padding:16px}.progress-item small{display:none}.progress-row{margin-bottom:22px}.schedule-toolbar,.admin-header{flex-direction:column;align-items:stretch}.schedule-toolbar>.primary-button{width:100%}.date-nav .ghost-button{flex:1}.modal-card{padding:16px}.confirmation-card div,.detail-list div{flex-direction:column;align-items:flex-start;gap:4px}.detail-list strong{text-align:left}.footer-links{gap:6px}.footer{padding:0 8px}}.customer-header-actions,.account-actions,.success-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.customer-header-name,.account-welcome{color:var(--muted);font-size:13px}.account-link-button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.customer-account-shell{max-width:920px}.account-header{margin-bottom:42px}.account-section{margin-top:34px}.account-section h2{margin:0;font-size:clamp(27px,4vw,38px)}.appointment-list{gap:12px;display:grid}.customer-appointment-card{border:1px solid var(--line);border-left:4px solid var(--gold);background:#151515f5;border-radius:16px;grid-template-columns:minmax(190px,1.1fr) minmax(220px,2fr) auto;align-items:center;gap:20px;padding:18px 20px;display:grid;box-shadow:0 14px 36px #0000002e}.customer-appointment-card.is-cancelled{opacity:.65;border-left-color:var(--danger)}.customer-appointment-date{gap:5px;display:grid}.customer-appointment-date span{color:var(--muted);font-size:12px}.customer-appointment-date strong{font-size:20px}.customer-appointment-main h3{margin:0 0 5px;font-size:18px}.customer-appointment-main p,.customer-appointment-main small{color:var(--muted);margin:0}.appointment-status{border:1px solid var(--line);text-transform:capitalize;white-space:nowrap;border-radius:999px;justify-self:end;padding:7px 10px;font-size:11px;font-weight:800}.status-pill-confirmed,.status-pill-pending{color:#e8d4aa;background:#c8a66a17;border-color:#c8a66a66}.status-pill-completed{color:#a6d6b5;background:#72b88917;border-color:#72b88959}.status-pill-cancelled,.status-pill-no_show{color:#efaaaa;background:#d9676717;border-color:#d9676759}.account-history{margin-top:52px}.appointment-list-history .customer-appointment-card{box-shadow:none}.empty-state-action{margin-top:16px}.review-card{max-width:none;margin:0 0 18px}.success-actions{justify-content:center;margin-top:14px}@media (max-width:760px){.brand-header{flex-direction:column;align-items:stretch}.customer-header-actions,.account-actions,.customer-header-name{width:100%}.customer-header-actions .ghost-button,.account-actions .ghost-button,.account-actions form{flex:1}.account-actions form .ghost-button{width:100%}.customer-appointment-card{grid-template-columns:1fr;gap:10px;padding:16px}.appointment-status{justify-self:start}}.customer-appointment-side{justify-items:end;gap:10px;display:grid}.customer-appointment-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.small-action-button{padding:8px 10px;font-size:12px}.inline-appointment-error{color:#f1b1b1;margin-top:8px;font-size:12px;line-height:1.4}.reschedule-summary{border:1px solid var(--line);background:#101010;border-radius:12px;gap:5px;margin-bottom:16px;padding:14px;display:grid}.reschedule-summary span,.reschedule-summary small{color:var(--muted)}@media (max-width:760px){.customer-appointment-side{justify-items:start}.customer-appointment-actions{justify-content:flex-start;width:100%}.customer-appointment-actions .small-action-button{flex:1}}.group-progress{grid-template-columns:repeat(6,1fr)}.person-progress-banner{color:#e7d7b8;text-align:center;background:#c8a66a12;border:1px solid #c8a66a47;border-radius:10px;margin:-8px 0 18px;padding:10px 12px;font-size:12px;font-weight:800}.party-counter{border:1px solid var(--line);background:#101010;border-radius:18px;grid-template-columns:64px 1fr 64px;align-items:center;gap:18px;max-width:420px;margin:6px auto 24px;padding:20px;display:grid}.party-counter-button{border:1px solid var(--gold);background:var(--panel-2);width:58px;height:58px;color:var(--gold);border-radius:50%;font-size:28px;line-height:1}.party-counter-button:disabled{opacity:.3;cursor:not-allowed}.party-counter-value{justify-items:center;gap:3px;display:grid}.party-counter-value strong{font-size:44px;line-height:1}.party-counter-value span{color:var(--muted);font-size:12px}.group-names{gap:14px;margin:20px 0;display:grid}.group-name-primary{border:1px solid var(--line);background:#101010;border-radius:12px;gap:4px;padding:14px;display:grid}.group-name-primary span,.group-review-heading span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:800}.group-review-list{gap:12px;margin:18px 0;display:grid}.group-review-card{border:1px solid var(--line);background:#101010;border-radius:14px;padding:14px}.group-review-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px;display:flex}.group-review-heading>div{gap:3px;display:grid}.group-review-details{color:#d8d3ca;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:10px;font-size:12px;display:grid}.group-edit-button{margin:0}.success-group-list{text-align:left;max-width:680px;margin-left:auto;margin-right:auto}@media (max-width:640px){.group-progress{grid-template-columns:repeat(6,1fr)}.party-counter{grid-template-columns:54px 1fr 54px;gap:10px;padding:16px}.party-counter-button{width:50px;height:50px}.group-review-details{grid-template-columns:1fr;gap:5px}}.barber-shell{max-width:1050px}.barber-date-nav{flex-wrap:wrap;gap:8px;margin:18px 0 10px;display:flex}.barber-appointment-list{gap:12px;display:grid}.barber-appointment-card{border:1px solid var(--line);background:var(--panel);border-radius:16px;grid-template-columns:120px minmax(220px,1fr) auto;align-items:center;gap:18px;padding:18px;display:grid;box-shadow:0 14px 34px #0000002e}.barber-appointment-time{gap:4px;display:grid}.barber-appointment-time strong{color:var(--gold);font-size:22px}.barber-appointment-time span{color:var(--muted);font-size:12px}.barber-appointment-info{gap:4px;display:grid}.barber-appointment-info h3,.barber-appointment-info p{margin:0}.barber-appointment-info h3{font-size:18px}.barber-appointment-info p,.barber-appointment-info a,.barber-appointment-info small{color:var(--muted)}.barber-appointment-info a:hover{color:var(--gold)}.barber-appointment-actions{justify-items:end;gap:10px;display:grid}.barber-status-buttons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media (max-width:720px){.barber-appointment-card{grid-template-columns:1fr;gap:10px}.barber-appointment-actions{justify-items:start}.barber-status-buttons{justify-content:flex-start;width:100%}.barber-status-buttons button{flex:1}}.barber-schedule-list,.time-off-list{gap:10px;display:grid}.barber-schedule-day{border:1px solid var(--line);background:var(--panel);border-radius:14px;grid-template-columns:minmax(220px,1.3fr) minmax(180px,1fr) auto;align-items:center;gap:18px;padding:15px 17px;display:grid}.barber-schedule-day>div:first-child,.barber-schedule-hours{gap:4px;display:grid}.barber-schedule-day>div:first-child span,.barber-schedule-hours small{color:var(--muted);font-size:11px}.barber-schedule-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.day-off-label{color:#efaaaa}.schedule-working-toggle{align-items:center;gap:10px;margin-bottom:16px;font-weight:800;display:flex}.schedule-working-toggle input{width:18px;height:18px;accent-color:var(--gold)}.schedule-time-row{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;display:grid}.time-off-toolbar{justify-content:flex-end;margin-bottom:14px;display:flex}.time-off-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr) auto;align-items:center;gap:18px;padding:16px 18px;display:grid}.time-off-date,.time-off-reason{gap:4px;display:grid}.time-off-date span,.time-off-reason span{color:var(--muted);font-size:11px}@media (max-width:720px){.barber-schedule-day,.time-off-card{grid-template-columns:1fr;gap:10px}.barber-schedule-actions{justify-content:flex-start}.schedule-time-row{grid-template-columns:1fr}.time-off-toolbar .primary-button{width:100%}}.admin-nav{border:1px solid var(--line);background:#101010;border-radius:14px;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:6px;display:flex}.admin-nav-link{color:var(--muted);border-radius:9px;padding:10px 14px;font-size:13px;font-weight:800}.admin-nav-link:hover,.admin-nav-link.active{color:#17110a;background:var(--gold)}.admin-range-tabs{gap:8px;margin-bottom:20px;display:flex}.admin-range-tab{border:1px solid var(--line);color:var(--muted);border-radius:10px;padding:10px 16px;font-size:13px;font-weight:800}.admin-range-tab.active{color:#17110a;border-color:var(--gold);background:var(--gold)}.admin-stat-grid{grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin-bottom:14px;display:grid}.admin-stat-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;gap:6px;padding:18px;display:grid}.admin-stat-card strong{font-size:28px}.admin-stat-card span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.admin-stat-card.danger strong{color:#f09292}.admin-stat-card.warning strong{color:#e5bd70}.admin-revenue-grid{grid-template-columns:1.5fr 1fr;gap:12px;margin-bottom:26px;display:grid}.admin-revenue-card{border:1px solid var(--line);background:var(--panel);border-radius:15px;gap:6px;padding:20px;display:grid}.admin-revenue-card.primary{background:linear-gradient(145deg, #c8a66a17, var(--panel));border-color:#c8a66a61}.admin-revenue-card span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.admin-revenue-card strong{color:var(--gold);font-size:clamp(25px,4vw,38px)}.admin-barber-stats{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px;display:grid}.admin-barber-stat-card{border:1px solid var(--line);background:var(--panel);border-radius:15px;padding:17px}.admin-barber-stat-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.admin-barber-stat-heading h3{margin:0}.admin-barber-stat-heading small{color:var(--muted)}.admin-barber-stat-heading>strong{color:var(--gold)}.admin-barber-stat-numbers{border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);gap:6px;margin-top:18px;padding-top:14px;display:grid}.admin-barber-stat-numbers div{gap:3px;display:grid}.admin-barber-stat-numbers span,.admin-booked-value span{color:var(--muted);text-transform:uppercase;font-size:9px}.admin-booked-value{border-top:1px solid var(--line);justify-content:space-between;margin-top:14px;padding-top:12px;display:flex}.admin-search-row{align-items:center;gap:14px;margin-bottom:16px;display:flex}.admin-search-row .field-input{max-width:520px}.admin-search-row>span{color:var(--muted);white-space:nowrap;font-size:12px}.admin-customer-list{gap:10px;display:grid}.admin-customer-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;grid-template-columns:minmax(230px,1.4fr) minmax(300px,1fr) auto;align-items:center;gap:18px;padding:16px 18px;display:grid}.admin-customer-main{gap:4px;display:grid}.admin-customer-name-row{align-items:center;gap:8px;display:flex}.admin-customer-name-row h3{margin:0}.admin-customer-main a{color:var(--muted);font-size:12px}.customer-state,.staff-state{text-transform:uppercase;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:900}.customer-state.active,.staff-state.active{color:#a6d6b5;background:#72b8891a}.customer-state.blocked,.staff-state.inactive{color:#efaaaa;background:#d967671a}.admin-customer-counts{grid-template-columns:70px 80px minmax(120px,1fr);gap:10px;display:grid}.admin-customer-counts>div{gap:3px;display:grid}.admin-customer-counts span{color:var(--muted);text-transform:uppercase;font-size:9px}.admin-customer-next strong{font-size:11px}.admin-customer-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.admin-customer-profile-card,.admin-staff-edit-card{border:1px solid var(--line);background:var(--panel);border-radius:16px;margin-top:22px;padding:20px}.admin-customer-profile-card{grid-template-columns:1fr auto;align-items:start;gap:20px;display:grid}.admin-customer-profile-main{grid-template-columns:repeat(3,minmax(150px,1fr));gap:16px;display:grid}.admin-customer-profile-main div{gap:4px;display:grid}.admin-customer-profile-main span,.admin-customer-history-card span{color:var(--muted);text-transform:uppercase;font-size:10px}.text-danger{color:#efaaaa}.text-success{color:#a6d6b5}.admin-customer-history-list{gap:9px;display:grid}.admin-customer-history-card{border:1px solid var(--line);background:#111;border-radius:12px;grid-template-columns:minmax(220px,1.5fr) minmax(140px,1fr) minmax(140px,1fr) auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.admin-customer-history-card>div:not(.appointment-status){gap:3px;display:grid}.admin-customer-history-card small{color:var(--muted)}.admin-staff-grid{grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:12px;display:grid}.admin-staff-card{border:1px solid var(--line);background:var(--panel);border-radius:15px;gap:18px;padding:18px;transition:border-color .15s,transform .15s;display:grid}.admin-staff-card:hover{border-color:var(--gold);transform:translateY(-1px)}.admin-staff-card h3{margin:0 0 7px;font-size:20px}.admin-staff-meta{color:var(--muted);justify-content:space-between;gap:12px;font-size:11px;display:flex}.admin-staff-meta strong{color:var(--gold)}.admin-staff-quick-actions{gap:8px;margin-top:18px;margin-bottom:18px;display:flex}.admin-staff-edit-card{max-width:720px}.admin-service-toggle-list{gap:8px;display:grid}.admin-service-toggle-card{border:1px solid var(--line);background:#111;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;display:flex}.admin-service-toggle-card>div{gap:3px;display:grid}.admin-service-toggle-card span{color:var(--muted);font-size:11px}.info-note{color:#d8c6a4;background:#c8a66a0f;border:1px solid #c8a66a40;border-radius:10px;padding:11px 13px;font-size:12px;line-height:1.5}@media (max-width:900px){.admin-stat-grid{grid-template-columns:repeat(3,1fr)}.admin-customer-card,.admin-customer-history-card{grid-template-columns:1fr}.admin-customer-actions{justify-content:flex-start}.admin-customer-profile-card{grid-template-columns:1fr}.admin-customer-profile-main{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.admin-stat-grid,.admin-revenue-grid,.admin-customer-profile-main{grid-template-columns:1fr 1fr}.admin-barber-stat-numbers{grid-template-columns:repeat(3,1fr);row-gap:12px}.admin-search-row{flex-direction:column;align-items:stretch}.admin-search-row .field-input{max-width:none}.admin-staff-quick-actions{flex-direction:column}.admin-service-toggle-card{flex-direction:column;align-items:stretch}}.admin-appointment-filters{border:1px solid var(--line);background:#101010;border-radius:14px;grid-template-columns:180px minmax(190px,1fr) minmax(180px,1fr) auto;align-items:end;gap:10px;margin-bottom:18px;padding:14px;display:grid}.admin-appointment-list{gap:9px;display:grid}.admin-appointment-row{border:1px solid var(--line);background:var(--panel);border-radius:13px;grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) minmax(180px,1fr) auto;align-items:center;gap:16px;padding:14px 16px;display:grid}.admin-appointment-time,.admin-appointment-person,.admin-appointment-service{gap:3px;display:grid}.admin-appointment-time span,.admin-appointment-person span,.admin-appointment-person a,.admin-appointment-service span,.admin-appointment-service small{color:var(--muted);font-size:11px}.admin-appointment-person a:hover{color:var(--gold)}.admin-appointment-list-actions{justify-items:end;gap:8px;display:grid}.admin-appointment-list-actions>div{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}@media (max-width:900px){.admin-appointment-filters,.admin-appointment-row{grid-template-columns:1fr 1fr}.admin-appointment-list-actions{justify-items:start}.admin-appointment-list-actions>div{justify-content:flex-start}}@media (max-width:640px){.admin-appointment-filters,.admin-appointment-row{grid-template-columns:1fr}.admin-appointment-filters .primary-button{width:100%}}
:root{--bg:#f4f1ea;--panel:#fffdf8;--panel-2:#f7f3eb;--line:#d3ccc0;--text:#292620;--muted:#625d55;--gold:#6b4f2a;--gold-dark:#513a1e;--danger:#963b3b;--success:#2f644a;--focus:#1457a6;--primary-bg:#6b4f2a;--primary-text:#fffdf8;--shadow:0 8px 28px #362b1e14}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:linear-gradient(180deg,#f8f5ef 0%,var(--bg) 100%);color:var(--text);font-size:16px;line-height:1.55}::selection{color:#221b12;background:#d8c29e}.skip-link{z-index:1000;background:var(--text);color:var(--panel);border-radius:8px;padding:10px 14px;font-weight:800;position:fixed;top:12px;left:16px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}#main-content:focus{outline:none}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:3px}button,input,select,textarea{min-height:44px}button,[role=button]{touch-action:manipulation}p,li{max-width:75ch}.eyebrow{color:var(--gold);letter-spacing:.08em;font-size:12px}.brand-header h1{letter-spacing:.08em;font-size:clamp(34px,5vw,48px)}.brand-subtitle{letter-spacing:.18em;font-size:12px}.hero-copy{margin:48px 0 24px}.hero-copy h2{letter-spacing:-.025em;max-width:720px;font-size:clamp(34px,5vw,54px);font-weight:780;line-height:1.08}.hero-copy>p:last-child,.section-heading p,.login-card>p,.admin-header p,.customer-header-name,.account-welcome{color:var(--muted);font-size:15px}.booking-card,.login-card,.customer-appointment-card,.barber-appointment-card,.admin-stat-card,.admin-revenue-card,.admin-barber-stat-card,.admin-customer-card,.admin-customer-profile-card,.admin-staff-edit-card,.admin-staff-card,.admin-service-toggle-card,.admin-appointment-row,.barber-schedule-day,.time-off-card,.group-review-card,.group-name-primary,.party-counter,.reschedule-summary,.confirmation-card,.summary-strip,.admin-nav,.admin-appointment-filters,.detail-list{background:var(--panel);border-color:var(--line);color:var(--text)}.booking-card,.login-card,.modal-card{box-shadow:var(--shadow);border-radius:14px}.choice-card,.time-chip,.ghost-button,.field-input,.compact-date,.login-card input,.icon-button{background:var(--panel);border-color:var(--line);color:var(--text)}.choice-card{border-radius:10px;padding:16px;transition:border-color .12s,background .12s}.choice-card:hover,.time-chip:hover,.time-chip.selected,.ghost-button:hover{filter:none;background:var(--panel-2);border-color:#9b8d78;transform:none}.choice-card small,.time-chip small,.field-label small,.confirmation-card span,.detail-list span,.group-review-heading span,.group-review-details,.party-counter-value span,.group-name-primary span,.footer,.footer-links a,.login-back-link,.back-button{color:var(--muted)}.choice-card b{color:var(--gold)}.field-label{color:var(--text);font-size:14px}.field-input,.compact-date,.login-card input{background:#fff;border-radius:9px;min-height:48px;padding:12px 14px}.field-input:focus,.compact-date:focus,.login-card input:focus{border-color:var(--focus);box-shadow:0 0 0 3px #1457a624}.primary-button,.ghost-button,.danger-button{border-radius:9px;min-height:46px;font-weight:750}.primary-button{background:var(--primary-bg);color:var(--primary-text)}.primary-button:hover{background:var(--gold-dark)}.ghost-button{background:var(--panel);color:var(--text);border-color:var(--line)}.danger-button{color:#7c2f2f;background:#fff7f6;border-color:#d9a9a5}.primary-button:disabled,.ghost-button:disabled,.danger-button:disabled,.time-chip:disabled,.choice-card:disabled{opacity:.58;cursor:not-allowed}.back-button{min-height:44px;padding:8px 4px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.back-button:hover{color:var(--text);text-decoration-color:currentColor}.progress-item{color:#7a746b;border-color:#cfc7ba}.progress-item.active{color:var(--text);border-color:var(--gold)}.progress-item span,.progress-item small{font-size:12px}.person-progress-banner,.info-note{color:#4d3c25;background:#f7f0e3;border-color:#c6b08c}.error-banner,.inline-appointment-error{color:#742d2d}.error-banner{background:#fff5f4;border-color:#d8a5a1}.success-banner{color:#26563f;background:#f0f8f3;border-color:#a7cdb7}.empty-state{color:var(--muted);background:var(--panel)}.status-pill-confirmed,.status-pill-pending{color:#5e4526;background:#faf1df;border-color:#b99a6a}.status-pill-completed{color:#28573f;background:#eef7f1;border-color:#91b8a0}.status-pill-cancelled,.status-pill-no_show{color:#7b3030;background:#fff4f3;border-color:#d5a19e}.modal-backdrop{background:#28241e7a}.modal-card{background:var(--panel);border-color:var(--line);color:var(--text);box-shadow:0 18px 60px #2d251c2e}.icon-button{width:44px;height:44px}.schedule-scroll{background:var(--panel);border-color:var(--line);box-shadow:var(--shadow)}.schedule-corner,.barber-heading{color:var(--text);border-color:var(--line);background:#eee9df}.time-axis{border-color:var(--line);background:#f8f6f1}.time-axis span{color:#6e675e;font-size:11px}.barber-column{border-color:var(--line);background-color:#fffdf9;background-image:linear-gradient(#4e433417 1px,#0000 1px)}.appointment-block{color:#2d2419;box-shadow:none;background:#efe4d2;border-color:#9d7440}.appointment-block:hover{filter:none;background:#e9dac3;border-color:#80603a}.appointment-block span{color:#5e5140}.appointment-block.status-completed{background:#e8f2eb}.appointment-block.status-no_show{background:#f8e9e7}.admin-nav-link{color:var(--muted);border-radius:8px}.admin-nav-link:hover,.admin-nav-link.active{color:var(--primary-text);background:var(--primary-bg)}.customer-state.active,.staff-state.active{color:#28573f;background:#eef7f1}.customer-state.blocked,.staff-state.inactive{color:#7b3030;background:#fff4f3}.skeleton{background:linear-gradient(90deg,#eee9df,#f7f4ee,#eee9df) 0 0/200% 100%}.footer{font-size:13px}.secondary-link{font-size:12px}.accessibility-page{width:min(760px,100% - 32px);margin:0 auto;padding:56px 0 72px}.accessibility-page h1{margin:0 0 16px;font-size:clamp(34px,6vw,52px)}.accessibility-page h2{margin:32px 0 10px;font-size:24px}.accessibility-page p,.accessibility-page li{color:var(--muted);font-size:16px;line-height:1.7}.accessibility-page a:not(.primary-button){color:var(--gold);text-decoration:underline}.accessibility-lead{font-size:18px!important}.accessibility-back{margin-top:24px}@media (max-width:640px){.site-shell,.admin-shell{width:min(100% - 24px,980px)}.hero-copy{margin-top:34px}.progress-row{gap:8px;padding-bottom:6px;display:flex;overflow-x:auto}.progress-item{min-width:76px}.progress-item small{white-space:normal;text-overflow:clip;display:block;overflow:visible}.booking-card,.login-card,.modal-card{padding:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:more){:root{--line:#746c61;--muted:#423d36}.booking-card,.login-card,.choice-card,.time-chip,.field-input,.compact-date,.ghost-button,.customer-appointment-card,.barber-appointment-card,.admin-customer-card,.admin-appointment-row{border-width:2px}}@media (forced-colors:active){.appointment-block{border:2px solid buttontext}}@media (prefers-color-scheme:dark){:root{--bg:#1d1c19;--panel:#272521;--panel-2:#302d28;--line:#514c44;--text:#f1ede5;--muted:#c2baad;--gold:#d0ad76;--gold-dark:#b9915a;--danger:#e08a85;--success:#80bc98;--focus:#8fc8ff;--primary-bg:#d0ad76;--primary-text:#211a12;--shadow:0 10px 32px #00000038}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:linear-gradient(180deg,#24211d 0%,var(--bg) 100%)}.field-input,.compact-date,.login-card input,.choice-card,.time-chip,.ghost-button,.barber-column{background:var(--panel)}.person-progress-banner,.info-note{color:#ead7b7;background:#352d23;border-color:#705a3d}.error-banner,.danger-button{color:#f1b5b1;background:#3b2423;border-color:#774744}.success-banner{color:#b4dec1;background:#21372a;border-color:#476d55}.status-pill-confirmed,.status-pill-pending{color:#eed7aa;background:#382f22;border-color:#806a47}.status-pill-completed{color:#b9dfc5;background:#21352a;border-color:#4f745d}.status-pill-cancelled,.status-pill-no_show{color:#f0b8b3;background:#3a2423;border-color:#774744}.schedule-corner,.barber-heading{background:#302e29}.time-axis{background:#24231f}.barber-column{background-color:#24231f;background-image:linear-gradient(#ffffff14 1px,#0000 1px)}.appointment-block{color:#f1ede5;background:#3a3024;border-color:#a47c48}.appointment-block span{color:#dccdb8}.appointment-block.status-completed{background:#23362b}.appointment-block.status-no_show{background:#402726}.skeleton{background:linear-gradient(90deg,#302e29,#39362f,#302e29) 0 0/200% 100%}}.login-choice-card{width:min(760px,100%)}.login-choice-card>h1{max-width:620px}.login-role-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.login-role-card{border:1px solid var(--line);background:var(--panel);min-height:132px;color:var(--text);border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px;display:grid}.login-role-card:hover{background:var(--panel-2);border-color:#9b8d78}.login-role-card strong{margin-bottom:4px;font-size:19px;display:block}.login-role-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.login-role-icon{border:1px solid var(--line);background:var(--panel-2);width:42px;height:42px;color:var(--gold);border-radius:50%;place-items:center;font-weight:900;display:grid}.login-role-card.admin .login-role-icon{color:var(--text)}.login-role-secondary{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:8px;font-size:13px;display:flex}.login-role-secondary a{color:var(--gold);text-underline-offset:3px;font-weight:800;text-decoration:underline}.overview-kpi-grid,.analytics-kpi-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin-bottom:18px;display:grid}.overview-kpi,.analytics-kpi{border:1px solid var(--line);background:var(--panel);border-radius:12px;gap:6px;min-height:104px;padding:16px;display:grid}.overview-kpi span,.analytics-kpi span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:800}.overview-kpi strong,.analytics-kpi strong{font-size:clamp(22px,3vw,30px);line-height:1.1}.overview-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:14px;display:grid}.overview-panel,.analytics-card{border:1px solid var(--line);background:var(--panel);border-radius:13px;margin:0;padding:18px}.overview-panel .section-heading{margin-bottom:16px}.overview-week-bars{gap:12px;display:grid}.overview-week-row{grid-template-columns:96px 1fr 28px;align-items:center;gap:10px;display:grid}.overview-week-row>span{color:var(--muted);font-size:12px}.overview-week-row>strong{text-align:right}.overview-quick-links{gap:8px;display:grid}.overview-quick-links a{border:1px solid var(--line);background:var(--panel-2);border-radius:9px;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:11px 13px;font-weight:750;display:flex}.overview-quick-links a:hover{border-color:#9b8d78}.analytics-dashboard{gap:14px;display:grid}.analytics-two-column{grid-template-columns:1fr 1fr;gap:14px;display:grid}.analytics-card figcaption{gap:3px;margin-bottom:16px;display:grid}.analytics-card figcaption strong{font-size:18px}.analytics-card figcaption span{color:var(--muted);font-size:12px}.analytics-chart-scroll{padding-bottom:4px;overflow-x:auto}.analytics-bars{align-items:end;gap:7px;min-width:min(100%,540px);height:230px;padding-top:18px;display:flex}.analytics-bar-column{text-align:center;flex:1;grid-template-rows:22px 1fr 28px;gap:5px;min-width:22px;height:100%;display:grid}.analytics-bar-value{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.analytics-bar-track{border-bottom:1px solid var(--line);background:repeating-linear-gradient(to top, transparent 0, transparent 24%, color-mix(in srgb, var(--line) 60%, transparent) 25%);align-items:end;min-height:130px;display:flex}.analytics-bar-fill{background:var(--gold);border-radius:5px 5px 2px 2px;width:100%;min-height:0}.analytics-bar-column small{color:var(--muted);font-size:9px;line-height:1.1}.analytics-status-list,.analytics-horizontal-list{gap:14px;display:grid}.analytics-status-row,.analytics-horizontal-row{gap:6px;display:grid}.analytics-status-label,.analytics-horizontal-label{justify-content:space-between;gap:12px;display:flex}.analytics-horizontal-label span,.analytics-status-label span{color:var(--muted);font-size:12px}.analytics-horizontal-label span{text-align:right}.analytics-meter{border:1px solid var(--line);background:var(--panel-2);border-radius:999px;width:100%;height:10px;overflow:hidden}.analytics-meter-fill{border-radius:inherit;background:var(--gold);min-width:0;height:100%}.analytics-meter-fill.primary{background:var(--gold)}.analytics-meter-fill.active{background:#7d6a4b}.analytics-meter-fill.completed{background:var(--success)}.analytics-meter-fill.cancelled{background:var(--danger)}.analytics-meter-fill.no-show{background:#a66a26}@media (prefers-color-scheme:dark){.analytics-meter-fill.active{background:#c0a77e}.analytics-meter-fill.no-show{background:#d6a15c}}@media (max-width:900px){.overview-kpi-grid,.analytics-kpi-grid{grid-template-columns:repeat(2,1fr)}.overview-grid,.analytics-two-column{grid-template-columns:1fr}}@media (max-width:560px){.login-role-grid,.overview-kpi-grid,.analytics-kpi-grid{grid-template-columns:1fr}.login-role-card{min-height:110px;padding:15px}.analytics-card,.overview-panel{padding:15px}.analytics-bars{min-width:520px}}@media (prefers-contrast:more){.login-role-card,.overview-kpi,.analytics-kpi,.overview-panel,.analytics-card,.analytics-meter{border-width:2px}}.barber-nav{border:1px solid var(--line);background:var(--panel);border-radius:12px;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:6px;display:flex}.barber-nav-link{color:var(--muted);border-radius:8px;padding:10px 14px;font-size:13px;font-weight:800}.barber-nav-link:hover,.barber-nav-link.active{background:var(--primary-bg);color:var(--primary-text)}.barber-summary-grid{grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px;margin-bottom:18px;display:grid}.barber-summary-card{border:1px solid var(--line);background:var(--panel);border-radius:12px;gap:6px;min-height:96px;padding:15px;display:grid}.barber-summary-card span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:800}.barber-summary-card strong{font-size:clamp(20px,3vw,28px);line-height:1.15}.login-role-grid-three{grid-template-columns:repeat(3,1fr)}.login-role-card.compact{grid-template-columns:auto 1fr auto;min-height:92px}.login-role-card.compact strong{margin:0}@media (max-width:760px){.barber-summary-grid{grid-template-columns:repeat(2,1fr)}.login-role-grid-three{grid-template-columns:1fr}}@media (max-width:460px){.barber-summary-grid{grid-template-columns:1fr}}.admin-nav{justify-content:space-between;align-items:center}.admin-nav-links{flex-wrap:wrap;gap:8px;display:flex}.admin-nav-logout{margin-left:auto}.admin-nav-signout{border:1px solid var(--line);background:0 0}.admin-nav-signout:hover{background:var(--panel-2);color:var(--text)}@media (max-width:760px){.admin-nav{flex-direction:column;align-items:stretch}.admin-nav-links{width:100%}.admin-nav-logout{margin-left:0}.admin-nav-signout{width:100%}}.settings-shell{padding-bottom:72px}.settings-customer-nav{flex-wrap:wrap;gap:8px;margin:0 0 22px;display:flex}.settings-summary-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin-bottom:16px;display:grid}.settings-summary-card,.settings-card{border:1px solid var(--line);background:var(--panel);border-radius:13px}.settings-summary-card{gap:7px;min-height:100px;padding:16px;display:grid}.settings-summary-card span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:800}.settings-summary-card strong{overflow-wrap:anywhere;font-size:18px;line-height:1.25}.settings-main-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.settings-card{padding:20px}.settings-card .section-heading{margin-bottom:18px}.settings-card .form-grid{gap:14px;display:grid}.settings-card>.primary-button{margin-top:16px}.settings-note{color:var(--muted);margin:14px 0 0;font-size:13px}.settings-session-card{justify-content:space-between;align-items:center;gap:18px;margin-top:14px;display:flex}.settings-session-card h2{margin:2px 0 3px}.settings-session-card p{color:var(--muted);margin:0;font-size:14px}@media (max-width:900px){.settings-summary-grid{grid-template-columns:repeat(2,1fr)}.settings-main-grid{grid-template-columns:1fr}}@media (max-width:560px){.settings-summary-grid{grid-template-columns:1fr}.settings-card{padding:16px}.settings-session-card{flex-direction:column;align-items:stretch}.settings-session-card .ghost-button{width:100%}}@media (prefers-contrast:more){.settings-summary-card,.settings-card{border-width:2px}}
