:root{--bg:#f8fafc;--surface:#fff;--ink:#182837;--muted:#627184;--line:#e4e9ed;--accent:#12645b;--accent-hover:#0f5149;--danger:#b23b42;--shadow:0 14px 40px rgba(19,41,57,.045)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;line-height:1.55}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,5vw,3.25rem);line-height:1.12;letter-spacing:-.035em}h2{font-size:1.35rem;letter-spacing:-.02em}h3{font-size:1.1rem}p{max-width:72ch}.container{width:min(1120px,calc(100% - 36px));margin-inline:auto}.topbar{position:sticky;top:0;z-index:30;background:#fffdfbf2;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-weight:760;font-size:1.04rem;color:var(--ink);white-space:nowrap}.brand-icon{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--accent);color:#fff;margin-right:5px}.topbar nav{display:flex;flex-wrap:wrap;gap:16px}.topbar nav a{font-size:.89rem;color:var(--ink)}.main-content{min-height:calc(100vh - 170px);padding-top:38px;padding-bottom:75px}.footer{border-top:1px solid var(--line);padding:26px 0;color:var(--muted);font-size:.83rem}.footer-content{display:flex;justify-content:space-between;gap:12px}.page-head{margin-bottom:26px}.page-head .muted{max-width:770px}.eyebrow{font-weight:750;color:var(--accent);letter-spacing:.11em;font-size:.72rem;text-transform:uppercase;margin-bottom:9px}.muted{color:var(--muted)}.small{font-size:.88rem}.strong{font-weight:700}.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.spacious{padding:25px}.narrower{max-width:750px}.stack{display:grid;gap:15px}.stack-sm{display:grid;gap:8px}.section{margin-top:50px}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:18px}.cards{display:grid;gap:16px}.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.booking-layout{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);align-items:start}.booking-aside{position:sticky;top:104px}.hero{background:linear-gradient(120deg,#e2f4ee,#eff6f7 70%,#fdf6e8);border-radius:25px;padding:clamp(35px,7vw,90px);display:flex;align-items:center;justify-content:space-between;overflow:hidden;gap:20px}.hero .lead{font-size:1.17rem;color:#476071;max-width:430px}.hero-mark{font-size:13rem;line-height:1;color:#0b665a1c;transform:rotate(-20deg)}.service-card{padding:26px;min-height:230px}.service-icon{font-size:1.8rem;color:var(--accent)}.btn,button{font:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;border:1px solid var(--line);border-radius:11px;padding:11px 16px;text-decoration:none!important;min-height:43px;font-weight:680;font-size:.9rem}.btn.primary{background:var(--accent);border-color:var(--accent);color:white}.btn.primary:hover{background:var(--accent-hover)}.btn.subtle{color:var(--accent);background:#ecf5f1;border-color:#d5e9e1}.btn.ghost{background:#fff;color:var(--ink)}.btn.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn.full{width:100%;margin-top:18px}.btn:disabled{opacity:.43;cursor:not-allowed}.small-btn{font-size:.8rem;padding:6px 10px;min-height:29px}.actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.alert{padding:15px 18px;border-radius:12px;margin-bottom:19px;background:#e7eff5;border:1px solid #cadde8}.alert.error{background:#fff0ee;border-color:#f6c6c6;color:#982d30}.alert.success{background:#e9f8ed;border-color:#c5e3cf;color:#19583d}label{font-size:.85rem;font-weight:670;color:#405265;display:block;margin:14px 0 6px}input:not([type=checkbox]):not([type=range]),textarea,select{display:block;width:100%;min-width:0;border:1px solid #d3dce3;border-radius:10px;background:#fff;color:var(--ink);font:inherit;padding:11px 12px;min-height:43px}input:focus,select:focus,textarea:focus{outline:2px solid #2b8b84;outline-offset:1px}.checkline{display:flex;align-items:flex-start;gap:9px;font-weight:530;line-height:1.4;cursor:pointer}.checkline input{width:17px;height:17px;margin-top:2px}.step{display:flex;gap:11px;align-items:center;margin-bottom:12px}.step h2{margin:0}.step-n{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e5f2ec;color:var(--accent);font-weight:800;font-size:.85rem}.top-gap{margin-top:25px!important}.slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px}.slot{font:inherit;padding:11px 6px;background:#fff;border:1px solid #cfdfd7;border-radius:10px;color:var(--ink);cursor:pointer}.slot:hover,.slot.selected{background:#d9eee5;border-color:var(--accent);font-weight:750}.inline-steps p{border-bottom:1px solid var(--line);padding:11px 0}.inline-steps strong{color:var(--accent);margin-right:5px}.pill{display:inline-block;vertical-align:middle;font-weight:700;font-size:.76rem;border-radius:99px;padding:4px 9px;background:#eef1f5;color:#596879;white-space:nowrap}.pill.pending,.pill.needs_contact,.pill.overdue,.pill.failed{background:#fff1d5;color:#905d17}.pill.confirmed,.pill.sent,.pill.completed{background:#e0f3e9;color:#166245}.pill.cancelled,.pill.no_show{background:#fee6e5;color:#983c3c}.pill.manual{background:#e8e7fd;color:#5045a7}.split{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.booking-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 23px}.booking-row h3{margin-bottom:3px}.booking-row .eyebrow{margin-bottom:3px}.stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0 32px}.stat{padding:22px 17px;border:1px solid var(--line);border-radius:16px;background:#fff;display:flex;flex-direction:column}.stat strong{font-size:2.25rem;line-height:1.2;color:var(--accent)}.stat span{font-size:.82rem;color:var(--muted);margin-top:6px}.adminnav{display:flex;flex-wrap:wrap;gap:7px}.adminnav a{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;font-size:.86rem}.data-table{width:100%;border-collapse:collapse;font-size:.87rem}.table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:14px}.data-table td,.data-table th{text-align:left;padding:12px 14px;vertical-align:top;border-bottom:1px solid var(--line)}.data-table th{background:#f3f6f7;white-space:nowrap}.data-table tr:last-child td{border-bottom:0}.details-grid{display:grid;grid-template-columns:130px 1fr;gap:10px;font-size:.92rem}.details-grid>span{color:var(--muted)}.note-box{padding:14px;border-radius:11px;background:#f6f8fa;font-size:.9rem}.logrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.84rem}.logrow:last-child{border-bottom:0}hr{border:0;border-top:1px solid var(--line);margin:24px 0}.inline-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.inline-form>label{margin:0}.inline-form input{max-width:230px}.text-link{display:inline-block;margin-top:9px;font-weight:680}.alert,.card{overflow-wrap:anywhere}details>summary{cursor:pointer;font-weight:680;padding:3px 0;margin:6px 0 14px}details>summary:hover{color:var(--accent)}.service-editor input[type=range]{width:100%;accent-color:var(--accent);margin:12px 0 22px}.inline-steps{font-size:.92rem}
@media(max-width:850px){.cards.three{grid-template-columns:1fr 1fr}.stat-row{grid-template-columns:1fr 1fr}.booking-layout,.two-col{grid-template-columns:1fr}.booking-aside{position:static}.header-inner{flex-wrap:wrap;padding:13px 0}.topbar nav{gap:11px}.hero-mark{display:none}}@media(max-width:530px){.container{width:calc(100% - 22px)}.main-content{padding-top:26px}.spacious{padding:18px}.cards.three{grid-template-columns:1fr}.hero{padding:30px}.booking-row{align-items:start;flex-direction:column}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.details-grid{grid-template-columns:100px 1fr}.section-heading{align-items:start;flex-direction:column}.stat-row{gap:7px}.stat{padding:13px}.stat strong{font-size:1.7rem}}
.brand-logo{width:42px;height:42px;object-fit:contain;border-radius:9px;vertical-align:middle;margin-right:7px}.business-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:13px;margin:0 0 25px}.business-photo-grid img{width:100%;height:210px;object-fit:cover;border-radius:14px;background:#edf1f3}.media-management-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.media-management-card{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.media-management-card img{width:100%;height:210px;object-fit:contain;background:#f1f4f5;border-radius:10px}.media-management-card form{margin-top:auto}


/* Compact, task-first layout */
.header-inner{min-height:54px;gap:12px}
.topbar nav{gap:11px}
.main-content{padding-top:14px;padding-bottom:38px}
.page-head{margin-bottom:14px}
.page-head h1{font-size:clamp(1.75rem,3vw,2.35rem);margin-bottom:5px}
.page-head .eyebrow{margin-bottom:4px}
.page-head .muted{margin-bottom:0}
.spacious{padding:18px}
.booking-layout{gap:14px}
.booking-aside{top:68px}
.step{margin-bottom:7px}
.top-gap{margin-top:14px!important}
label{margin:9px 0 4px}
input:not([type=checkbox]):not([type=range]),textarea,select{padding:8px 10px;min-height:39px}
.slot-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:8px}
.slot{padding:8px 4px;min-height:38px}
.status-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 16px;border:2px solid currentColor;border-radius:10px;font:inherit;font-weight:800;font-size:.98rem;white-space:nowrap;cursor:default;opacity:1}
.status-button.pending{color:#754600;background:#fff0c7;border-color:#d28a10}
.status-button.confirmed,.status-button.completed{color:#155b3d;background:#e0f3e9;border-color:#31865f}
.status-button.needs_contact,.status-button.overdue{color:#7c4a10;background:#fff1d5;border-color:#c58622}
.status-button.cancelled,.status-button.no_show{color:#8a292d;background:#fee6e5;border-color:#c44a4d}
.pending-explanation{margin:10px 0 0;padding:10px 12px;border-left:4px solid #d28a10;border-radius:6px;background:#fff8e7;color:#513d1c}
.cancel-booking-form{margin-top:10px}
.nav-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.45em;margin-left:2px;padding:0 5px;border-radius:99px;background:#fff0c7;color:#754600;font-weight:800}
.call-reminder{display:inline-block;margin:3px 0 8px;padding:7px 10px;border-left:3px solid #d28a10;border-radius:5px;background:#fff8e7;color:#513d1c;font-size:.9rem}
.topbar nav{align-items:center}
.nav-dropdown{position:relative;z-index:50;display:flex;align-items:center}
.nav-dropdown>summary{list-style:none;cursor:pointer;font-size:.89rem;font-weight:400;line-height:1.55;color:var(--ink);margin:0;padding:0}
.nav-dropdown>summary::-webkit-details-marker{display:none}
.nav-dropdown>summary:after{content:' ▾';font-size:.72rem;color:var(--muted)}
.nav-dropdown-menu{position:absolute;right:0;top:calc(100% + 7px);display:grid;min-width:170px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 8px 24px rgba(19,41,57,.14)}
.nav-dropdown-menu a{padding:9px 11px;border-radius:7px}
.nav-dropdown-menu a:hover{background:#f3f6f7;text-decoration:none}
@media(max-width:850px){.header-inner{padding:6px 0}}
@media(max-width:530px){.main-content{padding-top:10px;padding-bottom:25px}.header-inner{padding:6px 0}.topbar nav{gap:8px}.page-head{margin-bottom:10px}.booking-layout{gap:10px}.spacious{padding:14px}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.status-button{min-height:38px;padding:7px 12px}}


/* Admin workflow and day/week calendar */
.stat-row.ops-stats{grid-template-columns:repeat(5,minmax(0,1fr));margin:18px 0 24px}
.ops-section{margin-top:24px}
.ops-row{display:grid;grid-template-columns:132px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px}
.ops-row-main{min-width:0}
.ops-row-main h3{margin:0 0 3px}
.ops-row-main .eyebrow{margin:0 0 3px}
.ops-row-main p{margin-bottom:3px}
.ops-action{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.ops-action form,.calendar-action form,.detail-status-actions form{margin:0}
.ops-action .status-button{min-height:29px;padding:3px 8px;border-width:1px;font-size:.78rem}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px;margin-bottom:14px}
.calendar-nav,.calendar-view-switch{display:flex;align-items:center;gap:7px}
.calendar-nav strong{min-width:170px;text-align:center}
.calendar-date-form{gap:8px}
.calendar-date-form input{max-width:170px}
.calendar-action{display:flex;min-width:120px;flex-direction:column;align-items:flex-start;gap:6px}
.calendar-action .pill{white-space:nowrap}
.calendar-action form button{white-space:nowrap}
.calendar-table td{vertical-align:middle}
.detail-status-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:10px}
.detail-action-form{align-items:center}
.detail-action-form .checkline{max-width:360px}
@media(max-width:850px){.stat-row.ops-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.ops-row{grid-template-columns:110px minmax(0,1fr)}.ops-row>.actions{grid-column:2}.calendar-toolbar{align-items:flex-start}.calendar-date-form{flex-wrap:wrap}}
@media(max-width:530px){.stat-row.ops-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-row{grid-template-columns:1fr;gap:8px;padding:13px}.ops-row>.actions{grid-column:auto}.ops-action{flex-direction:row;align-items:center;flex-wrap:wrap}.calendar-toolbar{display:grid}.calendar-nav{justify-content:space-between}.calendar-nav strong{min-width:auto}.calendar-view-switch{justify-content:flex-start}.detail-action-form{align-items:flex-start}}

/* Seven-day calendar grid */
.week-calendar-wrap{overflow-x:auto;padding-bottom:6px}
.week-calendar{display:grid;grid-template-columns:repeat(7,minmax(142px,1fr));gap:8px;min-width:1050px;align-items:start}
.calendar-day{min-height:180px;border:1px solid var(--line);border-radius:12px;background:#f7f9fa;overflow:hidden}
.calendar-day-heading{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:9px 8px;background:#edf2f4;border-bottom:1px solid var(--line);font-size:.8rem}
.calendar-day-heading span{color:var(--muted);font-size:.72rem;white-space:nowrap}
.calendar-day-list{display:grid;align-content:start;gap:7px;padding:7px}
.calendar-empty{margin:0;padding:9px 3px;color:var(--muted);font-size:.78rem}
.calendar-event{padding:8px;border:1px solid var(--line);border-left:4px solid #7c8b98;border-radius:8px;background:#fff;box-shadow:0 2px 8px rgba(19,41,57,.04)}
.calendar-event.status-pending,.calendar-event.status-needs_contact{border-left-color:#d28a10}
.calendar-event.status-confirmed{border-left-color:#31865f}
.calendar-event.status-completed{border-left-color:#12645b}
.calendar-event.status-cancelled,.calendar-event.status-no_show{border-left-color:#b23b42;opacity:.82}
.calendar-event-head{display:flex;align-items:center;justify-content:space-between;gap:5px}
.calendar-event-head .pill{font-size:.66rem;padding:3px 6px}
.calendar-event-head time{font-size:.78rem;font-weight:800;white-space:nowrap}
.calendar-event-customer{font-weight:750;font-size:.86rem;margin:7px 0 2px;line-height:1.25}
.calendar-event-service{font-size:.78rem;margin:0 0 3px;line-height:1.3}
.calendar-event .small{font-size:.72rem;margin:0 0 3px;line-height:1.3}
.calendar-event-actions{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:7px}
.calendar-event-actions form{margin:0}
.calendar-event-actions .btn{min-height:28px;padding:4px 7px;font-size:.72rem}
.calendar-event-details{font-size:.72rem;font-weight:700;margin-left:2px}

/* Customer lookup and business-time blocking */
.entry-mode-switch{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.customer-lookup-card{margin:0 0 12px;padding:16px}
.customer-lookup-card h2,.customer-create-form h3{margin:0 0 8px;font-size:1.08rem}
.customer-search-results{display:grid;gap:6px;margin-top:8px}
.customer-search-result{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,.7fr) minmax(170px,1fr);gap:8px;align-items:center;text-align:left;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);cursor:pointer}
.customer-search-result:hover,.customer-search-result:focus-visible{border-color:var(--brand);background:#f0f7f5}
.customer-search-result span{font-size:.84rem;color:var(--muted);overflow-wrap:anywhere}
.customer-add-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:8px}
.customer-add-row p{margin:0}
.customer-create-form{border-top:1px solid var(--line);margin-top:12px;padding-top:14px}
.selected-customer-banner{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-2px 0 13px;padding:10px 12px;border:1px solid #cfe4dc;border-radius:9px;background:#eff8f4;color:#1f513c}
.selected-customer-banner span{flex:1;min-width:180px;font-size:.88rem}
.selected-customer-banner button{margin-left:auto}
.calendar-event.status-block{border-left-color:#4c6480;background:#eef2f6}
.pill.block{background:#e4eaf0;color:#344b63}
.calendar-block-row{background:#f3f6f9}
.calendar-block-time{font-weight:800;font-size:.82rem;margin:5px 0 2px}
@media(max-width:650px){.customer-search-result{grid-template-columns:1fr;gap:2px}.selected-customer-banner span{min-width:100%}.customer-lookup-card{padding:13px}}
