@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');

:root { --ink:#171714; --ink-soft:#282922; --cream:#f4efe5; --paper:#fffdf8; --copper:#b9673d; --copper-dark:#8f482a; --olive:#74765a; --sage:#bfc3a6; --gold:#d6a85a; --line:rgba(23,23,20,.14); --muted:#696a61; --shadow:0 24px 70px rgba(29,26,19,.14); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans",sans-serif; line-height:1.5; }
body.modal-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
img { max-width:100%; }
.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; }
.shell { width:min(1180px, calc(100% - 40px)); margin-inline:auto; }
.narrow-shell { width:min(760px, calc(100% - 40px)); }
.announcement { min-height:34px; display:flex; align-items:center; justify-content:center; gap:10px; padding:7px 16px; color:#f8f2e8; background:var(--ink); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.announcement-dot,.status-dot,.success-dot,.live-dot { width:6px; height:6px; border-radius:50%; background:#84ad72; display:inline-block; box-shadow:0 0 0 4px rgba(132,173,114,.16); }
.site-header { height:76px; display:flex; align-items:center; padding:0 max(20px, calc((100vw - 1180px)/2)); background:rgba(255,253,248,.95); border-bottom:1px solid var(--line); position:relative; z-index:50; }
.brand { display:inline-flex; align-items:center; gap:10px; }
.brand-mark { width:42px; height:42px; border:1px solid currentColor; display:grid; place-items:center; font-family:"Playfair Display",serif; font-size:17px; transform:rotate(-3deg); }
.brand-copy { display:grid; line-height:1; }
.brand-copy strong { font-family:"Playfair Display",serif; font-size:17px; letter-spacing:.07em; }
.brand-copy small { font-size:8px; letter-spacing:.22em; margin-top:4px; }
.main-nav { margin-left:auto; display:flex; gap:30px; align-items:center; font-size:13px; font-weight:600; }
.main-nav a { position:relative; }
.main-nav a:after { content:""; position:absolute; left:0; right:100%; bottom:-6px; height:2px; background:var(--copper); transition:.2s; }
.main-nav a:hover:after { right:0; }
.header-book { margin-left:30px; }
.menu-toggle { display:none; background:none; border:0; padding:8px; }
.menu-toggle>span:not(.sr-only) { display:block; width:22px; height:2px; margin:4px; background:var(--ink); }
.button { min-height:50px; display:inline-flex; justify-content:center; align-items:center; gap:28px; padding:0 24px; border:0; background:var(--copper); color:#fff; font-size:13px; font-weight:700; letter-spacing:.03em; cursor:pointer; transition:transform .2s,background .2s; }
.button:hover,.dash-button:hover { transform:translateY(-2px); }
.button-small { min-height:42px; padding-inline:20px; }
.button-dark { background:var(--ink); }
.button-dark:hover { background:var(--copper-dark); }
.button-block { width:100%; }
.text-link { display:inline-block; border-bottom:1px solid currentColor; padding-bottom:4px; font-weight:600; font-size:13px; }
.text-link-light { color:#fff; }
.eyebrow { margin:0 0 14px; color:var(--copper-dark); font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.eyebrow-light { color:#e3b08f; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:"Playfair Display",serif; line-height:.98; letter-spacing:-.025em; }
h1 em,h2 em { color:var(--copper); font-weight:600; }
.hero { min-height:690px; position:relative; display:flex; align-items:center; color:#fff; overflow:hidden; }
.hero-image { position:absolute; inset:0; background:url('../images/hero-barbershop.png') center 45%/cover no-repeat; transform:scale(1.01); }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(13,14,11,.91) 0%,rgba(13,14,11,.6) 48%,rgba(13,14,11,.08) 100%),linear-gradient(0deg,rgba(13,14,11,.4),transparent 50%); }
.hero-content { position:relative; z-index:2; padding-block:85px; }
.hero h1 { max-width:700px; margin-bottom:24px; font-size:clamp(62px,8vw,108px); }
.hero h1 em { color:#e2a17c; }
.hero-lede { max-width:510px; margin-bottom:34px; color:rgba(255,255,255,.8); font-size:17px; }
.hero-actions { display:flex; align-items:center; gap:28px; }
.hero-status { position:absolute; right:max(20px,calc((100vw - 1180px)/2)); bottom:28px; z-index:3; display:flex; align-items:center; gap:10px; font-size:11px; letter-spacing:.04em; }
.proof-strip { display:grid; grid-template-columns:repeat(4,1fr); background:var(--cream); border-bottom:1px solid var(--line); }
.proof-strip div { padding:26px 20px; text-align:center; border-right:1px solid var(--line); }
.proof-strip div:last-child { border:0; }
.proof-strip strong { display:block; font-family:"Playfair Display",serif; font-size:22px; }
.proof-strip span { color:var(--muted); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.section { padding:110px 0; }
.section-heading { margin-bottom:52px; }
.section-heading h2,.story-copy h2,.visit-copy h2,.profile-details h2 { margin:0; font-size:clamp(48px,6vw,78px); }
.split-heading { display:grid; grid-template-columns:1.25fr .75fr; align-items:end; }
.split-heading>p { max-width:440px; color:var(--muted); }
.service-list { border-top:1px solid var(--line); }
.service-row { display:grid; grid-template-columns:64px 1fr 100px 70px; align-items:center; gap:20px; padding:27px 0; border-bottom:1px solid var(--line); }
.service-number { color:var(--copper); font-family:"Playfair Display",serif; font-size:13px; }
.service-copy h3 { margin:0 0 4px; font:600 24px/1.2 "Playfair Display",serif; }
.service-copy p,.service-duration { margin:0; color:var(--muted); font-size:13px; }
.service-price { text-align:right; font-family:"Playfair Display",serif; font-size:24px; }
.center-action { margin-top:42px; text-align:center; }
.story-section { background:var(--ink); color:#fff; overflow:hidden; }
.story-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:9%; align-items:center; }
.story-card { min-height:490px; padding:48px; background:linear-gradient(135deg,#b86b42,#743f27); display:flex; flex-direction:column; justify-content:space-between; transform:rotate(-2deg); box-shadow:var(--shadow); }
.story-stamp { width:82px; height:82px; border:1px solid rgba(255,255,255,.55); border-radius:50%; display:grid; place-content:center; text-align:center; font-family:"Playfair Display",serif; line-height:1; }
.story-stamp small { font:6px/1 "DM Sans"; letter-spacing:.18em; }
.story-card blockquote { margin:100px 0 25px; font:600 31px/1.25 "Playfair Display",serif; }
.story-card>p { margin:0; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.story-copy>p:not(.eyebrow) { max-width:550px; color:rgba(255,255,255,.66); }
.story-points { display:flex; gap:12px; flex-wrap:wrap; margin-top:32px; }
.story-points span,.specialty-list span { border:1px solid rgba(255,255,255,.18); padding:9px 13px; font-size:10px; letter-spacing:.06em; text-transform:uppercase; }
.barbers-section { background:#eee8dc; }
.barber-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.barber-card { padding-bottom:28px; background:var(--paper); box-shadow:0 10px 30px rgba(32,29,23,.07); }
.barber-portrait { height:340px; display:grid; place-content:center; position:relative; overflow:hidden; background:#a66a48; color:rgba(255,255,255,.9); }
.barber-olive .barber-portrait { background:#797b5f; }
.barber-slate .barber-portrait { background:#596469; }
.barber-portrait:before,.profile-portrait:before { content:""; width:190px; height:230px; border:1px solid rgba(255,255,255,.25); border-radius:50% 50% 20% 20%; position:absolute; left:50%; top:54%; transform:translate(-50%,-50%) rotate(4deg); }
.barber-portrait span { position:relative; font:600 80px/1 "Playfair Display",serif; }
.barber-portrait small { position:absolute; right:18px; bottom:14px; font-size:8px; letter-spacing:.18em; }
.barber-card-copy,.barber-card>p,.barber-card>a { margin-inline:24px; }
.barber-card-copy { display:flex; justify-content:space-between; align-items:flex-end; padding:24px 0 14px; border-bottom:1px solid var(--line); }
.barber-card-copy p { margin:0 0 4px; color:var(--copper-dark); font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.barber-card h3 { margin:0; font:600 27px/1 "Playfair Display",serif; }
.rating { font-size:11px; }
.barber-card>p { min-height:66px; color:var(--muted); font-size:13px; }
.barber-card>a { color:var(--copper-dark); font-size:12px; font-weight:700; border-bottom:1px solid var(--line); padding-bottom:3px; }
.visit-section { background:#292b25; color:#fff; }
.visit-grid { display:grid; grid-template-columns:1fr 480px; gap:10%; align-items:center; }
.visit-address { margin:34px 0; color:rgba(255,255,255,.8); font-size:17px; }
.visit-address span { color:rgba(255,255,255,.38); font-size:12px; }
.hours-card { padding:40px; background:var(--paper); color:var(--ink); }
.hours-heading { display:flex; justify-content:space-between; border-bottom:1px solid var(--line); padding-bottom:20px; text-transform:uppercase; font-size:10px; letter-spacing:.12em; }
.hours-heading strong { color:#66805a; }
.hours-heading i { display:inline-block; width:6px; height:6px; margin-right:8px; border-radius:50%; background:#66805a; }
.hours-card dl { margin:12px 0 28px; }
.hours-card dl div { display:flex; justify-content:space-between; padding:13px 0; border-bottom:1px solid var(--line); font-size:13px; }
.hours-card dd { font-weight:700; }
.hours-card>p { color:var(--muted); font-size:12px; }
.site-footer { padding:58px max(20px,calc((100vw - 1180px)/2)) 24px; color:#fff; background:#151612; }
.footer-top { display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; padding-bottom:45px; }
.footer-top>p { margin:0; color:rgba(255,255,255,.55); text-align:center; font-size:12px; }
.footer-phone { text-align:right; font:600 24px/1 "Playfair Display",serif; }
.footer-bottom { display:flex; justify-content:space-between; border-top:1px solid rgba(255,255,255,.12); padding-top:20px; color:rgba(255,255,255,.38); font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.mobile-book { display:none; }

/* Booking */
.booking-hero { padding:90px 0 80px; text-align:center; background:var(--cream); }
.booking-hero h1 { margin-bottom:24px; font-size:clamp(52px,7vw,84px); }
.booking-hero>div>p:last-child { max-width:580px; margin:0 auto; color:var(--muted); }
.booking-section { padding:80px 0 120px; }
.booking-grid { display:grid; grid-template-columns:1fr 340px; gap:60px; align-items:start; }
.booking-form { display:grid; gap:48px; }
.form-section { display:grid; grid-template-columns:48px 1fr; gap:18px; }
.form-step { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--copper-dark); font:600 11px "Playfair Display"; }
fieldset { min-width:0; padding:0; margin:0; border:0; }
legend { margin:0 0 22px; font:600 29px "Playfair Display",serif; }
.choice-list { display:grid; gap:10px; }
.choice-card,.barber-choice { min-height:74px; display:flex; align-items:center; gap:14px; padding:14px 17px; border:1px solid var(--line); cursor:pointer; transition:.15s; }
.choice-card:has(input:checked),.barber-choice:has(input:checked) { border-color:var(--copper); background:#fbf3ec; box-shadow:inset 3px 0 var(--copper); }
.choice-card input,.barber-choice input,.day-choices input,.time-choices input { position:absolute; opacity:0; pointer-events:none; }
.choice-check { width:18px; height:18px; flex:0 0 auto; border:1px solid #aaa; border-radius:50%; }
input:checked~.choice-check { border:5px solid var(--copper); }
.choice-main,.barber-choice>span:last-child { display:grid; flex:1; }
.choice-card small,.barber-choice small { color:var(--muted); font-size:11px; }
.choice-card b { font-family:"Playfair Display",serif; font-size:19px; }
.barber-choices { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.barber-choice { min-height:82px; }
.mini-avatar,.large-avatar { width:39px; height:39px; display:grid; place-items:center; flex:0 0 auto; color:#fff; background:#34352f; border-radius:50%; font:600 11px "Playfair Display"; }
.mini-avatar.copper { background:#ad6744; }.mini-avatar.olive { background:#76795b; }.mini-avatar.slate { background:#586469; }
.day-choices { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.day-choices span { display:grid; justify-items:center; padding:12px 8px; border:1px solid var(--line); cursor:pointer; }
.day-choices input:checked+span,.time-choices input:checked+span { color:#fff; background:var(--ink); border-color:var(--ink); }
.day-choices small,.day-choices em { font-size:9px; font-style:normal; text-transform:uppercase; letter-spacing:.08em; }
.day-choices strong { font:600 26px "Playfair Display"; }
.time-heading { display:flex; justify-content:space-between; margin:24px 0 10px; font-size:12px; font-weight:700; }
.time-heading small { color:var(--muted); font-weight:400; }
.time-choices { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.time-choices span { display:block; padding:12px 4px; border:1px solid var(--line); text-align:center; font-size:12px; cursor:pointer; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field-grid label,.note-field { display:grid; gap:7px; font-size:11px; font-weight:700; }
.field-grid input,.note-field textarea { width:100%; padding:14px 13px; border:1px solid var(--line); border-radius:0; background:#fff; outline:none; }
.field-grid input:focus,.note-field textarea:focus { border-color:var(--copper); box-shadow:0 0 0 3px rgba(185,103,61,.12); }
.note-field { margin-top:16px; }
.note-field small { color:var(--muted); font-weight:400; }
.note-field textarea { resize:vertical; }
.reminder-check { display:flex; align-items:center; gap:10px; margin-top:18px; color:var(--muted); font-size:11px; cursor:pointer; }
.reminder-check input { position:absolute; opacity:0; }
.reminder-check span { width:17px; height:17px; border:1px solid var(--line); }
.reminder-check input:checked+span { background:var(--copper); box-shadow:inset 0 0 0 4px white; }
.form-submit,.form-disclaimer { width:calc(100% - 66px); margin-left:66px; }
.form-disclaimer { color:var(--muted); text-align:center; font-size:10px; }
.booking-error { width:calc(100% - 66px); margin:0 0 0 66px; padding:13px; color:#8f2f27; background:#f9e7e4; font-size:11px; }
.booking-error[hidden] { display:none; }
.booking-summary { position:sticky; top:25px; padding:30px; background:var(--ink); color:#fff; box-shadow:var(--shadow); }
.summary-icon { width:64px; height:64px; display:grid; place-items:center; margin:20px 0; border:1px solid rgba(255,255,255,.35); font:600 22px "Playfair Display"; transform:rotate(-3deg); }
.booking-summary h2 { margin-bottom:26px; font-size:30px; }
.booking-summary dl { border-top:1px solid rgba(255,255,255,.14); margin:0; }
.booking-summary dl div { display:flex; justify-content:space-between; gap:20px; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.14); font-size:11px; }
.booking-summary dd { margin:0; text-align:right; font-weight:700; }
.summary-total { display:flex; justify-content:space-between; align-items:center; padding:24px 0 12px; }
.summary-total span { font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.summary-total strong { font:600 30px "Playfair Display"; }
.booking-summary>p:last-child { margin:0; color:rgba(255,255,255,.5); font-size:10px; }
.confirmation-modal { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:20px; background:rgba(16,16,14,.72); backdrop-filter:blur(7px); }
.confirmation-modal[hidden] { display:none; }
.confirmation-card { width:min(500px,100%); padding:55px; position:relative; text-align:center; background:var(--paper); box-shadow:var(--shadow); }
.confirmation-card>button { position:absolute; right:14px; top:10px; border:0; background:none; font-size:30px; cursor:pointer; }
.confirmation-check { width:58px; height:58px; display:grid; place-items:center; margin:0 auto 25px; border-radius:50%; color:#fff; background:#73805e; font-size:25px; }
.confirmation-card h2 { font-size:40px; }
.confirmation-card>p:not(.eyebrow) { color:var(--muted); }

/* Profiles */
.profile-hero { padding:90px 0; background:#eee8dc; }
.profile-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:9%; align-items:center; }
.profile-portrait { min-height:560px; display:grid; place-content:center; position:relative; overflow:hidden; color:#fff; background:#a66a48; box-shadow:var(--shadow); }
.barber-olive .profile-portrait { background:#797b5f; }.barber-slate .profile-portrait { background:#596469; }
.profile-portrait:before { width:300px; height:390px; }
.profile-portrait span { position:relative; font:600 120px "Playfair Display"; }
.profile-portrait small { position:absolute; bottom:22px; left:0; right:0; text-align:center; letter-spacing:.2em; font-size:8px; }
.back-link { display:inline-block; margin-bottom:54px; color:var(--muted); font-size:11px; }
.profile-copy h1 { margin-bottom:18px; font-size:clamp(58px,7vw,94px); }
.profile-rating { display:flex; gap:12px; align-items:center; margin-bottom:30px; }
.profile-rating span { font-weight:700; }.profile-rating small { color:var(--muted); }
.profile-copy>p:not(.eyebrow) { max-width:530px; color:var(--muted); font-size:17px; }
.specialty-list { display:flex; flex-wrap:wrap; gap:8px; margin:26px 0 34px; }
.specialty-list span { border-color:var(--line); }
.profile-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:10%; }
.profile-quote blockquote { margin:0 0 28px; font:600 28px/1.4 "Playfair Display"; }
.profile-quote p { color:var(--muted); }

/* Dashboards */
.dashboard-page { background:#f0efe9; }
.dashboard-page>main { min-height:100vh; }
.dashboard-shell { display:grid; grid-template-columns:230px 1fr; min-height:100vh; }
.dashboard-sidebar { position:fixed; inset:0 auto 0 0; width:230px; z-index:10; display:flex; flex-direction:column; padding:28px 20px 22px; color:#fff; background:#1d1e1a; }
.dashboard-brand { margin-bottom:46px; }
.dashboard-sidebar nav { display:grid; gap:5px; }
.dashboard-sidebar nav a { display:flex; align-items:center; gap:12px; padding:11px 13px; border-radius:4px; color:rgba(255,255,255,.55); font-size:12px; font-weight:600; }
.dashboard-sidebar nav a:hover,.dashboard-sidebar nav a.active { color:#fff; background:rgba(255,255,255,.08); }
.dashboard-sidebar nav a span { width:18px; color:#c88358; font-size:15px; }
.dashboard-sidebar nav a b { margin-left:auto; padding:1px 6px; border-radius:10px; color:#fff; background:var(--copper); font-size:9px; }
.sidebar-user { display:flex; gap:10px; align-items:center; margin-top:auto; padding-top:18px; border-top:1px solid rgba(255,255,255,.11); }
.sidebar-user>span { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--copper); font:600 10px "Playfair Display"; }
.sidebar-user div { display:grid; }.sidebar-user strong { font-size:11px; }.sidebar-user small { color:rgba(255,255,255,.45); font-size:9px; }
.sidebar-user>span.olive { background:#76795b; }.sidebar-user>span.slate { background:#586469; }.sidebar-user>span.copper { background:var(--copper); }
.dashboard-main { grid-column:2; padding:0 36px 70px; overflow:hidden; }
.preview-banner { min-height:34px; margin:0 -36px; padding:7px 36px; display:flex; align-items:center; gap:12px; color:#fff; background:#975232; font-size:9px; letter-spacing:.04em; text-transform:uppercase; }
.preview-banner strong { padding-right:12px; border-right:1px solid rgba(255,255,255,.3); }.preview-banner span { opacity:.72; }.preview-banner a { margin-left:auto; font-weight:700; }
.dashboard-header { display:flex; justify-content:space-between; align-items:end; padding:42px 0 30px; }
.dashboard-header p { margin:0 0 4px; color:var(--copper-dark); font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.dashboard-header h1 { margin:0 0 9px; font-size:38px; }.dashboard-header>div>span { color:var(--muted); font-size:11px; }
.barber-dashboard-switcher { display:grid; gap:6px; min-width:190px; color:var(--muted); font-size:8px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.barber-dashboard-switcher select { min-height:44px; padding:0 34px 0 13px; border:1px solid var(--line); color:var(--ink); background:#fff; font-size:12px; font-weight:700; text-transform:none; }
.dash-button { min-height:38px; padding:0 15px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:3px; background:#fff; font-size:10px; font-weight:700; cursor:pointer; transition:.2s; }
.dash-button.dark { color:#fff; background:var(--ink); }
.metric-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:18px; }
.owner-metrics { grid-template-columns:repeat(4,1fr); }
.metric-grid article { display:flex; align-items:center; gap:14px; min-height:98px; padding:18px; background:#fff; border:1px solid rgba(23,23,20,.08); }
.metric-icon { width:42px; height:42px; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; color:#fff; background:#9d6243; }
.metric-icon.olive { background:#777a5c; }.metric-icon.slate { background:#5a666a; }.metric-icon.gold { background:#b9944e; }
.metric-grid article>div { display:grid; }.metric-grid small { color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.08em; }.metric-grid strong { font:600 27px "Playfair Display"; }.metric-grid em { color:var(--muted); font-size:9px; font-style:normal; }.metric-grid em.positive { color:#5e7d55; }
.dashboard-columns { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr); gap:18px; align-items:start; }
.dash-panel { background:#fff; border:1px solid rgba(23,23,20,.08); }
.panel-heading { min-height:77px; padding:19px 22px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); }
.panel-heading .eyebrow { margin-bottom:3px; }.panel-heading h2 { margin:0; font-size:22px; }.panel-heading>span { color:var(--muted); font-size:9px; }
.timeline { padding:7px 22px 18px; }
.appointment { min-height:84px; display:grid; grid-template-columns:56px 15px 1fr auto; gap:12px; align-items:center; position:relative; border-bottom:1px solid var(--line); }
.appointment:last-child { border:0; }
.appointment time { font-size:11px; font-weight:700; }.appointment time small { display:block; color:var(--muted); font-size:7px; }
.appointment>i { width:8px; height:8px; border:2px solid #bbb; border-radius:50%; position:relative; }
.appointment:not(:last-child)>i:after { content:""; position:absolute; top:8px; left:1px; width:1px; height:76px; background:var(--line); }
.appointment.complete>i { border-color:#73805e; background:#73805e; }.appointment.current>i { border-color:var(--copper); box-shadow:0 0 0 4px rgba(185,103,61,.14); }
.appointment h3 { margin:1px 0 2px; font:600 15px "Playfair Display"; }.appointment p { margin:0; color:var(--muted); font-size:9px; }
.appointment-status { color:#69785d; font-size:7px; text-transform:uppercase; letter-spacing:.1em; }.current .appointment-status { color:var(--copper-dark); }.break .appointment-status { color:var(--muted); }
.appointment>strong { font:600 14px "Playfair Display"; }.appointment button { padding:7px 10px; border:0; color:#fff; background:var(--copper); font-size:8px; cursor:pointer; }.appointment .more-button { color:var(--muted); background:none; font-size:13px; }
.dashboard-side-column { display:grid; gap:18px; }
.now-panel { padding:27px; text-align:center; background:#282a24; color:#fff; }
.now-panel .large-avatar { width:62px; height:62px; margin:16px auto; background:var(--copper); font-size:18px; }.now-panel h2 { margin-bottom:6px; font-size:24px; }.now-panel>p:not(.eyebrow) { color:rgba(255,255,255,.55); font-size:10px; }.now-panel>div { display:flex; justify-content:center; gap:6px; flex-wrap:wrap; margin:20px 0; }.now-panel>div span { padding:6px; background:rgba(255,255,255,.08); font-size:8px; }.now-panel .dash-button { width:100%; }
.now-panel .large-avatar.olive { background:#76795b; }.now-panel .large-avatar.slate { background:#586469; }
.walkin-panel ol { margin:0; padding:0 18px; list-style:none; }
.walkin-scope { margin:0; padding:10px 18px; color:var(--muted); border-bottom:1px solid var(--line); font-size:8px; }
.walkin-live-error { margin:10px 18px 0; padding:9px; color:#8f2f27; background:#f9e7e4; font-size:8px; }
.walkin-live-error[hidden] { display:none; }
.walkin-panel li { min-height:64px; display:grid; grid-template-columns:25px 1fr auto; align-items:center; gap:10px; border-bottom:1px solid var(--line); }.walkin-panel li:last-child { border:0; }.walkin-panel li>b { width:23px; height:23px; display:grid; place-items:center; border-radius:50%; background:var(--cream); font-size:9px; }.walkin-panel li span { display:grid; }.walkin-panel li strong { font:600 13px "Playfair Display"; }.walkin-panel li small { color:var(--muted); font-size:8px; }.walkin-panel li button { padding:6px 9px; border:1px solid var(--line); background:#fff; font-size:8px; }
.walkin-panel li.walkin-empty { grid-template-columns:1fr; padding-block:18px; text-align:center; }
.dashboard-empty { min-height:180px; display:grid; place-content:center; gap:5px; color:var(--muted); text-align:center; }
.dashboard-empty strong { color:var(--ink); font:600 18px "Playfair Display"; }.dashboard-empty span { font-size:9px; }
.availability-panel { margin-top:18px; }
.availability-row { display:grid; grid-template-columns:repeat(7,1fr); padding:16px 22px 22px; gap:8px; }.availability-row span { padding:11px 6px; display:grid; text-align:center; color:var(--muted); background:#f4f1e9; font-size:8px; text-transform:uppercase; }.availability-row strong { color:var(--ink); font-size:10px; }
.owner-columns { grid-template-columns:1.35fr .65fr; }.chair-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding:18px; }.chair-grid article { padding:15px; background:#f6f3ec; }.chair-head { display:flex; align-items:center; gap:8px; margin-bottom:22px; }.chair-head>div { display:grid; }.chair-head strong { font-size:9px; }.chair-head small { color:var(--muted); font-size:7px; }.chair-head>b { margin-left:auto; color:var(--copper-dark); font-size:7px; text-transform:uppercase; }.chair-head>b.available { color:#5e7d55; }.chair-grid h3 { margin-bottom:2px; font:600 16px "Playfair Display"; }.chair-grid article>p,.chair-grid article>small { color:var(--muted); font-size:8px; }.progress { height:3px; margin-top:14px; background:#ddd9d0; }.progress i { display:block; height:100%; background:var(--copper); }
.revenue-panel .panel-heading>strong { font:600 18px "Playfair Display"; }.bar-chart { height:250px; display:flex; align-items:end; justify-content:space-around; gap:9px; padding:25px 22px 38px; }.bar-chart>span { width:24px; min-height:2px; position:relative; background:#c6c6b4; }.bar-chart>span.current { background:var(--copper); }.bar-chart>span.future { opacity:.25; }.bar-chart i { position:absolute; top:calc(100% + 8px); left:50%; transform:translateX(-50%); color:var(--muted); font-size:7px; font-style:normal; }
.owner-lower { grid-template-columns:1.15fr .85fr; margin-top:18px; }.team-list { padding:0 18px; }.team-list>div { min-height:66px; display:grid; grid-template-columns:38px 1fr auto 50px; gap:10px; align-items:center; border-bottom:1px solid var(--line); }.team-list>div:last-child { border:0; }.team-list p { display:grid; margin:0; }.team-list strong { font-size:10px; }.team-list small { color:var(--muted); font-size:8px; }.team-list em { padding:4px 7px; color:var(--copper-dark); background:#f7e9df; border-radius:10px; font-size:7px; font-style:normal; }.team-list em.available { color:#5e7d55; background:#e9f0e5; }.team-list>div>b { text-align:right; font:600 12px "Playfair Display"; }
.team-list p a:hover { color:var(--copper-dark); text-decoration:underline; }
.reminders-panel { padding-bottom:18px; }.reminder-stat { display:grid; grid-template-columns:auto 1fr auto; align-items:baseline; gap:8px; padding:22px; }.reminder-stat strong { font:600 35px "Playfair Display"; }.reminder-stat span { color:var(--muted); font-size:9px; }.reminder-stat b { color:#5e7d55; font-size:8px; }.reminders-panel ul { margin:0; padding:0 22px; list-style:none; }.reminders-panel li { display:grid; grid-template-columns:8px 1fr auto; gap:8px; align-items:center; padding:10px 0; border-top:1px solid var(--line); font-size:8px; }.reminders-panel li b { color:var(--muted); }.success-dot { width:5px; height:5px; box-shadow:none; }

/* iPad check-in kiosk */
.kiosk-page { min-height:100vh; background:#e9e4d9; overscroll-behavior:none; }
.kiosk-page>main { min-height:100vh; }
.kiosk { min-height:100vh; display:flex; flex-direction:column; background:radial-gradient(circle at 70% 10%,rgba(185,103,61,.09),transparent 34%),#f3eee4; }
.kiosk-header { min-height:86px; display:flex; align-items:center; justify-content:space-between; padding:16px clamp(22px,5vw,68px); border-bottom:1px solid var(--line); background:rgba(255,253,248,.76); }
.kiosk-brand .brand-copy { display:grid; }
.kiosk-clock { display:grid; text-align:right; }
.kiosk-clock span { font:600 21px "Playfair Display",serif; }
.kiosk-clock small { color:var(--muted); font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.kiosk-preview { align-self:center; margin:18px 0 0; display:flex; align-items:center; gap:8px; padding:7px 12px; color:#86624e; background:#f5dfd1; border-radius:20px; font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.kiosk-preview span { width:6px; height:6px; border-radius:50%; background:var(--copper); }
.kiosk-screen { width:min(1040px,calc(100% - 48px)); flex:1; margin:0 auto; padding:48px 0 60px; display:none; animation:kiosk-in .28s ease; }
.kiosk-screen.is-active { display:block; }
@keyframes kiosk-in { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
.kiosk-intro { max-width:750px; margin:18px auto 42px; text-align:center; }
.kiosk-intro h1 { margin-bottom:22px; font-size:clamp(52px,6.8vw,82px); }
.kiosk-intro>p:last-child { color:var(--muted); font-size:16px; }
.kiosk-start-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.kiosk-start-card { min-height:260px; padding:30px; display:flex; flex-direction:column; align-items:flex-start; position:relative; border:1px solid var(--line); color:var(--ink); background:#fff; box-shadow:0 10px 35px rgba(33,30,22,.06); text-align:left; cursor:pointer; transition:.2s; }
.kiosk-start-card:hover,.kiosk-start-card:focus-visible { transform:translateY(-4px); border-color:var(--copper); box-shadow:var(--shadow); outline:none; }
.kiosk-card-icon { width:50px; height:50px; display:grid; place-items:center; margin-bottom:34px; color:#fff; background:var(--copper); border-radius:50%; font:600 20px "Playfair Display"; }
.walkin-card .kiosk-card-icon { background:var(--olive); }
.kiosk-start-card>small { margin-bottom:5px; color:var(--copper-dark); font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.kiosk-start-card>strong { font:600 30px/1.1 "Playfair Display"; }
.kiosk-start-card>em { margin-top:7px; color:var(--muted); font-size:11px; font-style:normal; }
.kiosk-start-card>b { margin-top:auto; color:var(--copper-dark); font-size:11px; }
.kiosk-help { margin:28px 0 0; color:var(--muted); text-align:center; font-size:11px; }
.kiosk-step-head { min-height:52px; margin-bottom:34px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid var(--line); }
.kiosk-step-head>span { font:600 17px "Playfair Display"; }
.kiosk-step-head>small { justify-self:end; color:var(--muted); font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.kiosk-back { justify-self:start; min-height:42px; padding:0; border:0; color:var(--copper-dark); background:none; font-size:11px; font-weight:700; cursor:pointer; }
.kiosk-form-card { width:min(620px,100%); margin:20px auto 0; padding:44px 48px; background:#fff; box-shadow:var(--shadow); text-align:center; }
.kiosk-form-card>.kiosk-card-icon { margin:0 auto 24px; }
.kiosk-form-card h2,.kiosk-wide-card h2,.kiosk-complete-card h2 { margin-bottom:16px; font-size:clamp(36px,5vw,52px); }
.kiosk-form-card>p:not(.eyebrow),.kiosk-wide-card>p:not(.eyebrow) { color:var(--muted); font-size:12px; }
.kiosk-form-card form { display:grid; gap:16px; margin-top:30px; text-align:left; }
.kiosk-field { display:grid; gap:8px; }
.kiosk-field>span { font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.kiosk-field input { min-height:64px; width:100%; padding:0 18px; border:1px solid var(--line); border-radius:0; background:#fff; font-size:20px; outline:none; }
.kiosk-field input:focus { border-color:var(--copper); box-shadow:0 0 0 4px rgba(185,103,61,.12); }
.kiosk-primary,.kiosk-secondary { min-height:64px; width:100%; padding:0 24px; display:flex; align-items:center; justify-content:center; gap:28px; border:0; color:#fff; background:var(--ink); font-size:13px; font-weight:700; cursor:pointer; transition:.2s; }
.kiosk-primary:hover,.kiosk-primary:focus-visible { background:var(--copper-dark); outline:none; }
.kiosk-secondary { min-height:48px; margin-top:10px; color:var(--muted); background:transparent; }
.appointment-found-card .kiosk-card-icon { background:#70815f; }
.kiosk-appointment-list { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:28px; }
.kiosk-appointment-list button { min-height:92px; display:grid; grid-template-columns:75px 1fr auto; align-items:center; gap:16px; padding:14px 18px; border:1px solid var(--line); color:var(--ink); background:#fff; text-align:left; cursor:pointer; transition:.15s; }
.kiosk-appointment-list button:hover,.kiosk-appointment-list button:focus-visible { border-color:var(--copper); background:#fbf3ec; outline:none; box-shadow:inset 4px 0 var(--copper); }
.kiosk-appointment-list button:disabled { cursor:not-allowed; opacity:.5; background:#eeece6; }
.kiosk-appointment-list time { font:600 16px "Playfair Display"; }
.kiosk-appointment-list button>span { display:grid; }
.kiosk-appointment-list strong { font:600 19px "Playfair Display"; }
.kiosk-appointment-list small { color:var(--muted); font-size:9px; }
.kiosk-appointment-list b { color:var(--copper-dark); font-size:9px; text-transform:uppercase; }
.kiosk-checkin-error { margin:0 0 14px!important; padding:12px; color:#8f2f27!important; background:#f9e7e4; font-size:11px!important; }
.kiosk-primary:disabled { cursor:wait; opacity:.68; }
.kiosk-primary.is-loading span { display:none; }
.kiosk-primary.is-loading:after { content:"Sending…"; }
.kiosk-appointment-detail { margin:28px 0; padding:25px; display:grid; border:1px solid var(--line); background:var(--cream); }
.kiosk-appointment-detail span { color:var(--copper-dark); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.kiosk-appointment-detail strong { font:600 36px "Playfair Display"; }
.kiosk-appointment-detail small { color:var(--muted); }
.kiosk-privacy { font-size:10px!important; }
.kiosk-wide-card { padding:36px 40px 42px; background:#fff; box-shadow:var(--shadow); }
.kiosk-service-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:28px; }
.kiosk-service-grid button,.kiosk-barber-grid button { min-height:78px; display:flex; align-items:center; gap:12px; padding:13px 16px; border:1px solid var(--line); color:var(--ink); background:#fff; text-align:left; cursor:pointer; transition:.15s; }
.kiosk-service-grid button:hover,.kiosk-service-grid button:focus-visible,.kiosk-barber-grid button:hover,.kiosk-barber-grid button:focus-visible { border-color:var(--copper); background:#fbf3ec; outline:none; box-shadow:inset 4px 0 var(--copper); }
.kiosk-service-grid button>span,.kiosk-barber-grid button>span:nth-child(2) { display:grid; flex:1; }
.kiosk-service-grid strong,.kiosk-barber-grid strong { font:600 16px "Playfair Display"; }
.kiosk-service-grid small,.kiosk-barber-grid small { color:var(--muted); font-size:9px; }
.kiosk-service-grid b { font:600 17px "Playfair Display"; }
.kiosk-guest-list { display:grid; gap:18px; margin-top:28px; }
.kiosk-guest-card { padding:26px; border:1px solid var(--line); background:#faf8f2; }
.kiosk-guest-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:20px; }
.kiosk-guest-head>div { display:grid; }
.kiosk-guest-head small { color:var(--copper-dark); font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.kiosk-guest-head strong { font:600 22px "Playfair Display"; }
.kiosk-guest-head button { border:0; color:#8f2f27; background:none; font-size:10px; font-weight:700; cursor:pointer; }
.kiosk-guest-head button[hidden] { display:none; }
.kiosk-multi-services { margin-top:24px; }
.kiosk-multi-services legend { margin-bottom:0; font:700 10px "DM Sans"; letter-spacing:.06em; text-transform:uppercase; }
.kiosk-multi-services .kiosk-service-grid { margin-top:10px; }
.kiosk-multi-services label { min-height:74px; display:flex; align-items:center; gap:12px; padding:12px 15px; position:relative; border:1px solid var(--line); background:#fff; cursor:pointer; transition:.15s; }
.kiosk-multi-services label:has(input:checked) { border-color:var(--copper); background:#fbf3ec; box-shadow:inset 4px 0 var(--copper); }
.kiosk-multi-services input { position:absolute; opacity:0; pointer-events:none; }
.kiosk-multi-services label>span { display:grid; flex:1; }
.kiosk-multi-services label>span:before { content:"＋"; width:19px; height:19px; display:grid; place-items:center; position:absolute; right:12px; top:10px; border:1px solid var(--line); border-radius:50%; color:var(--muted); font-size:12px; }
.kiosk-multi-services label:has(input:checked)>span:before { content:"✓"; color:#fff; border-color:var(--copper); background:var(--copper); }
.kiosk-multi-services strong { padding-right:24px; font:600 15px "Playfair Display"; }
.kiosk-multi-services small { color:var(--muted); font-size:9px; }
.kiosk-multi-services b { align-self:end; font:600 16px "Playfair Display"; }
.kiosk-add-person { min-height:58px; width:100%; margin-top:16px; border:1px dashed rgba(185,103,61,.55); color:var(--copper-dark); background:#fffaf5; font-size:11px; font-weight:700; cursor:pointer; }
.kiosk-add-person span { font-size:18px; vertical-align:-1px; }
.kiosk-add-person:disabled { opacity:.45; cursor:not-allowed; }
.kiosk-builder-continue { margin-top:16px; }
.kiosk-builder-error { margin:14px 0 0!important; padding:12px; color:#8f2f27!important; background:#f9e7e4; font-size:11px!important; }
.kiosk-barber-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:28px; }
.kiosk-barber-grid button>b { color:var(--copper-dark); font-size:8px; text-transform:uppercase; }
.kiosk-barber-grid .first-available { grid-column:1/-1; border-color:rgba(185,103,61,.4); background:#fbf3ec; }
.kiosk-barber-grid .first-available.together { background:#f3f2e9; }
.kiosk-selection-summary { min-height:68px; margin:6px 0; padding:14px 17px; display:flex; align-items:center; justify-content:space-between; gap:20px; border:1px solid var(--line); background:var(--cream); }
.kiosk-selection-summary span { font:600 17px "Playfair Display"; }.kiosk-selection-summary strong { color:var(--copper-dark); font-size:10px; text-transform:uppercase; }
.kiosk-party-summary { margin:6px 0; border:1px solid var(--line); background:var(--cream); }
.kiosk-party-summary>div { padding:7px 16px; }
.kiosk-party-summary>div>div { display:grid; grid-template-columns:120px 1fr; gap:12px; padding:9px 0; border-bottom:1px solid var(--line); }
.kiosk-party-summary>div>div:last-child { border:0; }
.kiosk-party-summary strong { font:600 14px "Playfair Display"; }
.kiosk-party-summary span { color:var(--muted); font-size:10px; }
.kiosk-party-summary>strong { display:block; padding:12px 16px; color:var(--copper-dark); border-top:1px solid var(--line); font:700 9px "DM Sans"; letter-spacing:.06em; text-transform:uppercase; }
.kiosk-complete-card { width:min(640px,100%); margin:45px auto 0; padding:54px; background:#fff; box-shadow:var(--shadow); text-align:center; }
.kiosk-success { width:78px; height:78px; margin:0 auto 28px; display:grid; place-items:center; border-radius:50%; color:#fff; background:#70815f; box-shadow:0 0 0 12px rgba(112,129,95,.1); font-size:33px; }
.kiosk-complete-card>p:not(.eyebrow) { color:var(--muted); }
.kiosk-wait { margin:28px 0; padding:24px; display:grid; border:1px solid var(--line); background:var(--cream); }
.kiosk-wait[hidden] { display:none; }
.kiosk-wait small { color:var(--copper-dark); font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.kiosk-wait strong { font:600 34px "Playfair Display"; }.kiosk-wait span { color:var(--muted); font-size:10px; }
.kiosk-reset-note { display:block; margin-top:12px; color:var(--muted); }
.kiosk-footer { min-height:50px; display:flex; justify-content:space-between; align-items:center; padding:0 clamp(22px,5vw,68px); color:rgba(255,255,255,.5); background:var(--ink); font-size:8px; letter-spacing:.1em; text-transform:uppercase; }

@media (max-width:900px) {
  .main-nav { display:none; position:absolute; top:76px; left:0; right:0; padding:24px; background:var(--paper); box-shadow:var(--shadow); }
  .main-nav.is-open { display:grid; }.menu-toggle { display:block; margin-left:auto; }.header-book { margin-left:8px; }
  .hero { min-height:640px; }.proof-strip { grid-template-columns:1fr 1fr; }.proof-strip div:nth-child(2) { border-right:0; }.proof-strip div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .story-grid,.visit-grid,.profile-grid,.profile-detail-grid { grid-template-columns:1fr; }.story-card { min-height:380px; }.barber-grid { grid-template-columns:1fr 1fr; }
  .booking-grid { grid-template-columns:1fr; }.booking-summary { position:static; grid-row:1; }.dashboard-shell { grid-template-columns:1fr; }.dashboard-sidebar { position:static; width:auto; flex-direction:row; align-items:center; padding:12px 20px; }.dashboard-brand { margin:0; }.dashboard-sidebar nav { display:none; }.sidebar-user { margin:0 0 0 auto; padding:0; border:0; }.dashboard-main { grid-column:1; padding-inline:20px; }.preview-banner { margin-inline:-20px; padding-inline:20px; }.owner-metrics { grid-template-columns:1fr 1fr; }.dashboard-columns,.owner-columns,.owner-lower { grid-template-columns:1fr; }
  .kiosk-screen { width:min(760px,calc(100% - 36px)); }.kiosk-intro { margin-top:5px; }.kiosk-wide-card { padding:30px; }
}

@media (max-width:600px) {
  .shell,.narrow-shell { width:calc(100% - 30px); }.announcement { font-size:8px; }.site-header { height:66px; padding-inline:15px; }.brand-copy { display:none; }.brand-mark { width:38px; height:38px; }.header-book { min-height:38px; padding-inline:13px; font-size:10px; }.main-nav { top:66px; }
  .hero { min-height:610px; align-items:end; }.hero-image { background-position:58% center; }.hero-shade { background:linear-gradient(0deg,rgba(13,14,11,.95),rgba(13,14,11,.2) 85%); }.hero-content { padding:100px 0 72px; }.hero h1 { font-size:56px; }.hero-lede { font-size:14px; }.hero-actions { align-items:flex-start; flex-direction:column; gap:17px; }.hero-status { display:none; }
  .section { padding:76px 0; }.split-heading { grid-template-columns:1fr; gap:20px; }.section-heading h2,.story-copy h2,.visit-copy h2,.profile-details h2 { font-size:49px; }
  .service-row { grid-template-columns:32px 1fr auto; gap:10px; }.service-duration { display:none; }.service-copy h3 { font-size:20px; }.service-copy p { font-size:11px; }.service-price { font-size:19px; }
  .story-grid { gap:55px; }.story-card { min-height:360px; padding:30px; }.story-card blockquote { margin-top:70px; font-size:26px; }.barber-grid { grid-template-columns:1fr; }.barber-portrait { height:320px; }.visit-grid { gap:48px; }.hours-card { padding:25px 20px; }
  .footer-top { grid-template-columns:1fr; gap:28px; text-align:center; }.footer-top .brand { justify-content:center; }.footer-top .brand-copy { display:grid; }.footer-phone { text-align:center; }.footer-bottom { flex-direction:column; align-items:center; gap:8px; }.mobile-book { display:flex; justify-content:space-between; position:sticky; bottom:0; z-index:45; padding:16px 20px; color:#fff; background:var(--copper); font-size:12px; font-weight:700; }
  .booking-hero { padding:65px 0; }.booking-hero h1 { font-size:49px; }.booking-section { padding:55px 0 90px; }.booking-grid { gap:25px; }.booking-summary { padding:25px; }.form-section { grid-template-columns:1fr; }.form-step { margin-bottom:-4px; }.barber-choices,.field-grid { grid-template-columns:1fr; }.day-choices { grid-template-columns:1fr 1fr; }.time-choices { grid-template-columns:1fr 1fr; }.form-submit,.form-disclaimer,.booking-error { width:100%; margin-left:0; }.confirmation-card { padding:45px 25px; }
  .profile-hero { padding:45px 0 70px; }.profile-grid { gap:50px; }.profile-portrait { min-height:390px; }.profile-portrait span { font-size:90px; }.back-link { margin-bottom:35px; }.profile-copy h1 { font-size:58px; }.profile-details { padding-bottom:110px; }
  .dashboard-sidebar { position:sticky; top:0; }.dashboard-sidebar .brand-copy { display:grid; }.sidebar-user div { display:none; }.dashboard-main { padding:0 12px 50px; }.preview-banner { margin-inline:-12px; padding-inline:12px; }.preview-banner span { display:none; }.dashboard-header { align-items:start; flex-direction:column; gap:20px; padding-top:30px; }.dashboard-header h1 { font-size:32px; }.metric-grid,.owner-metrics { grid-template-columns:1fr; }.metric-grid article { min-height:82px; }.panel-heading { padding-inline:15px; }.timeline { padding-inline:13px; }.appointment { grid-template-columns:48px 11px 1fr auto; gap:7px; }.appointment h3 { font-size:13px; }.appointment button { padding:6px; }.availability-row { grid-template-columns:repeat(4,1fr); }.chair-grid { grid-template-columns:1fr; }.owner-columns,.owner-lower { gap:12px; }.team-list>div { grid-template-columns:34px 1fr auto; }.team-list>div>b { display:none; }
  .kiosk-header { min-height:72px; padding:12px 16px; }.kiosk-brand .brand-copy { display:grid; }.kiosk-clock span { font-size:16px; }.kiosk-clock small { display:none; }.kiosk-preview { margin-top:12px; }.kiosk-screen { width:calc(100% - 24px); padding:34px 0 45px; }.kiosk-intro { margin-bottom:28px; }.kiosk-intro h1 { font-size:44px; }.kiosk-start-grid { grid-template-columns:1fr; }.kiosk-start-card { min-height:220px; padding:24px; }.kiosk-card-icon { margin-bottom:22px; }.kiosk-step-head { grid-template-columns:1fr 1fr; }.kiosk-step-head>span { display:none; }.kiosk-form-card,.kiosk-wide-card,.kiosk-complete-card { padding:30px 20px; }.kiosk-service-grid,.kiosk-barber-grid,.kiosk-appointment-list { grid-template-columns:1fr; }.kiosk-guest-card { padding:20px 14px; }.kiosk-party-summary>div>div { grid-template-columns:85px 1fr; }.kiosk-appointment-list button { grid-template-columns:65px 1fr auto; padding-inline:13px; }.kiosk-barber-grid .first-available { grid-column:auto; }.kiosk-footer { padding:0 16px; }.kiosk-footer span:first-child { display:none; }
}
