@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600;700&display=swap";:root{--bg: #0a0a09;--panel: #12110f;--surface: #1a1816;--surface-2: #232019;--stroke: #342f28;--gold: #c2a374;--gold-2: #d8bf98;--on-dark: #f5f1ea;--on-dark-2: #b3aa9d;--ivory: #ece8e0;--card: #f8f5ef;--card-2: #f0e9de;--line: #d8d0c4;--ink: #211f1b;--ink-2: #5f584e;--ok: #7fb58e;--warn: #e0b36a;--bad: #e39a92;--info: #8fb4d6;--r: 4px;--r-lg: 8px;--serif: "Cormorant Garamond", Georgia, serif;--sans: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--header-h: 72px;font-family:var(--sans);color:var(--on-dark);background:var(--bg);font-synthesis:none}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background:var(--bg);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;font-variant-numeric:lining-nums}h1,h2,h3,p{margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit;text-decoration:none}fieldset{border:0;margin:0;padding:0;min-width:0}small{font-size:12.5px}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}::selection{background:var(--gold);color:#0a0a09}input[type=checkbox]{width:17px;height:17px;accent-color:var(--gold)}.site{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}.wrap{width:100%;max-width:1400px;margin-inline:auto;padding-inline:clamp(18px,4vw,64px)}.site-header{position:sticky;top:0;z-index:30;background:#0a0a09f0;border-bottom:1px solid var(--stroke);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.header-inner{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:none}.brand{display:flex;align-items:center;gap:14px}.brand-logo{width:46px;height:46px;border-radius:50%;object-fit:contain;border:1px solid var(--stroke)}.brand-title{font-size:14px;font-weight:700;letter-spacing:.18em;line-height:1.2}.brand-title small{display:block;margin-top:4px;color:var(--gold);font-size:10px;font-weight:600;letter-spacing:.36em}.header-link{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--stroke);border-radius:999px;color:var(--on-dark-2);font-size:13px;font-weight:500;transition:color .2s,border-color .2s,background .2s}.header-link:hover{color:var(--gold-2);border-color:var(--gold);background:var(--surface)}.header-actions{display:flex;align-items:center;gap:9px}.install-button{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border:1px solid #66553f;border-radius:999px;color:#d7c09d;font-size:12px;font-weight:700}.install-button:hover{background:#211d18;border-color:#a98a61}.footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-block:20px;border-top:1px solid var(--stroke);background:var(--bg);color:#8f877b;font-size:12px}.footer span:last-child{letter-spacing:.14em;color:#a08f76}.notice-bar{position:fixed;top:calc(var(--header-h) + 12px);left:50%;transform:translate(-50%);z-index:90;width:min(520px,calc(100vw - 28px));display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border:1px solid #3f6a4c;border-radius:var(--r-lg);background:#1f3326;color:#d9efe0;font-size:14px;line-height:1.45;box-shadow:0 18px 50px #00000080}.notice-bar.bad{background:#3a211f;border-color:#8f5148;color:#ffe3de}.notice-bar span{flex:1}.notice-bar button{display:grid;place-items:center;padding:2px;color:inherit;opacity:.8}.notice-bar button:hover{opacity:1}.booking-portal{flex:1;display:grid;grid-template-columns:minmax(340px,.72fr) minmax(0,1.28fr);min-height:calc(100svh - var(--header-h));background:var(--ivory);color:var(--ink)}.booking-story{padding:clamp(32px,4vw,64px);background:linear-gradient(180deg,#171510,#0c0b09);border-right:1px solid var(--stroke);color:var(--on-dark)}.story-inner{position:sticky;top:calc(var(--header-h) + 32px);display:flex;flex-direction:column;gap:32px;max-width:440px}.story-kicker{color:var(--gold);font-size:14px;font-weight:600}.story-intro h1{margin:8px 0 14px;font-family:var(--serif);font-size:clamp(44px,4.4vw,64px);font-weight:500;line-height:1;letter-spacing:-.02em}.story-description{max-width:38ch;color:var(--on-dark-2);font-size:16px;line-height:1.65}.story-points{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;color:#d9d2c6;font-size:14px}.story-points li{display:flex;align-items:center;gap:10px}.story-points svg{flex:none;color:var(--gold)}.story-summary{padding:20px 22px;background:#171512;border:1px solid var(--stroke);border-radius:var(--r-lg)}.story-summary h2{margin-bottom:6px;font-size:14px;font-weight:700}.story-summary dl{margin:0}.story-summary dl>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--stroke)}.story-summary dt{color:var(--on-dark-2);font-size:13px}.story-summary dd{margin:0;font-size:14px;font-weight:600;text-align:right}.story-summary dd small{display:block;color:var(--on-dark-2);font-size:12.5px;font-weight:400}.story-summary dd.pending{color:#8f877b;font-weight:400}.story-summary .total{padding-bottom:0;border-bottom:0}.story-summary .total dd{color:var(--gold-2);font-size:20px}@media(max-width:1180px){.story-inner{position:static;max-width:640px;gap:20px}.story-summary{display:none}.story-points{flex-direction:row;flex-wrap:wrap;gap:8px 22px}}@media(max-width:780px){.booking-story{padding:26px 22px}.story-intro h1{font-size:38px;margin-bottom:10px}.story-description{font-size:15px}}@media(max-width:520px){.story-points{display:none}}.booking-workspace{display:flex;justify-content:center;align-items:flex-start;padding:clamp(24px,4vw,60px)}.booking-card{width:min(740px,100%);margin:auto;padding:clamp(24px,4vw,52px);background:var(--card);border:1px solid var(--line);box-shadow:0 28px 70px #3d352c1f}.booking-status{display:flex;justify-content:space-between;align-items:center;color:var(--ink-2);font-size:12px;font-weight:600;letter-spacing:.08em}.booking-status span{display:flex;align-items:center;gap:9px}.booking-status i{width:7px;height:7px;border-radius:50%;background:#5f8f68;box-shadow:0 0 0 4px #5f8f6826}.booking-status strong{color:var(--ink);font-size:13px}.booking-progress{height:3px;margin:14px 0 22px;background:#ddd5ca;overflow:hidden}.booking-progress span{display:block;height:100%;background:#9a7a4e;transition:width .25s ease}.booking-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 clamp(30px,4vw,44px);padding:0;list-style:none}.booking-steps li{display:flex;align-items:center;gap:10px;color:#8d8579;font-size:13px;font-weight:600}.booking-steps li span{display:grid;place-items:center;width:26px;height:26px;border:1px solid #c8bfb2;border-radius:50%;font-size:12px}.booking-steps li.active{color:var(--ink)}.booking-steps li.active span{background:var(--ink);border-color:var(--ink);color:#fff}.booking-steps li.done{color:#6b5538}.booking-steps li.done span{background:#b09063;border-color:#b09063;color:#fff}.booking-heading{margin-bottom:30px}.booking-heading p{margin-bottom:10px;color:#8a6c46;font-size:11px;font-weight:700;letter-spacing:.2em}.booking-heading h2{margin-bottom:10px;font-family:var(--serif);font-size:clamp(36px,4vw,50px);font-weight:600;line-height:1;letter-spacing:-.02em}.booking-heading>span{color:var(--ink-2);font-size:15px}.booking-fieldset{margin-bottom:28px}.booking-fieldset legend{width:100%;padding:0 0 12px;border-bottom:1px solid var(--line);font-size:14px;font-weight:700}.service-choice-grid,.barber-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.service-choice,.barber-choice{position:relative;width:100%;text-align:left;background:#fbf9f5;border:1px solid var(--line);border-radius:var(--r);color:var(--ink);transition:border-color .18s,background .18s,box-shadow .18s}.service-choice:hover,.barber-choice:hover,.date-choice:hover,.time-choice:hover{border-color:#a78b66}.service-choice.selected,.barber-choice.selected{background:var(--card-2);border-color:var(--ink);box-shadow:inset 3px 0 #a88659}.service-choice{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;min-height:84px;padding:14px 44px 14px 14px}.choice-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#eae1d4;color:#735a38}.choice-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.choice-copy strong,.barber-choice strong{font-size:14px;font-weight:700}.choice-copy small,.barber-choice small{color:var(--ink-2)}.choice-price{font-size:14px;font-weight:700;white-space:nowrap}.choice-check{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:20px;height:20px;border:1px solid #c3b9ab;border-radius:50%;color:transparent}.selected .choice-check{background:var(--ink);border-color:var(--ink);color:#fff}.barber-choice{display:flex;align-items:center;gap:12px;min-height:72px;padding:12px 44px 12px 12px}.barber-choice>span:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0}.barber-avatar,.staff-avatar{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:#ddd0bd;color:#5e4729;font-family:var(--serif);font-size:22px;font-weight:600}.booking-primary{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:54px;padding:14px 20px;background:var(--ink);border:1px solid var(--ink);border-radius:var(--r);color:#fff;font-size:14px;font-weight:600;transition:background .18s,transform .18s}.booking-primary:hover:not(:disabled){background:#4a3a27}.booking-primary:active:not(:disabled){transform:translateY(1px)}.booking-primary:disabled{background:#a8a29a;border-color:#a8a29a}.booking-primary svg{transition:transform .18s}.booking-primary:hover:not(:disabled) svg{transform:translate(3px)}.booking-back{display:flex;align-items:center;gap:8px;margin-bottom:22px;color:var(--ink-2);font-size:13px;font-weight:600}.booking-back:hover{color:var(--ink)}.date-choice-row{display:flex;gap:8px;padding:14px 1px 10px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#b7a68f transparent}.date-choice{flex:0 0 66px;height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:#fbf9f5;border:1px solid var(--line);border-radius:var(--r);color:var(--ink-2);transition:border-color .18s,background .18s}.date-choice small{font-size:11px;text-transform:uppercase;letter-spacing:.06em}.date-choice strong{font-size:22px;font-weight:700;line-height:1.2;color:var(--ink)}.date-choice span{font-size:11px;text-transform:uppercase;color:#8d8579}.date-choice.selected{background:var(--ink);border-color:var(--ink)}.date-choice.selected strong{color:#fff}.date-choice.selected small,.date-choice.selected span{color:#d2b995}.date-picker{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:8px;color:var(--ink-2);font-size:13px}.date-picker input{height:40px;padding:8px 10px;background:#fff;border:1px solid #cfc5b7;border-radius:var(--r);color:var(--ink);color-scheme:light;font-size:13px}.time-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px}.time-choice{display:flex;align-items:center;justify-content:center;gap:6px;min-height:46px;background:#fff;border:1px solid var(--line);border-radius:var(--r);color:#4a443c;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;transition:border-color .18s,background .18s}.time-choice.selected{background:var(--ink);border-color:var(--ink);color:#fff}.booking-empty{display:flex;justify-content:center;align-items:center;gap:12px;min-height:80px;margin-top:14px;padding:16px;background:#f3eee6;border:1px dashed #cdc2b3;border-radius:var(--r);color:var(--ink-2);font-size:14px;text-align:left}.booking-empty div{display:flex;flex-direction:column;gap:3px}.booking-empty strong{color:var(--ink)}.booking-empty.loading>span{width:18px;height:18px;border:2px solid #c5b9aa;border-top-color:#72583a;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.mobile-selection{display:none}.booking-review{margin-bottom:24px;padding:4px 18px;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r)}.booking-review>div{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:50px;border-bottom:1px solid #ddd3c5}.booking-review>div:last-child{border-bottom:0}.booking-review span{display:flex;align-items:center;gap:8px;color:var(--ink-2);font-size:13px}.booking-review strong{font-size:14px;text-align:right}.booking-review .review-total{min-height:60px}.booking-review .review-total strong{font-size:20px;font-weight:700;color:var(--ink)}.booking-contact{display:block}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-contact label{display:flex;flex-direction:column;gap:7px;color:#3f3a33;font-size:13px;font-weight:600}.booking-contact input{height:50px;padding:11px 14px;background:#fff;border:1px solid #c9bfb1;border-radius:var(--r);color:var(--ink);font-size:15px;font-weight:400}.booking-contact input::placeholder{color:#a39b8f}.booking-contact input:focus{outline:none;border-color:#8a6c46;box-shadow:0 0 0 3px #8a6c4633}.booking-contact label.invalid input{border-color:#a84e45;background:#fff9f7}.booking-contact .booking-primary{margin-top:20px}.field-help,.field-error{min-height:16px;font-size:12.5px;font-weight:500}.field-help{color:var(--ink-2)}.field-error{color:#9b3d35}.field-error:empty{display:none}.booking-reassurance{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:16px;color:var(--ink-2);font-size:12.5px}.booking-success{text-align:center;max-width:640px}.success-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 20px;border-radius:50%;background:#e3eddf;border:1px solid #b8cbb4;color:#476645}.success-kicker{color:#5f7a50;font-size:11px;font-weight:700;letter-spacing:.2em}.booking-success h2{margin:10px 0;font-family:var(--serif);font-size:clamp(42px,5vw,60px);font-weight:600;line-height:1;letter-spacing:-.02em}.booking-success>p:not(.success-kicker){margin-bottom:28px;color:var(--ink-2)}.success-review{text-align:left}.admin-page{flex:1;padding-block:48px 72px}.login-panel{max-width:440px;margin:24px auto 64px;padding:44px 40px;text-align:center;background:var(--panel);border:1px solid #5b4b34;border-radius:var(--r-lg)}.login-logo{width:104px;height:104px;margin-bottom:20px;border-radius:50%;object-fit:cover}.eyebrow,.overline{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.2em}.centered{text-align:center}.login-panel h1{margin:12px 0 6px;font-family:var(--serif);font-size:46px;font-weight:500;line-height:1.05}.login-panel p{color:var(--on-dark-2);font-size:14px}.login-form{display:flex;flex-direction:column;gap:18px;margin:30px 0 22px;text-align:left}.login-foot{color:#968d80;font-size:12.5px}.form-label{display:flex;flex-direction:column;gap:8px;color:var(--on-dark-2);font-size:13px;font-weight:600}.form-label input,.form-label select,.search-row input,.service-edit input[type=number]{width:100%;min-width:0;min-height:46px;padding:11px 13px;background:var(--surface-2);border:1px solid #3f3a31;border-radius:var(--r);color:var(--on-dark);color-scheme:dark;font-size:14px;font-weight:400}.form-label input::placeholder,.search-row input::placeholder{color:#82796c}.form-label input:focus,.form-label select:focus,.search-row input:focus,.date-toolbar input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #c2a37433}.btn-main{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;padding:14px 20px;background:var(--gold);border:1px solid var(--gold-2);border-radius:var(--r);color:#17140f;font-size:14px;font-weight:700;transition:background .18s}.btn-main:hover:not(:disabled){background:var(--gold-2)}.login-form .btn-main{margin-top:6px}.admin-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px}.admin-heading h1{margin-top:10px;font-family:var(--serif);font-size:clamp(44px,5vw,68px);font-weight:500;line-height:1;letter-spacing:-.02em}.gold-dot{color:var(--gold)}.logout,.icon-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--stroke);border-radius:var(--r);color:var(--on-dark-2);font-size:13px;font-weight:500;transition:color .18s,border-color .18s}.logout{padding:10px 16px}.icon-button{min-width:42px;height:42px;padding:0 10px}.logout:hover,.icon-button:hover{color:var(--gold-2);border-color:#77674e}.admin-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start}.admin-nav{position:sticky;top:calc(var(--header-h) + 16px);display:flex;flex-direction:column;gap:4px;padding:8px;background:var(--panel);border:1px solid var(--stroke);border-radius:var(--r-lg)}.admin-nav button{display:flex;align-items:center;gap:12px;padding:14px;border-radius:var(--r);color:var(--on-dark-2);font-size:14px;font-weight:600;text-align:left;transition:background .18s,color .18s}.admin-nav button:hover:not(.active){background:var(--surface-2);color:var(--on-dark)}.admin-nav button.active{background:#d5bea0;color:#1b1814}.admin-content{min-width:0;min-height:560px;padding:clamp(20px,3vw,36px);background:var(--panel);border:1px solid var(--stroke);border-radius:var(--r-lg)}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.panel-head h2{margin-top:6px;font-family:var(--serif);font-size:clamp(36px,4vw,48px);font-weight:500;line-height:1.05}.counter{padding:8px 12px;border:1px solid var(--stroke);border-radius:var(--r);color:var(--on-dark-2);font-size:13px}.subheading,.list-header h3{font-size:16px;font-weight:700}.subheading{margin-bottom:4px}.section-description{margin-bottom:20px;color:var(--on-dark-2);font-size:14px;line-height:1.65}.field-hint{margin-top:14px;color:#9a9185;font-size:13px;line-height:1.6}.divider{height:1px;margin:32px 0;background:var(--stroke)}.gold-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:var(--r);font-size:13.5px;font-weight:700;white-space:nowrap;transition:background .18s,border-color .18s}.gold-button{background:#d4b58b;border:1px solid #d4b58b;color:#1d1812}.gold-button:hover:not(:disabled){background:#e2c9a3}.secondary-button{background:var(--surface-2);border:1px solid #72624a;color:var(--gold-2)}.secondary-button:hover:not(:disabled){background:#302b20}.save-button{margin-top:20px}.text-action{padding:8px 10px;color:var(--gold-2);font-size:13px;font-weight:700;border-radius:var(--r)}.text-action:hover{background:var(--surface-2)}.danger-text{color:var(--bad)!important}.date-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:22px}.date-toolbar input{height:42px;padding:8px 12px;background:var(--surface-2);border:1px solid #3f3a31;border-radius:var(--r);color-scheme:dark;font-size:14px}.today-button{height:42px;padding:0 16px;background:var(--surface);border:1px solid var(--stroke);border-radius:var(--r);color:var(--on-dark-2);font-size:13px;font-weight:600}.today-button:hover{color:var(--gold-2);border-color:#77674e}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:32px}.metric{min-width:0;padding:18px;background:var(--surface);border:1px solid var(--stroke);border-left:3px solid var(--gold);border-radius:var(--r)}.metric small{display:block;color:var(--on-dark-2);font-weight:600}.metric strong{display:block;margin:4px 0;font-size:34px;font-weight:600;line-height:1.15;color:#f4ebd7}.metric span{color:#9a9185;font-size:12.5px}.list-header{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--stroke)}.list-header span{color:var(--on-dark-2);font-size:13px;text-transform:capitalize}.admin-empty,.quiet-empty{display:flex;justify-content:center;align-items:center;gap:12px;color:#9a9185;text-align:center;font-size:14px}.admin-empty{flex-direction:column;min-height:170px;background:var(--surface);border:1px dashed var(--stroke);border-radius:var(--r)}.quiet-empty{padding:18px 0}.appointment-list{display:flex;flex-direction:column;gap:10px}.appointment-card{display:flex;gap:18px;padding:18px;background:var(--surface);border:1px solid var(--stroke);border-radius:var(--r)}.appt-time{display:flex;flex-direction:column;gap:6px;min-width:66px;padding-right:18px;border-right:1px solid var(--stroke)}.appt-time strong{font-size:22px;font-weight:700;line-height:1.1;color:var(--gold-2);font-variant-numeric:tabular-nums}.appt-time small{color:#9a9185;font-size:11px;letter-spacing:.08em}.appt-main{flex:1;min-width:0}.appt-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.appt-top strong{font-size:15px}.appt-main p{margin:6px 0;color:var(--on-dark-2);font-size:14px}.phone-link{display:inline-flex;align-items:center;gap:6px;color:var(--gold-2);font-size:13px}.phone-link:hover{text-decoration:underline}.appt-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.appt-actions button{display:flex;align-items:center;gap:7px;padding:8px 12px;background:var(--surface-2);border:1px solid #473f34;border-radius:var(--r);color:#d9d2c6;font-size:13px;font-weight:500}.appt-actions button:hover:not(:disabled){border-color:#77674e}.status-pill{padding:4px 10px;border:1px solid #3f6a4c;border-radius:999px;background:#1f3326;color:var(--ok);font-size:12px;font-weight:600;white-space:nowrap}.status-pill.completed{background:#1d2c38;border-color:#3d5a73;color:var(--info)}.status-pill.cancelled{background:#2b2623;border-color:#5a4d44;color:#bfae9c}.status-pill.no_show{background:#382b1a;border-color:#7a5d2b;color:var(--warn)}.select-barber{max-width:320px;margin-bottom:28px}.rules{margin-top:14px;border:1px solid var(--stroke);border-radius:var(--r);overflow:hidden}.rule-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--stroke)}.rule-row:last-child{border-bottom:0}.toggle-day{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;cursor:pointer}.rule-times{display:flex;align-items:center;gap:10px;color:var(--on-dark-2);font-size:13px}.rule-times input{padding:8px 10px;background:var(--surface-2);border:1px solid #473f34;border-radius:var(--r);color-scheme:dark;font-size:14px}.closed-day{color:#968d80;font-size:13px}.inline-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:16px}.inline-form .form-label{flex:1 1 170px}.inline-form .secondary-button{min-height:46px}.search-row{display:flex;gap:10px;margin-bottom:4px}.search-row input{max-width:400px}.simple-list{display:flex;flex-direction:column;margin-top:18px}.simple-list:empty{display:none}.simple-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--stroke)}.simple-row>span:first-child{display:flex;align-items:center;gap:10px;font-size:14px}.simple-row small{margin-left:6px;color:var(--on-dark-2)}.staff-info{display:flex;align-items:center;gap:14px}.staff-avatar{background:#262218;border:1px solid #4c4538;color:var(--gold);flex-basis:40px;width:40px;height:40px}.staff-info>span:last-child,.client-data{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.staff-info small,.client-data small{margin:0}.staff-info strong,.client-data strong{font-size:14px}.row-controls{display:flex;align-items:center;gap:8px}.archived-badge{margin-left:6px;padding:2px 8px;background:#3a2623;border-radius:999px;color:var(--bad);font-size:11.5px;font-weight:600}.service-admin-list{display:flex;flex-direction:column;gap:10px}.service-edit{display:flex;align-items:flex-end;gap:10px;padding:14px;background:var(--surface);border:1px solid var(--stroke);border-radius:var(--r)}.service-edit .form-label{flex:2;min-width:0}.service-edit .form-label:nth-child(2),.service-edit .form-label:nth-child(3){flex:1}.service-toggle{display:flex;align-items:center;gap:8px;padding-bottom:12px;color:var(--on-dark-2);font-size:13px;white-space:nowrap}.service-edit .icon-button{height:46px}.modal-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:18px;background:#050504d1;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{width:min(620px,100%);max-height:90vh;padding:28px;overflow:auto;background:#171512;border:1px solid #4a4336;border-radius:var(--r-lg)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.modal-head h2{font-family:var(--serif);font-size:32px;font-weight:500}.manual-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.manual-form .full{grid-column:1 / -1}.site:has(.admin-page){background:#e9e5de;color:#25221e}.site:has(.admin-page) .footer{background:#11100e;color:#a99d8d}.admin-page{max-width:1440px}.admin-heading{align-items:center}.admin-heading h1{margin-bottom:0;color:#24211d}.admin-heading .eyebrow{color:#846744}.admin-page .logout,.admin-page .icon-button{background:#f8f5ef;border-color:#d5cdc1;color:#625a50}.admin-page .logout:hover,.admin-page .icon-button:hover{border-color:#9f8561;color:#3e3020}.admin-shell{grid-template-columns:236px minmax(0,1fr);gap:20px}.admin-nav{top:calc(var(--header-h) + 18px);gap:6px;padding:12px;background:#f8f5ef;border-color:#d6cec2;border-radius:12px;box-shadow:0 16px 40px #2a231b14}.admin-nav-label{display:block;padding:7px 10px 11px;color:#94897b;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.admin-nav button{position:relative;min-height:48px;color:#655e55;border:1px solid transparent;border-radius:7px}.admin-nav button:hover:not(.active){background:#eee8df;color:#2c2823}.admin-nav button.active{background:#26231f;border-color:#26231f;color:#fff;box-shadow:0 7px 18px #26231f29}.admin-nav button.active:before{content:"";position:absolute;left:-5px;width:3px;height:22px;border-radius:2px;background:var(--gold)}.admin-content{background:#fbf9f5;border-color:#d6cec2;border-radius:12px;box-shadow:0 18px 50px #2a231b14}.admin-content .overline{color:#846744}.admin-content .panel-head h2,.admin-content .subheading,.admin-content .list-header h3{color:#26231f}.admin-content .section-description,.admin-content .field-hint,.admin-content .quiet-empty{color:#746c61}.admin-content .divider,.admin-content .list-header,.admin-content .simple-row{border-color:#ddd5c9}.admin-content .divider{background:#ddd5c9}.admin-content .counter{border-color:#d6cec2;color:#6e665c;background:#f3eee6}.admin-page .form-label{color:#5d564e}.admin-page .form-label input,.admin-page .form-label select,.admin-page .search-row input,.admin-page .service-edit input[type=number]{background:#fff;border-color:#d2c9bc;color:#26231f;color-scheme:light}.admin-page .form-label input::placeholder,.admin-page .search-row input::placeholder{color:#a39a8e}.admin-page .secondary-button{background:#f3eee6;border-color:#c1ad90;color:#59452e}.admin-page .secondary-button:hover:not(:disabled){background:#e9dfd1}.admin-page .text-action{color:#765a36}.admin-page .text-action:hover{background:#eee8df}.admin-page .date-toolbar input{background:#fff;border-color:#d2c9bc;color:#29251f;color-scheme:light}.admin-page .today-button{background:#fff;border-color:#d2c9bc;color:#655d53}.admin-page .today-button:hover{color:#5b4428;border-color:#aa8b64}.admin-page .metric{background:#f2ede5;border-color:#d9d0c4;border-left-color:#af8957}.admin-page .metric small{color:#665e54}.admin-page .metric strong{color:#2b2722}.admin-page .metric span{color:#837a6e}.admin-page .list-header span{color:#776f64}.admin-page .admin-empty{background:#f3eee6;border-color:#d4cabc;color:#7a7166}.admin-page .appointment-list{gap:12px}.admin-page .appointment-history-divider{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:12px;padding:18px 2px 4px;border-top:1px solid #d8d0c4;color:#625b52}.admin-page .appointment-history-divider span{font-size:13px;font-weight:700}.admin-page .appointment-history-divider small{color:#91877b;font-size:11px}.admin-page .appointment-card{position:relative;background:#fff;border-color:#d8d0c4;border-left:3px solid #ae8858;border-radius:8px;box-shadow:0 6px 18px #2d251c0b;transition:opacity .2s,box-shadow .2s}.admin-page .appointment-card.is-muted{opacity:.5;background:#f1eee9;border-left-color:#b8afa3;box-shadow:none}.admin-page .appointment-card.is-muted:hover,.admin-page .appointment-card:focus-within{opacity:.82}.admin-page .appointment-card.is-terminal{order:3}.admin-page .appt-time{border-color:#ded6ca}.admin-page .appt-time strong{color:#74532f}.admin-page .appt-time small{color:#897f73}.admin-page .appt-top strong{color:#28241f}.admin-page .appt-main p{color:#625b52}.admin-page .phone-link{color:#745532}.admin-page .appointment-contact{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.admin-page .whatsapp-link{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 10px;border:1px solid #b8d6c0;border-radius:999px;background:#e8f5eb;color:#28633a;font-size:12px;font-weight:700;transition:background .18s,border-color .18s}.admin-page .whatsapp-link:hover{background:#d9eedf;border-color:#85b590}.admin-page .appt-actions button{background:#f6f2eb;border-color:#d7cdbf;color:#4e4942}.admin-page .appt-actions button:hover:not(:disabled){background:#ece4d8;border-color:#af9571}.admin-page .status-pill{background:#e6f1e8;border-color:#b7d0bc;color:#356844}.admin-page .status-pill.completed{background:#e9eef2;border-color:#c8d3dc;color:#4a6378}.admin-page .status-pill.cancelled{background:#ece8e3;border-color:#d3c8bd;color:#74685d}.admin-page .status-pill.no_show,.admin-page .status-pill.past{background:#f5ead8;border-color:#dfc59c;color:#795727}.admin-page .rules{border-color:#d7cec1}.admin-page .rule-row,.admin-page .service-edit{background:#f5f1ea;border-color:#ddd4c8}.admin-page .rule-times,.admin-page .closed-day,.admin-page .service-toggle,.admin-page .simple-row small{color:#776f64}.admin-page .rule-times input{background:#fff;border-color:#d2c9bc;color:#29251f;color-scheme:light}.admin-page .staff-avatar{background:#e8ddce;border-color:#d1bea4;color:#6d4f2c}.admin-page .archived-badge{background:#f1dfdc;color:#8b4942}.schedule-settings{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr);gap:14px;max-width:650px;margin-bottom:30px}.schedule-settings .select-barber{max-width:none;margin:0}.booking-window small{color:#8b8175;font-weight:400}.schedule-rules{display:flex;flex-direction:column;gap:0}.schedule-day{padding:15px 16px;background:#f5f1ea;border-bottom:1px solid #ddd4c8}.schedule-day:last-child{border-bottom:0}.schedule-day-head{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:34px}.schedule-day-head strong{color:#2b2722;font-size:14px}.schedule-day-head .text-action{display:inline-flex;align-items:center;gap:5px}.schedule-block{display:grid;grid-template-columns:26px minmax(112px,1fr) auto minmax(112px,1fr) 38px;align-items:center;gap:9px;margin-top:10px}.schedule-block input{min-width:0;height:42px;padding:8px 10px;background:#fff;border:1px solid #d2c9bc;border-radius:var(--r);color:#29251f;color-scheme:light}.block-number{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e5d7c4;color:#6a4f2e;font-size:11px;font-weight:700}.schedule-block .block-remove{min-width:36px;width:36px;height:36px;color:#9b5148}.time-off-form .form-label{min-width:150px}.time-off-row>span>span{display:flex;flex-direction:column;gap:3px}.time-off-row small{margin:0}.client-directory{display:grid;gap:10px;margin-top:18px}.client-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;background:#fff;border:1px solid #d8d0c4;border-radius:8px}.client-card.archived{opacity:.62;background:#f2eee8}.client-avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#e8ddce;color:#6d4f2c;font-family:var(--serif);font-size:22px;font-weight:600}.client-card .client-data{gap:5px}.client-card .client-data>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.client-card .client-data strong{color:#28241f;font-size:15px}.client-card .client-data a{display:inline-flex;align-items:center;gap:6px;color:#745532;font-size:13px}.client-card .client-data small{color:#7d7468}.client-card .client-data p{margin:3px 0 0;color:#6e665c;font-size:12px}.client-actions{display:flex;align-items:center;gap:7px}.client-actions .secondary-button{min-height:36px;padding:7px 10px}.service-actions{display:flex;gap:6px}.admin-page .delete-button{color:#9b5148}.admin-page .delete-button:hover{border-color:#c99690;color:#7e342d}.site:has(.admin-page) .modal{background:#fbf9f5;border-color:#d6cec2;color:#26231f}.site:has(.admin-page) .modal .form-label{color:#5d564e}.site:has(.admin-page) .modal .form-label input,.site:has(.admin-page) .modal .form-label select{background:#fff;border-color:#d2c9bc;color:#26231f;color-scheme:light}.site:has(.admin-page) .login-panel{background:#fbf9f5;border-color:#d1bea4;color:#26231f;box-shadow:0 18px 50px #2a231b1a}.site:has(.admin-page) .login-panel p,.site:has(.admin-page) .login-foot{color:#746c61}@media(max-width:1180px){.booking-portal{display:block;min-height:0}.booking-workspace{padding:36px}.admin-shell{grid-template-columns:180px minmax(0,1fr);gap:16px}}@media(max-width:780px){:root{--header-h: 64px}.brand-logo{width:40px;height:40px}.brand-title{font-size:12px;letter-spacing:.14em}.brand-title small{font-size:9px}.site-header{position:relative}.notice-bar{top:76px}.booking-workspace{padding:20px 16px 36px}.booking-card{padding:28px 22px}.mobile-selection{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line);color:var(--ink-2);font-size:13px}.mobile-selection strong{color:var(--ink);white-space:nowrap}.admin-page{padding-block:24px 44px}.admin-heading{margin-bottom:18px}.admin-heading h1{font-size:43px}.admin-shell{display:flex;flex-direction:column;gap:14px}.admin-nav{position:sticky;top:8px;z-index:20;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;gap:3px;padding:6px;overflow:visible;box-shadow:0 10px 28px #2a231b24}.admin-nav-label{display:none}.admin-nav button{min-width:0;min-height:54px;padding:7px 3px;flex-direction:column;justify-content:center;gap:5px;font-size:9px;text-align:center}.admin-nav button svg{width:17px;height:17px}.admin-nav button.active:before{left:50%;top:-4px;width:22px;height:3px;transform:translate(-50%)}.admin-content{width:100%;padding:22px 18px;border-radius:12px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric strong{font-size:36px}.service-edit{flex-wrap:wrap}.service-edit .form-label:first-child{flex-basis:100%}.client-card{grid-template-columns:42px minmax(0,1fr)}.client-actions{grid-column:1 / -1;justify-content:flex-end;padding-top:10px;border-top:1px solid #e1d9ce}.footer{flex-direction:column;align-items:flex-start}}@media(max-width:520px){.header-link{font-size:0;padding:10px;gap:0}.header-link svg{width:18px;height:18px}.install-button{font-size:0;padding:10px}.booking-workspace{padding:0;background:var(--card)}.booking-card{padding:26px 18px 36px;border:0;box-shadow:none}.booking-steps li{font-size:0;gap:0}.booking-steps li span{font-size:12px}.booking-heading h2{font-size:38px}.service-choice-grid,.barber-choice-grid,.contact-grid,.manual-form{grid-template-columns:1fr}.manual-form .full{grid-column:auto}.time-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.date-picker{flex-direction:column;align-items:flex-start;gap:8px}.date-picker input{width:100%}.booking-review>div{flex-direction:column;align-items:flex-start;gap:6px;padding:12px 0}.booking-review strong{text-align:left}.booking-review .review-total{flex-direction:row;align-items:center}.appointment-card{flex-direction:column;gap:12px}.appt-time{flex-direction:row;align-items:baseline;gap:10px;padding:0 0 12px;border-right:0;border-bottom:1px solid var(--stroke)}.appt-top{flex-direction:column;align-items:flex-start;gap:8px}.rule-row{flex-wrap:wrap}.login-panel{padding:28px 20px}.modal{padding:20px}.schedule-settings{grid-template-columns:1fr}.schedule-block{grid-template-columns:24px minmax(0,1fr) auto minmax(0,1fr) 34px;gap:5px}.schedule-day{padding:13px 10px}.schedule-day-head .text-action{font-size:11px}.schedule-block input{padding-inline:5px;font-size:12px}.time-off-form{display:grid;grid-template-columns:1fr 1fr}.time-off-form .form-label:nth-child(3),.time-off-form .secondary-button{grid-column:1 / -1}.client-card{padding:14px}.client-actions{justify-content:flex-start;flex-wrap:wrap}.service-actions{margin-left:auto}.admin-heading .eyebrow{font-size:9px}.admin-heading h1{font-size:38px}.admin-heading .logout{width:42px;height:42px;padding:0}.admin-heading .logout span{display:none}.admin-content{padding:20px 14px}.panel-head{align-items:flex-end}.panel-head h2{font-size:38px}.panel-head .gold-button{padding-inline:12px}.date-toolbar{display:grid;grid-template-columns:42px minmax(0,1fr) 42px 52px;gap:6px}.date-toolbar .icon-button,.date-toolbar input,.date-toolbar .today-button{width:100%;min-width:0;padding-inline:6px}.metric{padding:15px}.metric strong{font-size:31px}.admin-page .appointment-card{padding:15px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
