/* Boka: compact workspace + bold, brand-led customer sites. */
.boka-admin { --ink:#181a18; --muted:#696c66; --bg:#f3f4ef; --line:#e0e2da; --accent:#d5e05b; --radius:12px; color:var(--ink); background:var(--bg); }
.boka-admin h1 { font-size:60px; font-weight:800; letter-spacing:-3px; }
.boka-admin h2 { font-weight:800; }
.boka-admin .button { border-radius:7px; font-weight:700; }
.boka-admin .button.primary { background:var(--accent); color:#181a18; }
.boka-admin .shell { grid-template-columns:218px minmax(0,1fr); }
.boka-admin .sidebar { background:#191c19; color:#f4f5ef; border:0; padding:28px 17px; gap:28px; }
.boka-admin .brand { color:#fff; }
.boka-admin .brand-mark { color:var(--accent); }
.boka-admin .brand small { color:#b5b9ae; }
.boka-admin .business-switch { border-color:#ffffff25; padding:12px; font-size:14px; }
.boka-admin .business-switch strong { overflow-wrap:anywhere; }
.boka-admin .avatar.square { color:#181a18; background:var(--accent); }
.boka-admin .nav { gap:5px; }
.boka-admin .nav a { color:#b8bdb3; padding:12px; font-size:14px; }
.boka-admin .nav a:hover { background:#ffffff12; color:white; }
.boka-admin .nav a.active { background:var(--accent); color:#181a18; font-weight:700; }
.boka-admin .sidebar-bottom .eyebrow { color:#9caa91; padding:12px; font-size:11px; }
.boka-admin .topbar { height:74px; background:transparent; padding:0 40px; }
.boka-admin .content { max-width:1370px; padding:36px 40px 64px; }
.boka-admin .page-heading { align-items:center; margin-bottom:30px; }
.boka-admin .page-heading p { font-size:14px; }
.boka-admin .page-heading .eyebrow { margin:0 0 12px; font-size:12px; letter-spacing:1.3px; }
.boka-admin .stats { gap:0; background:white; border:1px solid var(--line); border-radius:12px; margin:0 0 28px; overflow:hidden; }
.boka-admin .stat { border:0; border-right:1px solid var(--line); border-radius:0; padding:24px 28px; }
.boka-admin .stat:last-child { border-right:0; }
.boka-admin .stat .row { color:#64695f; font-size:14px; }
.boka-admin .stat strong { font-size:43px; letter-spacing:-2px; font-weight:800; margin:8px 0 0; }
.boka-admin .stat small { font-size:12px; }
.boka-admin .overview { grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr); gap:24px; align-items:start; }
.boka-admin .panel { padding:25px; box-shadow:none; }
.boka-admin .day-panel { min-height:360px; }
.boka-admin .panel-title { margin-bottom:18px; }
.boka-admin .appointment { padding:25px 0; }
.boka-admin .appointment strong { font-size:16px; }
.boka-admin .appointment .time { font-size:16px; }
.boka-admin .appointment p { font-size:14px; }
.boka-admin .stripe { background:#b8cf4d; height:44px; }
.boka-admin .stripe.orange { background:#d89678; }
.boka-admin .text-link { color:#394725; }
.boka-admin .site-shortcut { background:var(--accent); padding:28px; border-radius:12px; display:grid; gap:18px; }
.site-shortcut .badge { justify-self:start; color:#293b19; background:#ffffff6e; }
.boka-admin .site-shortcut h2 { font-size:38px; letter-spacing:-1.8px; line-height:1.1; overflow-wrap:anywhere; }
.site-address { font-size:13px; color:#354120; overflow-wrap:anywhere; }
.setup-list { display:grid; gap:12px; }
.setup-list a { display:flex; justify-content:space-between; padding-top:12px; border-top:1px solid var(--line); font-size:14px; }
.boka-admin .demo-bar { background:#e9ebe3; color:#51574a; padding:5px 18px; font-size:12px; }
.boka-admin .editor { grid-template-columns:minmax(0,1fr) minmax(330px,.85fr); }
.boka-admin .editor-preview { top:22px; }
.boka-admin .editor-preview iframe { border-radius:9px; height:740px; }
.boka-admin input,.boka-admin textarea,.boka-admin select { border-radius:6px; }
.boka-admin .check-label { font-size:14px; }
.boka-admin dialog { max-width:640px; border-radius:12px; }
.boka-admin .dialog-head { padding:20px 26px; }
.boka-admin .dialog-head h2 { font-size:24px; }
.boka-admin .section-note { font-size:13px; }
.boka-admin .list-card { padding:24px 0; }
.boka-admin .list-card:first-child { padding-top:0; }
.boka-admin .list-card:last-child { padding-bottom:0; }
.team-admin-grid,.review-admin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.team-admin-card { display:grid; gap:23px; }
.team-admin-card h2 { font-size:27px; letter-spacing:-1px; }
.team-admin-card .muted { font-size:14px; margin-top:3px; }
.staff-contact { display:grid; gap:4px; min-height:48px; font-size:14px; overflow-wrap:anywhere; }
.portrait { position:relative; overflow:hidden; background:#e1e5d6; display:grid; place-items:center; color:#253021; }
.portrait>span { font-family:Manrope,sans-serif; font-size:35px; font-weight:800; }
.portrait img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.portrait img[hidden] { display:none; }
.admin-portrait { width:72px; height:82px; border-radius:7px; }
.compact { gap:8px; }
.photo-control { gap:18px; }
.photo-label { position:relative; cursor:pointer; }
.photo-label input { position:absolute; inset:0; opacity:0; cursor:pointer; }
.photo-label:focus-within { outline:2px solid #20271b; outline-offset:3px; }
.text-button { background:none; color:#535a4d; font-size:13px; padding:3px 0; text-align:left; }
.private-fields { border:1px solid var(--line); border-radius:8px; padding:16px; margin:0; min-width:0; }
.private-fields legend { font-size:13px; font-weight:700; padding:0 6px; }
.private-fields small { display:block; margin-top:12px; font-size:12px; }
.form-details { border-top:1px solid var(--line); }
.form-details summary { cursor:pointer; font-weight:700; padding:16px 0; font-size:15px; }
.form-details summary span { color:var(--muted); margin-left:8px; }
.form-details>.form-grid { padding:0 0 16px; }
.form-details summary:focus-visible,.studio-about summary:focus-visible,.treatment details summary:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.review-admin-card { display:flex; flex-direction:column; gap:22px; }
.review-admin-card blockquote { font-size:20px; line-height:1.5; font-weight:500; margin:0; overflow-wrap:anywhere; flex:1; }
.block { display:block; }
.review-stars { letter-spacing:2px; font-size:17px; color:inherit; }
.unfilled { opacity:.5; }

/* Customer pages: oversized identity, ordered treatments, persistent booking. */
.public { background:#f8f7f2; color:#171917; --ink:#171917; --muted:#656961; --line:#d6d8ce; --customer-ink:#fff; }
.public .button { border-radius:5px; font-size:14px; font-weight:700; min-height:46px; }
.public .button.primary { background:var(--customer); color:var(--customer-ink); }
.public .button.light { background:transparent; border-color:#cbd0c1; }
.public input,.public select,.public textarea { border-radius:5px; padding:12px; background:#fff; }
.public input[type=checkbox] { accent-color:var(--customer); }
.public .demo-bar { padding:6px 20px; background:#e9e8e0; color:#5e6157; font-size:12px; }
.studio-header { max-width:1520px; margin:auto; padding:24px 48px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.studio-logo { display:flex; align-items:center; gap:10px; font-family:Manrope,sans-serif; font-size:17px; font-weight:800; letter-spacing:-.5px; }
.studio-logo>span { font-size:32px; line-height:1; color:var(--customer); }
.studio-header nav { display:flex; align-items:center; gap:28px; font-size:14px; font-weight:500; }
.studio-main { max-width:1520px; margin:auto; padding:0 48px; }
.studio-masthead { padding:34px 0 37px; border-top:1px solid #20251c; }
.studio-masthead .eyebrow { font-size:12px; color:#474e41; letter-spacing:1.5px; }
.location-link { font-size:13px; color:#555d4f; }
.studio-masthead h1 { font-family:Manrope,sans-serif; font-size:clamp(70px,10.5vw,164px); font-weight:800; line-height:.98; letter-spacing:-.07em; margin:22px 0 0; overflow-wrap:anywhere; }
.studio-masthead h1.long-name { font-size:clamp(50px,7.5vw,112px); }
.brand-period,.accent-dot { color:var(--customer); }
.studio-layout { display:grid; grid-template-columns:minmax(0,1fr) 355px; gap:48px; align-items:start; }
.studio-content { min-width:0; }
.studio-intro { min-height:260px; padding:38px; background:var(--customer); color:var(--customer-ink); display:flex; align-items:center; }
.intro-copy { width:100%; }
.studio-intro h2 { font-family:Manrope,sans-serif; font-size:clamp(32px,3.6vw,58px); font-weight:800; line-height:1.07; letter-spacing:-2px; max-width:670px; overflow-wrap:anywhere; }
.studio-intro.with-image { background:transparent; color:var(--ink); padding:0; display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.studio-intro.with-image h2 { font-size:clamp(29px,3vw,46px); letter-spacing:-1.7px; }
.studio-image { position:relative; aspect-ratio:4/5; min-height:250px; background:var(--customer); color:var(--customer-ink); display:grid; place-items:center; overflow:hidden; }
.studio-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1; }
.studio-image img[hidden] { display:none; }
.image-fallback { padding:20px; font-size:30px; font-family:Manrope,sans-serif; font-weight:800; overflow-wrap:anywhere; }
.studio-about { margin-top:25px; max-width:550px; }
.studio-about summary { display:inline-flex; align-items:center; gap:18px; cursor:pointer; font-size:14px; font-weight:600; list-style:none; border-bottom:1px solid currentColor; padding-bottom:4px; }
.studio-about summary::-webkit-details-marker { display:none; }
.studio-about summary svg { width:15px; height:15px; }
.studio-about[open] summary svg { transform:rotate(45deg); }
.studio-about p { font-size:15px; margin-top:20px; line-height:1.8; white-space:pre-line; }
.studio-section { padding:53px 0 0; scroll-margin-top:25px; }
.section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.section-heading h2 { font-size:36px; font-family:Manrope,sans-serif; font-weight:800; letter-spacing:-1.8px; line-height:1.1; }
.section-heading .eyebrow { display:block; font-size:11px; letter-spacing:1.3px; margin-bottom:12px; }
.section-number { font-size:12px; color:#7b8074; flex-shrink:0; }
.treatment { display:grid; grid-template-columns:30px minmax(0,1fr) auto; gap:18px; padding:25px 0; border-top:1px solid var(--line); align-items:start; }
.treatment-index { padding-top:3px; color:#7b8074; font-size:12px; }
.treatment-info h3 { font-size:22px; font-weight:800; letter-spacing:-.8px; overflow-wrap:anywhere; }
.treatment-info>span { display:block; font-size:13px; color:#6c7167; margin-top:4px; }
.treatment-info details { margin-top:10px; font-size:13px; color:#60685a; }
.treatment-info summary { cursor:pointer; }
.treatment-info p { font-size:14px; margin-top:8px; line-height:1.7; }
.treatment-action { display:flex; align-items:center; gap:20px; padding-top:1px; }
.treatment-action strong { font-size:17px; font-weight:600; white-space:nowrap; }
.round-button { background:none; border:1px solid #b7bfae; border-radius:50%; width:43px; height:43px; color:#20261b; display:grid; place-items:center; }
.round-button:hover { color:var(--customer-ink); background:var(--customer); border-color:var(--customer); }
.booking-rail { position:sticky; top:26px; scroll-margin-top:24px; }
.booking-card { background:#fff; border:1px solid #242a20; padding:27px; box-shadow:6px 6px 0 #d9dece; max-height:calc(100dvh - 60px); overflow-y:auto; overscroll-behavior:contain; }
.booking-card-title { display:flex; align-items:center; justify-content:space-between; margin-bottom:22px; }
.booking-card-title h2 { font-size:25px; letter-spacing:-1.1px; font-weight:800; }
.booking-card-title h2 span { color:var(--customer); }
.booking-card-title>svg { width:23px; height:23px; }
.public .booking-steps { border-top:1px solid var(--line); padding-top:16px; margin-bottom:20px; font-size:12px; gap:20px; }
.public .booking-steps .current { color:#171917; }
.public .form-grid { gap:17px; }
.public .form-grid label { font-size:13px; }
.public .form-grid .section-note { font-size:12px; }
.public .slot-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.public .slot { border-radius:4px; font-size:14px; padding:10px 6px; }
.public .slot.selected { color:var(--customer-ink); }
.public .notice { background:#f0f2e9; color:#293020; border-radius:4px; font-size:13px; line-height:1.7; }
.public .check-label { align-items:flex-start; font-size:12px; }
.public .check-label input { flex-shrink:0; }
.booking-footnote { border-top:1px solid var(--line); text-align:center; font-size:12px; color:#656d5d; margin-top:23px; padding-top:15px; }
.public .success { padding:0; }
.public .success h2 { font-size:28px; letter-spacing:-1px; }
.public .success p { font-size:14px; margin:0; }
.public .success .stack { gap:16px; }
.public-reviews { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.customer-quote { margin:0; padding:24px; border:1px solid var(--line); display:flex; flex-direction:column; gap:22px; min-width:0; }
.customer-quote:first-child { grid-column:1/-1; background:#e7eadf; border-color:#e7eadf; }
.customer-quote blockquote { font-family:Manrope,sans-serif; font-size:19px; font-weight:600; line-height:1.5; letter-spacing:-.5px; margin:0; flex:1; overflow-wrap:anywhere; }
.customer-quote:first-child blockquote { font-size:27px; font-weight:700; letter-spacing:-1px; }
.customer-quote figcaption { font-size:12px; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.customer-quote figcaption span,.customer-quote figcaption a { color:#646b5d; }
.customer-quote figcaption a { text-decoration:underline; text-underline-offset:3px; }
.public-team { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.team-photo { aspect-ratio:4/5; }
.team-photo>span { font-size:90px; }
.person-caption { padding:20px 0; display:flex; justify-content:space-between; align-items:center; gap:14px; }
.person-caption h3 { font-size:24px; font-weight:800; letter-spacing:-.8px; }
.person-caption p { font-size:13px; color:#69715f; margin-top:3px; }
.team-mark { font-size:24px; color:var(--customer); }
.no-photo { border-top:1px solid #adb7a0; }
.studio-contact { border-top:2px solid #20261c; margin-top:65px; padding:48px 0; display:grid; grid-template-columns:1fr 1fr; gap:50px; }
.studio-contact h2 { font-size:clamp(36px,5vw,64px); font-weight:800; letter-spacing:-2.5px; margin:12px 0 22px; }
.studio-contact p { font-size:15px; }
.contact-links { display:grid; align-content:center; }
.contact-links a { font-size:18px; font-weight:500; display:flex; justify-content:space-between; gap:18px; padding:17px 0; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.contact-links svg { flex-shrink:0; }
.studio-footer { background:#191d17; color:#fff; padding:28px max(48px,calc((100vw - 1424px)/2)); display:flex; align-items:center; justify-content:space-between; gap:25px; }
.studio-footer strong { font-family:Manrope; font-size:24px; font-weight:800; letter-spacing:-1px; }
.studio-footer span { font-size:12px; color:#bac4b0; }
.public.minimal { background:#fff; }
.public.minimal .studio-intro { background:#f0f1ed; color:#181a18; }
.public.minimal .studio-masthead h1 { letter-spacing:-.055em; }
.public.minimal .booking-card { box-shadow:none; border-width:2px; }
.public.minimal .customer-quote:first-child { background:transparent; border-color:#c9cec1; }

@media(max-width:1180px) {
  .boka-admin .overview,.boka-admin .editor { grid-template-columns:1fr; }
  .boka-admin .overview>aside { grid-template-columns:1fr 1fr; }
  .boka-admin .site-shortcut h2 { font-size:32px; }
  .boka-admin .team-admin-grid,.boka-admin .review-admin-grid { grid-template-columns:1fr; }
  .studio-header { padding:24px 32px; }
  .studio-main { padding:0 32px; }
  .studio-layout { grid-template-columns:minmax(0,1fr) 330px; gap:32px; }
  .studio-intro { padding:30px; }
  .studio-intro.with-image { grid-template-columns:1fr; }
  .studio-image { aspect-ratio:3/2; min-height:220px; }
  .treatment { gap:12px; grid-template-columns:22px minmax(0,1fr) auto; }
  .treatment-action { gap:10px; }
  .treatment-info h3 { font-size:20px; }
  .treatment-action strong { font-size:15px; }
  .public-reviews { grid-template-columns:1fr; }
}
@media(max-width:900px) {
  .studio-header nav { gap:18px; }
  .studio-layout { display:flex; flex-direction:column; gap:0; }
  .studio-content { display:contents; }
  .studio-intro { order:0; width:100%; min-height:200px; }
  .studio-intro.with-image { grid-template-columns:1fr 1fr; }
  .booking-rail { order:1; position:static; width:100%; margin-top:30px; }
  .studio-section { order:2; width:100%; }
  .booking-card { padding:28px; max-height:none; overflow:visible; }
  .public .slot-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .public-reviews { grid-template-columns:1fr 1fr; }
  .studio-contact { gap:28px; }
}
@media(max-width:720px) {
  .boka-admin .shell { display:block; }
  .boka-admin .sidebar { position:static; height:auto; padding:16px; gap:18px; }
  .boka-admin .nav { display:flex; margin:0; overflow-x:auto; padding-bottom:3px; }
  .boka-admin .nav a { font-size:13px; padding:10px 12px; }
  .boka-admin .topbar { padding:0 18px; height:62px; }
  .boka-admin .content { padding:28px 18px 45px; }
  .boka-admin h1 { font-size:42px; letter-spacing:-2px; }
  .boka-admin .page-heading { margin-bottom:25px; align-items:center; gap:16px; }
  .boka-admin .page-heading .button { white-space:normal; text-align:left; font-size:13px; }
  .boka-admin .page-heading p { font-size:13px; }
  .boka-admin .stats { grid-template-columns:1fr 1fr; }
  .boka-admin .stat { padding:18px; }
  .boka-admin .stat strong { font-size:29px; letter-spacing:-1.4px; }
  .boka-admin .stat:last-child { border-top:1px solid var(--line); }
  .boka-admin .stat:nth-child(2) { border-right:0; }
  .boka-admin .panel { padding:20px; }
  .boka-admin .overview>aside { grid-template-columns:1fr; }
  .boka-admin .appointment strong,.boka-admin .appointment .time { font-size:14px; }
  .boka-admin .appointment p { font-size:12px; }
  .boka-admin .panel-title h2 { font-size:19px; }
  .boka-admin .panel-title a { font-size:12px; }
  .team-admin-card>.row:last-child { flex-wrap:wrap; gap:16px; }
  .boka-admin .site-shortcut { padding:24px; }
  .boka-admin .editor { display:block; }
  .boka-admin .editor-preview { margin-top:30px; }
  .boka-admin .editor-preview iframe { height:640px; }
  .boka-admin .hours-row { grid-template-columns:1fr 88px 88px; }
  .boka-admin dialog { max-width:calc(100% - 24px); }
  .private-fields { padding:12px; }
  .studio-header { padding:18px 20px; gap:12px; }
  .studio-logo { font-size:15px; }
  .studio-logo>span { font-size:25px; }
  .studio-header nav a:not(.button) { display:none; }
  .studio-header .button { font-size:13px; padding:10px 12px; min-height:42px; }
  .studio-main { padding:0 20px; }
  .studio-masthead { padding:22px 0 26px; }
  .studio-masthead>.row { gap:15px; align-items:start; }
  .studio-masthead .eyebrow { font-size:10px; letter-spacing:1px; }
  .location-link { max-width:160px; font-size:11px; text-align:right; }
  .studio-masthead h1 { font-size:clamp(45px,10.7vw,78px); letter-spacing:-.065em; margin-top:22px; }
  .studio-masthead h1.long-name { font-size:40px; }
  .studio-intro { min-height:200px; padding:28px; }
  .studio-intro h2 { font-size:36px; letter-spacing:-1.6px; }
  .studio-intro.with-image { grid-template-columns:1fr; gap:22px; }
  .studio-intro.with-image h2 { font-size:36px; }
  .studio-image { min-height:220px; aspect-ratio:4/3; }
  .studio-about { margin-top:22px; }
  .studio-about p { font-size:14px; }
  .booking-rail { margin-top:24px; }
  .booking-card { padding:24px 20px; box-shadow:4px 4px 0 #d9dece; }
  .booking-card-title h2 { font-size:27px; }
  .public .slot-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .studio-section { padding-top:40px; }
  .section-heading { margin-bottom:20px; }
  .section-heading h2 { font-size:30px; letter-spacing:-1.4px; }
  .treatment { padding:22px 0; gap:10px; grid-template-columns:20px minmax(0,1fr) auto; }
  .treatment-info h3 { font-size:19px; }
  .treatment-action { flex-direction:column; align-items:flex-end; gap:12px; }
  .treatment-action strong { font-size:14px; }
  .round-button { width:38px; height:38px; }
  .public-reviews { grid-template-columns:1fr; }
  .customer-quote { padding:22px; }
  .customer-quote:first-child blockquote { font-size:24px; }
  .public-team { gap:18px; }
  .person-caption { padding:16px 0; gap:8px; }
  .person-caption h3 { font-size:22px; }
  .person-caption p { font-size:12px; }
  .team-mark { display:none; }
  .studio-contact { grid-template-columns:1fr; margin-top:45px; padding:34px 0; gap:20px; }
  .studio-contact h2 { font-size:44px; letter-spacing:-2px; margin-bottom:18px; }
  .contact-links a { font-size:16px; }
  .studio-footer { padding:25px 20px; }
  .studio-footer strong { font-size:21px; }
}
.boka-admin .sidebar .bokzo-logo { content:url('/platform/assets/brand/bokzo-light.svg'); }
.boka-admin .sidebar .brand { padding:0; }
.boka-admin .sidebar .product-label { font-size:17px; }
.site-extras summary { cursor:pointer; font-size:14px; font-weight:650; }
.site-extras>div,.site-extras>p { margin-top:16px; }
/* Weekly planner and business opening hours. */
.week-toolbar { flex-wrap:wrap; gap:16px; }
.week-caption { margin:24px 0 18px; flex-wrap:wrap; }
.week-caption h2 { font-size:20px; }
.week-caption>span { font-size:13px; color:var(--muted); }
.week-scroll { overflow:auto; max-height:75vh; border:1px solid var(--line); border-radius:12px; background:#fff; }
.week-canvas { min-width:850px; }
.week-head,.week-body { display:grid; grid-template-columns:60px repeat(7,minmax(0,1fr)); }
.week-head { position:sticky; top:0; z-index:5; background:#fff; border-bottom:1px solid var(--line); }
.week-head>div { padding:12px; display:flex; align-items:center; justify-content:center; gap:10px; border-left:1px solid var(--line); }
.week-head>span { padding:16px 8px; font-size:11px; color:var(--muted); }
.week-head strong { font-size:20px; }
.week-head span { font-size:12px; text-transform:capitalize; }
.week-head .is-today { background:var(--accent); }
.week-axis { position:relative; background:#fff; }
.week-axis>span { position:absolute; right:8px; font-size:11px; color:var(--muted); }
.week-day { position:relative; border-left:1px solid var(--line); background-image:linear-gradient(to bottom,#e6e8e1 1px,transparent 1px); }
.week-day.today-column { background-color:#f8faed; }
.week-booking { position:absolute; text-align:left; border:0; border-left:3px solid #738043; background:#e5eccd; border-radius:4px; padding:4px 6px; display:flex; flex-direction:column; gap:1px; overflow:hidden; color:#26311b; }
.week-booking.color-1 { background:#e0e9f6; border-color:#5379ae; color:#1b365c; }
.week-booking.color-2 { background:#f5e4db; border-color:#ac6d47; color:#57381d; }
.week-booking.color-3 { background:#ece1f5; border-color:#8d5daa; color:#4d2c65; }
.week-booking.color-4 { background:#dcf0ea; border-color:#448774; color:#254f43; }
.week-booking span,.week-booking small { font-size:10px; color:inherit; line-height:1.25; }
.week-booking strong { font-size:12px; line-height:1.2; overflow-wrap:anywhere; }
.week-booking:hover { filter:brightness(.96); box-shadow:0 2px 8px #0002; z-index:3; }
.hours-layout { display:grid; grid-template-columns:minmax(350px,1fr) minmax(350px,1fr); gap:24px; align-items:start; }
.hours-layout .section-note { margin:12px 0 25px; }
.hours-exception { border-top:1px solid var(--line); padding:20px 0; display:flex; align-items:center; justify-content:space-between; gap:15px; }
.hours-exception p { font-size:13px; margin:6px 0 10px; }
#exception-times[hidden] { display:none; }
@media(max-width:1100px){.hours-layout { grid-template-columns:1fr; }}
@media(max-width:600px){.week-caption h2 { font-size:16px; }.week-toolbar label { flex:1 1 130px; }.week-toolbar label input { width:100%; }.hours-exception { flex-wrap:wrap; }.week-scroll { max-height:70vh; }}
.staff-paused { border:2px dashed #a57959; background:#f5f1eb; }
.staff-paused .admin-portrait { filter:grayscale(1); opacity:.7; }
.staff-paused .badge.off { background:#ead9c8; color:#563615; }
.demo-bar label { display:flex; justify-content:center; gap:10px; align-items:center; }
.demo-bar select { width:auto; max-width:240px; padding:3px 8px; font-size:12px; }
#service-people { display:grid; gap:10px; margin-top:14px; }
#service-people:has(input:disabled) { opacity:.5; }
.customer-search { display:block; max-width:440px; margin-bottom:16px; }
.customer-row { display:grid; grid-template-columns:1fr 1fr auto; gap:20px; width:100%; padding:20px 0; background:none; border:0; border-bottom:1px solid var(--line); text-align:left; color:inherit; font:inherit; cursor:pointer; }
.customer-row:last-child { border-bottom:0; }
.customer-row small { display:block; font-size:12px; margin-top:5px; color:var(--muted); overflow-wrap:anywhere; }
#customer-list + details { margin-top:24px; }
@media(max-width:600px) { .customer-row { grid-template-columns:1fr auto; gap:12px; } .customer-row>span:nth-child(2) { grid-row:2; } .customer-row>span:last-child { grid-column:2; grid-row:1; } }
.gallery-edit-row { display:grid; grid-template-columns:72px minmax(0,1fr) auto; align-items:center; gap:12px; margin-bottom:12px; }
.gallery-edit-row img { width:72px; height:72px; object-fit:cover; border-radius:6px; }
.faq-edit-row { padding:16px 0; border-bottom:1px solid var(--line); }
[hidden] { display:none!important; }
.loyalty-admin { padding:20px; background:#f1f3df; border-radius:8px; display:grid; gap:12px; }
.loyalty-count { font-size:32px; }
.customer-history-row { display:flex; flex-wrap:wrap; gap:16px; justify-content:space-between; align-items:center; padding-bottom:14px; border-bottom:1px solid var(--line); }
.customer-history-row>.button { width:100%; }
@media(max-width:500px){.gallery-edit-row { grid-template-columns:56px minmax(0,1fr); }.gallery-edit-row img{width:56px;height:56px;}.gallery-edit-row button{grid-column:2;justify-self:start;}}
.service-category{margin:0 0 30px}.service-category>h2{display:flex;align-items:center;gap:12px;margin-bottom:12px}.service-addons{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:12px}.addon-chip{background:#fff;border:1px solid var(--line);border-radius:6px;padding:7px 10px;cursor:pointer;font:inherit;font-size:12px}.customer-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0 0 20px}.customer-stats>div{background:#fff;padding:20px;border:1px solid var(--line);border-radius:8px}.customer-stats small,.customer-stats strong{display:block}.customer-stats strong{font-size:25px;margin-top:8px}.customer-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:14px}.customer-filters label{display:grid;gap:7px;font-size:13px}.customer-filters .customer-search{margin:0}.followup-panel{display:grid;gap:12px;background:#f7f7f4;padding:20px;border:1px solid var(--line);border-radius:8px}.followup-panel label{display:grid;gap:8px}.followup-alert{background:#fae6c6!important;color:#663800!important}.booking-person{display:flex;gap:16px;align-items:center;padding:18px;background:#fff;border:1px solid var(--line);margin-bottom:20px}.booking-person .portrait{width:64px;height:64px;flex:0 0 64px}.booking-person h3{margin:3px 0;font-size:24px}.booking-person small{font-size:12px}.popular-services>small{display:block;margin-bottom:8px}.popular-services .popular-shortcuts{display:flex;gap:7px;flex-wrap:wrap;margin:0}.popular-services .popular-shortcuts .button{background:#fff;color:#171717;border:1px solid #ddd;padding:8px 12px;min-height:34px;font-size:12px;box-shadow:none}.booking-addons{padding:16px;border:1px solid #ddd;display:grid;gap:10px;min-width:0}.booking-addons legend{font-weight:750;padding:0 8px}.addon-option{display:flex!important;align-items:center;gap:12px;background:#fff;padding:13px;border:1px solid #eee}.addon-option input{width:18px!important;min-height:18px!important;flex:0 0 18px}.addon-option small{display:block;margin-top:5px}.customer-row>span{min-width:0;overflow-wrap:anywhere}@media(max-width:600px){.customer-stats{grid-template-columns:1fr 1fr}.customer-stats>div{padding:13px}.customer-stats strong{font-size:20px}.customer-filters{grid-template-columns:1fr 1fr}.customer-filters .customer-search{grid-column:1/-1}.service-category .list-card{flex-wrap:wrap}}

.week-booking.payment-pending{border:2px dashed #8c6b18;background:#fff5d8}
