/* pTinksOS by AI Ops Foundry — dark interface with cyan, blue and purple accents */
:root{
  --bg:#070d1a; --bg2:#0a1324; --surface:#0f1a2e; --surface2:#13213a; --line:#1f2f4b; --line2:#2a3d5f;
  --text:#e7eefb; --muted:#93a4c0; --faint:#8b9bb7;
  --cyan:#22d3ee; --blue:#3b82f6; --purple:#a855f7; --green:#34d399; --amber:#fbbf24; --red:#f87171;
  --grad:linear-gradient(135deg,#22d3ee 0%,#3b82f6 55%,#a855f7 100%);
  --r:14px; --r-sm:10px;
  --font:Inter,"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --label:#c9d6ec; --navtext:#b9c7de; --strong:#fff; --hover-bg:#172845; --hover-bd:#3b5582;
  --fg-cyan:#a5f3fc; --fg-blue:#bfdbfe; --fg-purple:#e9d5ff; --fg-green:#bbf7d0; --fg-red:#fecaca; --fg-amber:#fde68a; --ai:#d8b4fe;
  --overlay:rgba(3,7,15,.66); --topbar:rgba(7,13,26,.92); --toast-bg:#0f2a33; --toast-bad:#2a1215; --glass:rgba(15,26,46,.6); --rec1:#14223d; --rec2:#0f1a2e;
  color-scheme:dark;
}
/* v0.9 light theme for the owner app */
html[data-theme="light"]{
  --bg:#f5f7fb; --bg2:#eef2f8; --surface:#ffffff; --surface2:#f4f7fc; --line:#dde3ee; --line2:#c8d2e2;
  --text:#0f172a; --muted:#475569; --faint:#5b6b82;
  --cyan:#0e7490; --blue:#2563eb; --purple:#7c3aed; --green:#047857; --amber:#b45309; --red:#dc2626;
  --label:#334155; --navtext:#334155; --strong:#0f172a; --hover-bg:#eef3fb; --hover-bd:#b8c4d8;
  --fg-cyan:#0e7490; --fg-blue:#1d4ed8; --fg-purple:#6d28d9; --fg-green:#047857; --fg-red:#b91c1c; --fg-amber:#92400e; --ai:#7c3aed;
  --overlay:rgba(15,23,42,.42); --topbar:rgba(255,255,255,.92); --toast-bg:#ecfeff; --toast-bad:#fef2f2; --glass:rgba(255,255,255,.75); --rec1:#ffffff; --rec2:#f3f7ff;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 var(--font);-webkit-font-smoothing:antialiased}
a{color:var(--cyan)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:6px}
.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}
.boot{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:8px;color:var(--muted)}

/* brand */
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--text)}
.brand img{width:34px;height:34px;flex:none}
.wordmark{font-weight:800;font-size:20px;letter-spacing:-.02em;line-height:1}
.wordmark .os{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.byline{display:block;font-size:11px;font-weight:500;color:var(--muted);letter-spacing:.02em;margin-top:3px}

/* auth */
.auth{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}
.auth-art{position:relative;overflow:hidden;padding:48px;display:flex;flex-direction:column;justify-content:space-between;
  background:radial-gradient(900px 500px at 10% 0%,rgba(34,211,238,.18),transparent 60%),radial-gradient(800px 600px at 90% 100%,rgba(168,85,247,.22),transparent 60%),var(--bg2);border-right:1px solid var(--line)}
.auth-art h1{font-size:44px;line-height:1.05;letter-spacing:-.03em;margin:0 0 14px;max-width:12ch}
.auth-art h1 span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.auth-art p{color:var(--muted);max-width:44ch;margin:0}
.auth-points{display:grid;gap:12px;margin-top:28px;max-width:440px}
.auth-points div{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--glass)}
.auth-points b{display:block;font-size:14px}
.auth-points small{color:var(--muted)}
.dot{width:10px;height:10px;border-radius:50%;flex:none;margin-top:6px;background:var(--grad)}
.auth-form{display:grid;place-items:center;padding:40px 24px}
.auth-card{width:100%;max-width:420px}
.auth-card h2{font-size:26px;margin:0 0 6px;letter-spacing:-.02em}
.auth-card .sub{color:var(--muted);margin:0 0 22px}
.switch{margin-top:16px;color:var(--muted);font-size:14px}

/* forms */
.field{display:grid;gap:6px;margin-bottom:14px;align-content:start}
.field label{font-size:13px;font-weight:600;color:var(--label)}
.field .hint{font-size:12px;color:var(--faint)}
input:not([type]),input[type=text],input[type=email],input[type=password],input[type=tel],input[type=url],input[type=number],input[type=date],input[type=time],input[type=datetime-local],input[type=search],select,textarea{
  width:100%;background:var(--bg2);border:1px solid var(--line2);border-radius:var(--r-sm);padding:10px 12px;min-height:42px}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--cyan);outline:none;box-shadow:0 0 0 3px rgba(34,211,238,.18)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--label);margin:4px 0 14px}
.check input{margin-top:3px;accent-color:var(--cyan);width:16px;height:16px}
.err{background:rgba(248,113,113,.12);border:1px solid rgba(248,113,113,.4);color:var(--fg-red);border-radius:10px;padding:10px 12px;margin-bottom:14px;font-size:14px}
.ok{background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.35);color:var(--fg-green);border-radius:10px;padding:10px 12px;margin-bottom:14px;font-size:14px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 15px;border-radius:10px;border:1px solid var(--line2);background:var(--surface2);color:var(--text);font-weight:600;font-size:14px;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{border-color:var(--hover-bd);background:var(--hover-bg)}
.btn.primary{background:var(--grad);border:0;color:#04101f}
.btn.primary:hover{filter:brightness(1.08)}
.btn.danger{border-color:rgba(248,113,113,.45);color:var(--fg-red);background:rgba(248,113,113,.08)}
.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}
.btn.ghost:hover{color:var(--text);background:var(--surface2)}
.btn.sm{min-height:32px;padding:5px 10px;font-size:13px}
.btn.block{width:100%}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

/* shell */
.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}
.side{position:sticky;top:0;height:100vh;overflow:auto;background:var(--bg2);border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:18px}
.biz{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--surface)}
.biz .name{font-weight:700;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.biz .meta{font-size:12px;color:var(--muted)}
.biz select{margin-top:8px;min-height:34px;padding:5px 8px;font-size:13px}
nav.menu{display:grid;gap:2px}
nav.menu .group{font-size:11px;font-weight:700;color:var(--faint);letter-spacing:.08em;text-transform:uppercase;padding:12px 10px 4px}
nav.menu a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;color:var(--navtext);text-decoration:none;font-size:14px;font-weight:500}
nav.menu a:hover{background:var(--surface);color:var(--text)}
nav.menu a.active{background:linear-gradient(90deg,rgba(34,211,238,.16),rgba(59,130,246,.08));color:var(--strong);box-shadow:inset 2px 0 0 var(--cyan)}
nav.menu svg{width:18px;height:18px;flex:none;opacity:.9}
.badge{margin-left:auto;background:var(--purple);color:#fff;font-size:11px;font-weight:700;border-radius:999px;padding:1px 7px}
.side-foot{margin-top:auto;font-size:12px;color:var(--faint);display:grid;gap:8px}
.main{min-width:0;padding:28px 34px 60px;max-width:1320px}
.topbar{display:none}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan)}
h1.title{font-size:28px;letter-spacing:-.02em;margin:4px 0 2px}
.lede{color:var(--muted);margin:0}

/* cards */
.grid{display:grid;gap:16px}
.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.two{grid-template-columns:1.4fr 1fr}
.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px 18px}
.card h2{font-size:16px;margin:0 0 12px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.card h2 small{font-weight:500;color:var(--muted);font-size:13px}
.kpi .label{color:var(--muted);font-size:13px;font-weight:600}
.kpi .value{font-size:32px;font-weight:800;letter-spacing:-.02em;margin-top:6px}
.kpi .foot{font-size:12px;color:var(--faint)}
.kpi.accent{background:linear-gradient(160deg,rgba(34,211,238,.12),rgba(168,85,247,.12)),var(--surface);border-color:var(--line2)}
.empty{color:var(--muted);font-size:14px;padding:18px;border:1px dashed var(--line2);border-radius:12px;text-align:center}
.list{display:grid}
.item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}
.item:last-child{border-bottom:0}
.item .t{font-weight:600;font-size:14px}
.item .s{font-size:13px;color:var(--muted)}
.clickable{cursor:pointer}
.clickable:hover .t{color:var(--cyan)}

/* tables */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:11px 14px;border-bottom:1px solid var(--line);background:var(--bg2);white-space:nowrap}
td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
tr:last-child td{border-bottom:0}
tbody tr.clickable:hover{background:var(--surface2)}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.toolbar input[type=search]{max-width:280px}
.tabs{display:flex;gap:4px;flex-wrap:wrap;background:var(--bg2);border:1px solid var(--line);border-radius:11px;padding:4px}
.tabs button{border:0;background:transparent;color:var(--muted);padding:6px 12px;border-radius:8px;font-weight:600;font-size:13px;cursor:pointer}
.tabs button.on{background:var(--surface2);color:var(--strong);box-shadow:inset 0 0 0 1px var(--line2)}

/* pills */
.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;border-radius:999px;padding:2px 9px;border:1px solid var(--line2);color:var(--label);white-space:nowrap}
.pill.new{color:var(--fg-cyan);border-color:rgba(34,211,238,.4);background:rgba(34,211,238,.08)}
.pill.contacted{color:var(--fg-blue);border-color:rgba(59,130,246,.45);background:rgba(59,130,246,.1)}
.pill.qualified{color:var(--fg-purple);border-color:rgba(168,85,247,.45);background:rgba(168,85,247,.1)}
.pill.won,.pill.approved,.pill.completed,.pill.connected,.pill.resolved{color:var(--fg-green);border-color:rgba(52,211,153,.4);background:rgba(52,211,153,.08)}
.pill.lost,.pill.rejected,.pill.cancelled,.pill.failed,.pill.spam{color:var(--fg-red);border-color:rgba(248,113,113,.4);background:rgba(248,113,113,.08)}
.pill.pending_approval,.pill.requested,.pill.pending,.pill.drafted{color:var(--fg-amber);border-color:rgba(251,191,36,.4);background:rgba(251,191,36,.08)}
.pill.emergency{color:#fff;background:#b91c1c;border-color:#b91c1c}
.pill.high{color:var(--fg-amber);border-color:rgba(251,191,36,.5)}
.pill.ai{color:var(--fg-purple);border-color:rgba(168,85,247,.5)}

/* drawer + modal */
.overlay{position:fixed;inset:0;background:var(--overlay);z-index:40;display:flex;justify-content:flex-end}
.overlay.center{justify-content:center;align-items:center;padding:20px}
.drawer{width:min(620px,100%);height:100%;overflow:auto;background:var(--bg2);border-left:1px solid var(--line);padding:22px 24px 40px}
.modal{width:min(560px,100%);max-height:92vh;overflow:auto;background:var(--bg2);border:1px solid var(--line2);border-radius:16px;padding:22px 24px}
.drawer h2,.modal h2{margin:0 0 4px;font-size:21px;letter-spacing:-.01em}
.close-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}
.section{margin-top:22px}
.section h3{font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 10px}
.kv{display:grid;grid-template-columns:140px 1fr;gap:6px 14px;font-size:14px}
.kv dt{color:var(--muted)}
.kv dd{margin:0;word-break:break-word}
.msg{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;white-space:pre-wrap;font-size:14px}
.draft{background:linear-gradient(160deg,rgba(168,85,247,.08),rgba(34,211,238,.05)),var(--surface);border:1px solid var(--line2);border-radius:12px;padding:14px}
.draft textarea{min-height:140px;background:var(--bg)}
.ai-tag{font-size:12px;color:var(--ai);font-weight:600}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--toast-bg);border:1px solid rgba(34,211,238,.45);color:var(--fg-cyan);padding:10px 16px;border-radius:10px;z-index:60;font-size:14px;box-shadow:0 10px 40px rgba(0,0,0,.4)}
.toast.bad{background:var(--toast-bad);border-color:rgba(248,113,113,.5);color:var(--fg-red)}

/* book */
.day{margin-bottom:18px}
.day h2{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin:0 0 8px}
.appt{display:grid;grid-template-columns:110px 1fr auto;gap:14px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);margin-bottom:8px}
.appt .time{font-weight:700;font-size:14px}
.appt .time small{display:block;color:var(--muted);font-weight:500}
.appt.cancelled{opacity:.55}
.appt.cancelled .t{text-decoration:line-through}
.hours-grid{display:grid;gap:8px}
.hours-row{display:grid;grid-template-columns:110px 1fr 1fr;gap:10px;align-items:center}

/* insights */
.bars{display:grid;gap:10px}
.bar{display:grid;grid-template-columns:120px 1fr 44px;gap:10px;align-items:center;font-size:13px}
.bar .track{height:10px;border-radius:99px;background:var(--bg2);overflow:hidden;border:1px solid var(--line)}
.bar .fill{height:100%;background:var(--grad);border-radius:99px}
.spark{display:flex;align-items:flex-end;gap:4px;height:120px;padding-top:8px}
.spark div{flex:1;min-width:6px;background:var(--grad);border-radius:4px 4px 0 0;opacity:.9}
.spark-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--faint);margin-top:6px}
.note{font-size:13px;color:var(--muted);border-left:3px solid var(--purple);padding:8px 12px;background:rgba(168,85,247,.06);border-radius:0 10px 10px 0}
.copybox{display:flex;gap:8px}
.copybox input{flex:1;min-width:0;font-family:var(--mono);font-size:13px}
code{font-family:var(--mono);font-size:13px;background:var(--bg2);border:1px solid var(--line);padding:1px 6px;border-radius:6px}

/* onboarding */
.wizard{max-width:820px}
.steps{display:flex;gap:8px;margin:0 0 20px}
.steps span{flex:1;height:5px;border-radius:9px;background:var(--line)}
.steps span.on{background:var(--grad)}
.svc-row{display:grid;grid-template-columns:28px 1fr 130px;gap:10px;align-items:center;margin-bottom:8px}

/* public form */
.public{min-height:100vh;display:grid;place-items:center;padding:30px 18px;background:radial-gradient(800px 500px at 0% 0%,rgba(34,211,238,.12),transparent 60%),radial-gradient(800px 500px at 100% 100%,rgba(168,85,247,.14),transparent 60%),var(--bg)}
.public .card{width:100%;max-width:520px;padding:26px}
.powered{margin-top:16px;text-align:center;font-size:12px;color:var(--faint)}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}

@media (max-width:1100px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.two,.three{grid-template-columns:1fr}}
@media (max-width:860px){
  .auth{grid-template-columns:1fr}.auth-art{display:none}
  .shell{display:block}
  .side{position:fixed;inset:0 30% 0 0;max-width:300px;z-index:50;transform:translateX(-102%);transition:transform .2s ease;height:100%}
  .side.open{transform:none;box-shadow:20px 0 60px rgba(0,0,0,.5)}
  .topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:30;padding:12px 16px;background:var(--topbar);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
  .main{padding:18px 16px 60px}
  h1.title{font-size:23px}
  .row{grid-template-columns:1fr}
  .appt{grid-template-columns:1fr;gap:6px}
  .kv{grid-template-columns:1fr}
  .kv dt{margin-top:6px}
  .hours-row{grid-template-columns:1fr 1fr}
  .hours-row label{grid-column:1/-1}
  .bar{grid-template-columns:90px 1fr 36px}
  .svc-row{grid-template-columns:28px 1fr 100px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.topbar-auth{display:none}
@media (max-width:860px){.topbar-auth{display:block}}

/* ---------- v0.3: POS, sales dashboard, marketing, automations, security, pricing */
.kpi .value.sm{font-size:22px}
.chart-box{position:relative;height:260px}
.chart-box.tall{height:320px}
.pos{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,1fr);gap:16px;align-items:start}
.pos-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:16px}
.pos-item{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:78px;padding:12px;border-radius:var(--r-sm);border:1px solid var(--line2);background:var(--surface2);cursor:pointer;text-align:left;transition:border-color .15s,transform .1s}
.pos-item:hover{border-color:var(--cyan)}.pos-item:active{transform:scale(.98)}
.pos-item span{font-size:14px;font-weight:600;line-height:1.3}.pos-item b{color:var(--cyan);font-size:14px}
.custom-line{border-top:1px solid var(--line);padding-top:14px}
.ticket{position:sticky;top:16px}
.qty{display:flex;align-items:center;gap:6px}.qty span{min-width:22px;text-align:center;font-weight:700}
.tip-q{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
dl.totals{margin:12px 0;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
dl.totals .grand{font-size:18px;font-weight:800;color:var(--text)}
.method-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:14px}
.method{position:relative;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--surface2);cursor:pointer;font-size:14px}
.method:has(input:checked){border-color:var(--cyan);background:rgba(34,211,238,.08)}
.method input{accent-color:var(--cyan)}
fieldset.method-set,fieldset.consent{border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;margin:0 0 14px}
fieldset legend{padding:0 6px;font-size:13px;font-weight:600;color:var(--muted)}
.recipe{border:1px solid var(--line2);border-radius:var(--r-sm);padding:14px;background:var(--surface2);display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.recipe p{margin:0;font-size:13.5px;color:var(--muted);flex:1}
.switch-t input{width:18px;height:18px;accent-color:var(--cyan)}
.step-label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);margin:16px 0 8px}
.row.cond{align-items:end;grid-template-columns:1fr 1fr 1fr auto}
.row.three-col{grid-template-columns:2fr 1fr 1fr}
.ai-box{border:1px dashed var(--line2);border-radius:var(--r-sm);padding:12px 14px;margin:6px 0 14px;background:rgba(168,85,247,.05)}
.ideas{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 14px}
.codes code,.key{display:block;padding:8px 10px;border-radius:8px;background:var(--bg2);border:1px solid var(--line);font-family:var(--mono);font-size:14px;letter-spacing:.04em;text-align:center}
.key{margin-top:8px;word-break:break-all}
.qr{background:#fff;border-radius:12px;padding:10px;display:block;width:max-content;margin:10px 0}
.qr img{display:block;width:200px;height:200px}
.steps-list{padding-left:20px;margin:12px 0}.steps-list li{margin-bottom:12px;font-size:14px}
details summary{cursor:pointer;color:var(--cyan);font-size:13.5px}
.sub-h{font-size:18px;margin:6px 0 12px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.sub-h small{font-size:13px;color:var(--muted);font-weight:500}
.plans{align-items:stretch}
.plan{position:relative;display:flex;flex-direction:column}
.plan h3{margin:0 0 4px;font-size:20px}.plan .s{color:var(--muted);font-size:13.5px;margin:0}
.plan.rec{border-color:var(--cyan);box-shadow:0 0 0 1px rgba(34,211,238,.35),0 14px 40px -18px rgba(34,211,238,.45)}
.rec-tag{position:absolute;top:-11px;right:16px;background:var(--grad);color:#04121c;font-size:11.5px;font-weight:800;padding:3px 10px;border-radius:99px}
.price{margin:14px 0 4px;display:flex;align-items:baseline;gap:6px}.price b{font-size:36px;letter-spacing:-.02em}.price span{color:var(--muted);font-size:13px}
.seats{margin-bottom:12px !important}
.plan ul{margin:0;padding-left:18px;font-size:13.5px;display:grid;gap:6px}
.plan-notes{margin:16px 0 0;padding-left:18px;color:var(--muted);font-size:13px;display:grid;gap:4px}
.item.unread .t::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--cyan);margin-right:8px;vertical-align:middle}
.receipt{background:#fff;color:#111;border-radius:10px;padding:20px;font-family:var(--mono);font-size:13px;max-width:360px;margin:0 auto}
.receipt .r-head{text-align:center;margin-bottom:12px;line-height:1.5}.receipt .r-head b{font-size:16px}
.receipt table{width:100%;border-collapse:collapse;margin:6px 0}.receipt td{padding:3px 0;border:0;color:#111;background:none}.receipt td:last-child{text-align:right}
.receipt .r-tot{border-top:1px dashed #999;padding-top:6px}.receipt .g td{font-weight:800}
.receipt .r-foot{text-align:center;margin:12px 0 0;color:#444}
@media print{body.printing *{visibility:hidden}body.printing .receipt,body.printing .receipt *{visibility:visible}body.printing .receipt{position:absolute;left:0;top:0;max-width:none;width:80mm}body.printing .overlay{background:none}}
@media (max-width:980px){.pos{grid-template-columns:1fr}.ticket{position:static}}
@media (max-width:640px){.row.cond,.row.three-col{grid-template-columns:1fr}.codes{grid-template-columns:1fr}.method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-items{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-box{height:230px}.chart-box.tall{height:260px}}
#menu-btn svg{width:20px;height:20px;display:block}
.grid>*,.card{min-width:0}.table-wrap{max-width:100%}
.table-wrap{min-width:0;position:relative}
[hidden]{display:none!important}

/* ===================== v0.4 online booking page (customer-facing, light, brandable) ===================== */
body.bkp{--acc:#0f766e;--acc-ink:#fff;--acc-dark:#0b5c56;--ink:#111827;--ink2:#4b5563;--ink3:#6b7280;--bd:#e5e7eb;--bd2:#d1d5db;--bg0:#f7f7f5;--card:#fff;--soft:#f3f2ef;--soft2:#ecebe7;--glass:rgba(247,247,245,.94);--ok-bg:#ecfdf5;--ok-bd:#a7f3d0;--ok-fg:#065f46;--bad-bg:#fef2f2;--bad-bd:#fecaca;--bad-fg:#991b1b;
  background:var(--bg0);color:var(--ink);color-scheme:light;font-size:16px}
body.bkp a{color:var(--acc-dark)}
body.bkp :focus-visible{outline:3px solid var(--acc);outline-offset:2px}
body.bk-lock{overflow:hidden}
.bk-page{min-height:100vh;display:flex;flex-direction:column}
.bk-hero{position:relative;background:linear-gradient(135deg,var(--acc),var(--acc-dark));color:var(--acc-ink);padding:22px 18px 26px}
.bk-hero.has-cover{min-height:200px;display:flex;align-items:flex-end;color:#fff}
.bk-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bk-hero.has-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.62) 100%)}
.bk-hero-in{position:relative;z-index:1;display:flex;align-items:center;gap:14px;max-width:760px;margin:0 auto;width:100%}
.bk-hero h1{margin:0;font-size:24px;letter-spacing:-.02em;line-height:1.15}
.bk-hero p{margin:4px 0 0;opacity:.92;font-size:15px}
.bk-hero-in>div{flex:1;min-width:0}
.bk-logo{width:60px;height:60px;border-radius:16px;object-fit:cover;background:var(--card);flex:none;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.bk-logo.bk-ini{display:grid;place-items:center;color:var(--acc-dark);font-weight:800;font-size:20px}
.bk-call{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.18);color:inherit!important;text-decoration:none;border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:8px 12px;font-weight:600;font-size:14px;flex:none}
.bk-call svg{width:16px;height:16px}
.bk-steps{position:sticky;top:0;z-index:20;background:var(--glass);backdrop-filter:blur(8px);border-bottom:1px solid var(--bd)}
.bk-steps ol{display:flex;justify-content:center;gap:6px;list-style:none;margin:0 auto;padding:10px 14px;max-width:760px}
.bk-steps li{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--ink3);flex:1;justify-content:center}
.bk-steps li span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--bd2);font-size:12px}
.bk-steps li.on{color:var(--ink)}.bk-steps li.on span{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}
.bk-steps li.done span{background:var(--ink);border-color:var(--ink);color:var(--card)}
.bk-main{flex:1;width:100%;max-width:760px;margin:0 auto;padding:18px 16px 40px;outline:none}
body.bk-has-bar .bk-main{padding-bottom:110px}
.bk-seg{display:grid;grid-template-columns:1fr 1fr;background:var(--soft2);border-radius:12px;padding:4px;margin-bottom:14px}
.bk-seg button{border:0;background:transparent;padding:10px;border-radius:9px;font-weight:700;color:var(--ink2);cursor:pointer;font-size:15px}
.bk-seg button[aria-selected="true"]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.bk-filter{position:sticky;top:45px;z-index:10;background:var(--bg0);padding:4px 0 10px;margin:0 -2px}
.bk-search{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--bd2);border-radius:12px;padding:0 12px;color:var(--ink3)}
.bk-search svg{width:18px;height:18px;flex:none}
.bk-search input{border:0;outline:0;background:transparent;padding:11px 0;width:100%;color:var(--ink);font-size:16px}
.bk-chips{display:flex;gap:8px;overflow-x:auto;padding:10px 2px 2px;scrollbar-width:none}
.bk-chips::-webkit-scrollbar{display:none}
.bk-chips button{flex:none;border:1px solid var(--bd2);background:var(--card);color:var(--ink2);border-radius:999px;padding:7px 14px;font-weight:600;font-size:14px;cursor:pointer}
.bk-chips button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--card)}
.bk-group h2{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink3);margin:18px 2px 8px}
.bk-svc{display:flex;width:100%;gap:12px;text-align:left;background:var(--card);border:1.5px solid var(--bd);border-radius:14px;padding:14px;margin-bottom:10px;cursor:pointer;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.bk-svc:hover{border-color:var(--bd2);box-shadow:0 2px 8px rgba(0,0,0,.05)}
.bk-svc.on{border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 18%,transparent)}
.bk-svc-main{flex:1;min-width:0;display:grid;gap:3px}
.bk-svc-main b{font-size:16px}
.bk-svc-main small{display:flex;align-items:center;gap:5px;color:var(--ink3);font-size:13px}
.bk-svc-main small svg{width:14px;height:14px}
.bk-desc{color:var(--ink2);font-size:13.5px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bk-svc-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:8px;flex:none}
.bk-price{font-weight:700;font-size:15px;white-space:nowrap}
.bk-add{display:inline-flex;align-items:center;gap:4px;border:1.5px solid var(--acc);color:var(--acc-dark);border-radius:999px;padding:4px 12px;font-weight:700;font-size:13px}
.bk-add svg{width:14px;height:14px}
.bk-svc.on .bk-add{background:var(--acc);color:var(--acc-ink)}
.bk-with,.bk-sumrow{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:10px 12px;margin-bottom:12px}
.bk-with span{flex:1}
.bk-sumrow>div{flex:1;min-width:0;display:grid}.bk-sumrow small{color:var(--ink3);font-size:13px}
.bk-link{border:0;background:none;color:var(--acc-dark);font-weight:700;cursor:pointer;padding:4px;font-size:14px;text-decoration:underline;text-underline-offset:3px}
.bk-hint{color:var(--ink3);font-size:14px;margin:0 2px 12px}.bk-hint.center{text-align:center;margin-top:18px}
.bk-av{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none;background:var(--soft2)}
.bk-av.sm{width:36px;height:36px}.bk-av.lg{width:64px;height:64px}.bk-av.xl{width:96px;height:96px}
.bk-ini{display:inline-grid;place-items:center;font-weight:800;color:var(--acc-dark);background:color-mix(in srgb,var(--acc) 14%,var(--card))}
.bk-av.lg.bk-ini{font-size:20px}.bk-av.xl.bk-ini{font-size:30px}
.bk-any{display:inline-grid;place-items:center;background:color-mix(in srgb,var(--acc) 14%,var(--card));color:var(--acc-dark)}.bk-any svg{width:20px;height:20px}
.bk-team{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.bk-pro{background:var(--card);border:1.5px solid var(--bd);border-radius:16px;padding:14px;display:grid;gap:12px}
.bk-pro.sel{border-color:var(--acc)}
.bk-pro-top{display:flex;gap:12px;align-items:center;border:0;background:none;padding:0;text-align:left;cursor:pointer;color:var(--ink)}
.bk-pro-top span{display:grid;gap:2px}.bk-pro-top b{font-size:17px}.bk-pro-top small{color:var(--ink3);font-size:13.5px}
.bk-days{display:inline-flex;align-items:center;gap:5px}.bk-days svg{width:14px;height:14px}
.bk-tags{display:flex;flex-wrap:wrap;gap:6px}
.bk-tags span{background:var(--soft);color:var(--ink2);border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:600}
.bk-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.bk-strip button{border:0;padding:0;border-radius:10px;overflow:hidden;aspect-ratio:1;cursor:pointer;background:var(--soft);position:relative}
.bk-strip img{width:100%;height:100%;object-fit:cover;display:block}
.bk-strip .bk-more{position:absolute;right:0;bottom:0;width:calc(25% - 4.5px);aspect-ratio:1;background:rgba(17,24,39,.6);color:#fff;font-weight:800}
.bk-strip{position:relative}
.bk-pro-act{display:flex;gap:8px;justify-content:flex-end}
.bk-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:10px 18px;border-radius:12px;border:1.5px solid var(--bd2);background:var(--card);color:var(--ink)!important;font-weight:700;font-size:15px;cursor:pointer;text-decoration:none}
.bk-btn svg{width:18px;height:18px}
.bk-btn.primary{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)!important}
.bk-btn.primary:hover{background:var(--acc-dark);border-color:var(--acc-dark)}
.bk-btn.ghost{background:transparent}
.bk-btn.danger{color:#b91c1c!important;border-color:#fca5a5}
.bk-btn.sm{min-height:38px;padding:7px 12px;font-size:14px}
.bk-btn.lg{min-height:54px;font-size:17px}
.bk-btn.block{width:100%}
.bk-btn[disabled]{opacity:.55;cursor:not-allowed}
.bk-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--card);border-top:1px solid var(--bd);box-shadow:0 -6px 20px rgba(0,0,0,.08);padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
.bk-bar-in{max-width:760px;margin:0 auto;display:flex;align-items:center;gap:12px}
.bk-bar-in>div{flex:1;min-width:0;display:grid}
.bk-bar-in b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bk-bar-in small{color:var(--ink3);font-size:13px}
.bk-h{font-size:18px;margin:20px 2px 10px;letter-spacing:-.01em}
.bk-who{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:none}
.bk-who::-webkit-scrollbar{display:none}
.bk-who button{flex:none;display:flex;align-items:center;gap:9px;border:1.5px solid var(--bd);background:var(--card);border-radius:14px;padding:8px 14px 8px 8px;cursor:pointer;color:var(--ink);text-align:left}
.bk-who button span{display:grid;font-weight:700;font-size:14.5px}.bk-who button small{font-weight:500;color:var(--ink3);font-size:12px;max-width:16ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bk-who button[aria-pressed="true"]{border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 18%,transparent)}
.bk-dates{display:flex;align-items:center;gap:6px}
.bk-arrow{flex:none;width:36px;height:36px;border-radius:50%;border:1px solid var(--bd2);background:var(--card);display:grid;place-items:center;cursor:pointer;color:var(--ink)}
.bk-arrow svg{width:18px;height:18px}.bk-arrow[disabled]{opacity:.35;cursor:default}
.bk-strip-d{flex:1;display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px;scrollbar-width:none}
.bk-strip-d::-webkit-scrollbar{display:none}
.bk-strip-d button{flex:none;scroll-snap-align:start;width:58px;display:grid;justify-items:center;gap:1px;padding:8px 0 10px;border-radius:14px;border:1.5px solid var(--bd);background:var(--card);cursor:pointer;color:var(--ink);position:relative}
.bk-strip-d button small{font-size:11.5px;color:var(--ink3);font-weight:600}
.bk-strip-d button b{font-size:19px}
.bk-strip-d button i{position:absolute;bottom:4px;width:5px;height:5px;border-radius:50%}
.bk-strip-d button i.y{background:var(--acc)}
.bk-strip-d button[disabled]{background:transparent;color:#a8a29e;border-style:dashed;cursor:default}
.bk-strip-d button[disabled] small{color:#a8a29e}
.bk-strip-d button[aria-pressed="true"]{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}
.bk-strip-d button[aria-pressed="true"] small{color:var(--acc-ink);opacity:.85}.bk-strip-d button[aria-pressed="true"] i.y{background:var(--acc-ink)}
.bk-dayh{font-size:15px;margin:16px 2px 6px}
.bk-part h4{margin:12px 2px 8px;font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink3)}
.bk-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.bk-times button{min-height:46px;border-radius:12px;border:1.5px solid var(--bd2);background:var(--card);font-weight:700;font-size:15px;cursor:pointer;color:var(--ink)}
.bk-times button:hover{border-color:var(--acc);color:var(--acc-dark)}
.bk-note{display:flex;gap:8px;align-items:center;background:color-mix(in srgb,var(--acc) 10%,var(--card));border:1px solid color-mix(in srgb,var(--acc) 30%,var(--card));border-radius:12px;padding:10px 12px;font-size:14px;margin:0 0 10px}
.bk-note svg{width:16px;height:16px;flex:none;color:var(--acc-dark)}
.bk-skel{height:70px;border-radius:14px;background:linear-gradient(90deg,var(--soft2) 0%,var(--soft) 50%,var(--soft2) 100%);background-size:200% 100%;animation:bkskel 1.2s infinite;margin-bottom:10px}
.bk-skel.short{height:120px}
@keyframes bkskel{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.bk-skel{animation:none}}
.bk-card{background:var(--card);border:1px solid var(--bd);border-radius:16px;padding:20px}
.bk-card h1,.bk-card h2,.bk-card h3{margin:0 0 6px;letter-spacing:-.01em}
.bk-card p{color:var(--ink2);margin:0 0 12px}
.bk-center{text-align:center}
.bk-wrap{min-height:100vh;max-width:560px;margin:0 auto;padding:28px 16px;display:grid;align-content:start;gap:12px}
.bk-review{background:var(--card);border:1px solid var(--bd);border-radius:16px;padding:16px;display:grid;gap:12px}
.bk-when-big{display:flex;gap:12px;align-items:center}
.bk-when-big>svg{width:22px;height:22px;color:var(--acc-dark);flex:none}
.bk-when-big>div{flex:1;display:grid}.bk-when-big b{font-size:17px}.bk-when-big span{color:var(--ink2)}
.bk-lines,.bk-plist{list-style:none;margin:0;padding:0;display:grid;gap:8px;border-top:1px solid var(--bd);padding-top:12px}
.bk-lines li,.bk-plist li{display:flex;justify-content:space-between;gap:12px}
.bk-lines li span,.bk-plist li span{display:grid}.bk-lines small,.bk-plist small{color:var(--ink3);font-size:13px}
.bk-withrow{display:flex;align-items:center;gap:10px;color:var(--ink2)}
.bk-total{display:flex;justify-content:space-between;border-top:1px solid var(--bd);padding-top:12px;font-size:17px}
.bk-fine{font-size:13px;color:var(--ink3);margin:6px 2px}.bk-fine.center{text-align:center}
.bk-f{display:grid;gap:6px;margin-bottom:12px}
.bk-f label{font-size:14px;font-weight:600;color:var(--ink2)}
.bk-f input,.bk-f textarea{width:100%;border:1.5px solid var(--bd2);border-radius:12px;padding:12px;font-size:16px;background:var(--card);color:var(--ink)}
.bk-f input:focus,.bk-f textarea:focus{outline:0;border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 18%,transparent)}
.bk-f2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bk-check{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--ink2);margin:6px 0 12px}
.bk-check input{width:20px;height:20px;margin-top:1px;accent-color:var(--acc);flex:none}
.bk-policy{background:var(--soft);border-radius:12px;padding:12px 14px;font-size:13.5px;color:var(--ink2);margin:6px 0 12px}
.bk-policy p{margin:0 0 6px}.bk-policy p:last-child{margin:0}
.bk-err{background:var(--bad-bg);border:1px solid var(--bad-bd);color:var(--bad-fg);border-radius:12px;padding:10px 12px;margin-bottom:12px;font-size:14.5px}
.bk-ok{background:var(--ok-bg);border:1px solid var(--ok-bd);color:var(--ok-fg);border-radius:12px;padding:10px 12px;margin-bottom:12px}
.bk-done{text-align:center;display:grid;gap:12px;justify-items:center}
.bk-done>p{margin:0;color:var(--ink2)}
.bk-done h2{margin:0;font-size:26px;letter-spacing:-.02em}
.bk-done .bk-review{width:100%;text-align:left}
.bk-tick{width:64px;height:64px;border-radius:50%;background:var(--acc);color:var(--acc-ink);display:grid;place-items:center}
.bk-tick svg{width:34px;height:34px}
.bk-done-act{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:4px}
.bk-keep{width:100%;text-align:left}
.bk-keep label{font-size:13.5px;font-weight:600;color:var(--ink2);display:block;margin-bottom:6px}
.bk-copy{display:flex;gap:8px}.bk-copy input{flex:1;min-width:0;border:1px solid var(--bd2);border-radius:10px;padding:8px 10px;font:13px var(--mono);background:var(--soft);color:var(--ink)}
.bk-eyebrow{font-size:13px;font-weight:700;color:var(--acc-dark);text-transform:uppercase;letter-spacing:.06em;margin:0 0 4px!important}
.bk-state{display:inline-block;font-weight:700;font-size:13px;border-radius:999px;padding:3px 10px;background:var(--ok-bg);color:var(--ok-fg)!important}
.bk-state.cancelled{background:var(--bad-bg);color:var(--bad-fg)!important}
.bk-powered{text-align:center;color:var(--ink3);font-size:12.5px;padding:10px 0 24px;margin:0}
.bk-overlay{position:fixed;inset:0;z-index:100;background:rgba(17,24,39,.5);display:flex;align-items:flex-end;justify-content:center}
.bk-sheet{position:relative;background:var(--card);color:var(--ink);width:min(640px,100%);max-height:92vh;overflow:auto;border-radius:20px 20px 0 0;padding:22px 18px calc(18px + env(safe-area-inset-bottom));animation:bkup .22s ease-out}
.bk-sheet.wide{width:min(900px,100%);background:#0c0a09;color:#fff}
.bk-sheet h2{margin:0 0 4px;font-size:22px}.bk-sheet h3{font-size:15px;margin:18px 0 8px}
.bk-sub{color:var(--ink2);margin:0 0 14px}
@keyframes bkup{from{transform:translateY(30px);opacity:.4}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.bk-sheet{animation:none}}
@media (min-width:720px){.bk-overlay{align-items:center}.bk-sheet{border-radius:20px}}
.bk-x{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;border:0;background:var(--soft);display:grid;place-items:center;cursor:pointer;color:var(--ink);z-index:2}
.bk-x svg{width:18px;height:18px}
.bk-prof-head{display:flex;gap:14px;align-items:center;padding-right:40px}
.bk-prof-head p{margin:2px 0;color:var(--ink2)}
.bk-bio{color:var(--ink2);line-height:1.55;margin:12px 0 0}
.bk-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.bk-gallery button{position:relative;border:0;padding:0;border-radius:12px;overflow:hidden;aspect-ratio:4/5;cursor:pointer;background:var(--soft)}
.bk-gallery img{width:100%;height:100%;object-fit:cover;display:block}
.bk-gallery span{position:absolute;left:0;right:0;bottom:0;padding:16px 8px 6px;background:linear-gradient(transparent,rgba(0,0,0,.65));color:#fff;font-size:12px;text-align:left}
.bk-sheet-foot{position:sticky;bottom:-18px;background:var(--card);padding:14px 0 4px;margin-top:12px}
.bk-lb{margin:0;display:grid;gap:10px;justify-items:center}
.bk-lb img{max-width:100%;max-height:72vh;border-radius:12px;object-fit:contain}
.bk-lb figcaption{color:#e7e5e4;text-align:center;display:grid;gap:4px}.bk-lb figcaption span{font-size:13px;color:#a8a29e}
.bk-lb-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:10px;color:#d6d3d1}
.bk-lb-nav .bk-btn{color:#fff!important;border-color:#57534e;min-height:42px}
.bk-sheet.wide .bk-x{background:#292524;color:#fff}
body.bkp .toast{background:#111827;color:#fff;border-color:#111827}
@media (max-width:560px){.bk-f2{grid-template-columns:1fr}.bk-hero h1{font-size:21px}.bk-team{grid-template-columns:1fr}.bk-call span{display:none}.bk-steps li{font-size:12.5px}.bk-gallery{grid-template-columns:repeat(2,1fr)}}

/* ===================== v0.4 owner/staff: team profiles and online booking ===================== */
.profs{display:grid;gap:14px}
.prof-top{display:flex;gap:18px;align-items:flex-start;margin-bottom:14px}
.prof-photo{display:grid;gap:8px;justify-items:center;flex:none}
.prof-photo img,.prof-photo>span{width:104px;height:104px;border-radius:50%;object-fit:cover;border:2px solid var(--line2)}
.prof-photo>span{display:grid;place-items:center;font-size:30px;font-weight:800;background:var(--surface2);color:var(--cyan)}
.prof-id{flex:1;min-width:0}
.prof-id h2{justify-content:flex-start}
.prof-progress{height:8px;border-radius:99px;background:var(--surface2);overflow:hidden;margin:4px 0 10px;max-width:420px}
.prof-progress i{display:block;height:100%;background:var(--grad);border-radius:99px}
.prof-check{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--muted)}
.prof-check li.done{color:var(--fg-green)}
.prof-form{border-top:1px solid var(--line);padding-top:14px}
.prof-form textarea{min-height:80px}
.chipin{display:flex;flex-wrap:wrap;gap:6px;align-items:center;border:1px solid var(--line2);background:var(--bg2);border-radius:10px;padding:6px 8px}
.chipin input{flex:1;min-width:140px;border:0!important;background:transparent!important;padding:4px!important;outline:0}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips.ideas{margin-top:8px}
.chip{border:1px solid var(--line2);background:transparent;color:var(--muted);border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:600;cursor:pointer}
.chip.on{background:rgba(34,211,238,.12);border-color:rgba(34,211,238,.45);color:var(--fg-cyan)}
.chip:hover{color:var(--text)}
.prof-admin{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}
.prof-admin summary{cursor:pointer;font-weight:700;margin-bottom:10px}
.prof-admin summary small{font-weight:500;color:var(--muted)}
.svc-pick{border:0;padding:0;margin:0}
.svc-pick legend{font-weight:600;font-size:13px;color:var(--label);margin-bottom:6px}
.svc-rows{display:grid;gap:6px;margin:4px 0 12px}
.svc-rows .svc-row{display:grid;grid-template-columns:1fr 100px 100px;gap:8px;align-items:center}
.svc-rows .svc-row .check{margin:0}
.svc-rows .svc-row small{color:var(--muted)}
.port{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}
.port-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.port-head h3{margin:0;font-size:15px}.port-head h3 small{color:var(--muted);font-weight:500}
.port-add{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.port-add .check{margin:0;max-width:380px}
.port-add .btn svg{width:16px;height:16px}
.port-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.tile{margin:0;background:var(--bg2);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:grid}
.tile img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.tile figcaption{padding:8px;display:grid;gap:6px}
.tile input,.tile select{font-size:13px;padding:6px 8px}
.tile-act{display:flex;flex-wrap:wrap;gap:4px}
.ready{list-style:none;padding:0;margin:8px 0;display:grid;gap:6px;font-size:14px;color:var(--muted)}
.ready li.done{color:var(--fg-green)}.ready a{margin-left:6px;font-size:13px}
.look-media{display:grid;grid-template-columns:1fr 2fr;gap:14px;margin-bottom:14px}
.look-media .lbl{display:block;font-size:13px;font-weight:600;color:var(--label);margin-bottom:6px}
.look-prev{border:1px dashed var(--line2);border-radius:12px;display:grid;place-items:center;overflow:hidden;margin-bottom:8px;color:var(--muted);font-size:13px;background:var(--bg2)}
.look-prev.logo{width:96px;height:96px}.look-prev.cover{height:96px}
.look-prev img{width:100%;height:100%;object-fit:cover}
input[type="color"]{height:42px;padding:4px;width:100%}
@media (max-width:720px){.prof-top{flex-direction:column;align-items:center;text-align:center}.prof-id h2{justify-content:center}.prof-check{justify-content:center}.prof-progress{margin-inline:auto}.svc-rows .svc-row{grid-template-columns:1fr 1fr}.svc-rows .svc-row .check{grid-column:1/-1}.look-media{grid-template-columns:1fr}}
body.bkp .toast{z-index:200;bottom:calc(96px + env(safe-area-inset-bottom))}
body.bkp .toast{top:calc(58px + env(safe-area-inset-top));bottom:auto}

/* ===================== v0.5 import & export ===================== */
.imp{display:grid;gap:14px}
.imp .lbl{display:block;font-size:13px;font-weight:600;color:var(--label);margin-bottom:6px}
.imp-srcs{border:0;padding:0;margin:14px 0 6px;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.imp-srcs legend{font-size:13px;font-weight:600;color:var(--label);margin-bottom:8px;padding:0}
.imp-tile{position:relative;display:grid;gap:4px;padding:12px 14px;border:1px solid var(--line2);border-radius:12px;background:var(--bg2);cursor:pointer}
.imp-tile:hover{border-color:rgba(34,211,238,.45)}
.imp-tile.on{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(34,211,238,.15)}
.imp-tile input{position:absolute;opacity:0;width:1px;height:1px}
.imp-tile:focus-within{outline:2px solid var(--cyan);outline-offset:2px}
.imp-tile b{font-size:14.5px}.imp-tile span{font-size:13px;color:var(--muted);line-height:1.4}
.linkbtn{background:none;border:0;padding:0;color:var(--cyan);text-decoration:underline;cursor:pointer;font:inherit}
.imp-drop{border:1.5px dashed var(--line2);border-radius:12px;padding:18px;display:grid;gap:8px;justify-items:start;background:var(--bg2);margin:10px 0}
.imp-drop.over{border-color:var(--cyan);background:rgba(34,211,238,.06)}
.imp-prev{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}
.imp-prev h3{margin:0 0 6px;font-size:15px}
.imp-table th{vertical-align:bottom;min-width:150px}
.imp-table .imp-h{display:block;font-size:12px;color:var(--muted);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}
.imp-table select{font-size:13px;padding:6px 8px}
.imp-table td{font-size:13px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.imp-table td.muted{color:#5f6f8c}
.imp-opts{display:grid;gap:4px;margin:12px 0}
.imp-opts fieldset,.imp-prev fieldset{border:0;padding:0;margin:0 0 8px}
.imp-opts legend,.imp-prev legend{font-size:13px;font-weight:600;color:var(--label);margin-bottom:6px;padding:0}
.imp-act{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.imp-sum{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.pill.bad{color:var(--fg-red);border-color:rgba(248,113,113,.45);background:rgba(248,113,113,.08)}
.imp-probs{margin:8px 0 0;padding-left:18px;font-size:13px;color:var(--label);display:grid;gap:3px}
.imp-exp{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 10px}
.imp .copybox{min-width:260px;flex:1;max-width:520px}
.card h2 small a{font-weight:500}

/* ===================== v0.6 email ===================== */
.em{display:grid;gap:14px}
.em-form fieldset{border:0;padding:0;margin:6px 0 4px}.em-form legend{font-size:13px;font-weight:600;color:var(--label);margin-bottom:6px;padding:0}
.em-form .check select{margin:0 4px;padding:3px 6px;font-size:13px;width:auto}
.em-usage{display:grid;gap:8px}
.em-usage .bar{height:8px;border-radius:99px;background:var(--bg2);border:1px solid var(--line2);overflow:hidden}.em-usage .bar span{display:block;height:100%;background:var(--cyan)}
.em-err{font-size:12px;color:var(--fg-red);margin-top:3px}
.em .list .s{overflow-wrap:anywhere}

/* ===================== v0.7 booking page: category tiles, navigation, footer ===================== */
.bk-cats{position:relative;margin-top:10px}
.bk-chips{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--bd2) transparent;overscroll-behavior-x:contain;cursor:grab}
.bk-chips:active{cursor:grabbing}
.bk-chips::-webkit-scrollbar{display:block;height:6px}.bk-chips::-webkit-scrollbar-thumb{background:var(--bd2);border-radius:99px}.bk-chips::-webkit-scrollbar-track{background:transparent}
@media (hover:none){.bk-chips{scrollbar-width:none}.bk-chips::-webkit-scrollbar{display:none}}
.bk-chips button{flex:none;display:grid;justify-items:center;align-content:center;gap:4px;min-width:84px;max-width:120px;min-height:72px;padding:9px 10px 8px;border:1.5px solid var(--bd);background:var(--card);color:var(--ink2);border-radius:14px;font-weight:600;font-size:13px;line-height:1.2;cursor:pointer;user-select:none;transition:border-color .15s,box-shadow .15s,background .15s}
.bk-chips button:hover{border-color:var(--bd2);box-shadow:0 2px 8px rgba(0,0,0,.05)}
.bk-chips button .em{font-size:24px;line-height:1}
.bk-chips button .lb{text-align:center;white-space:normal;overflow-wrap:anywhere}
.bk-chips button[aria-pressed="true"]{background:color-mix(in srgb,var(--acc) 10%,var(--card));border-color:var(--acc);color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 16%,transparent)}
.bk-cat-arr{position:absolute;top:50%;transform:translateY(-58%);z-index:2;width:34px;height:34px;border-radius:50%;border:1px solid var(--bd2);background:var(--card);color:var(--ink);display:none;place-items:center;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.14)}
.bk-cat-arr svg{width:18px;height:18px}.bk-cat-arr.l{left:-6px}.bk-cat-arr.r{right:-6px}
.bk-cats::before,.bk-cats::after{content:"";position:absolute;top:0;bottom:6px;width:36px;pointer-events:none;opacity:0;transition:opacity .15s;z-index:1}
.bk-cats::before{left:0;background:linear-gradient(90deg,var(--bg0),transparent)}.bk-cats::after{right:0;background:linear-gradient(270deg,var(--bg0),transparent)}
.bk-cats.can-l::before,.bk-cats.can-r::after{opacity:1}
@media (hover:hover) and (pointer:fine){.bk-cats.can-l .bk-cat-arr.l,.bk-cats.can-r .bk-cat-arr.r{display:grid}}
.bk-group h2 span{font-size:15px;letter-spacing:0;margin-right:2px}
.bk-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-4px 0 12px;min-height:36px}
.bk-back{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--bd2);background:var(--card);color:var(--ink);border-radius:999px;padding:7px 14px 7px 9px;font-weight:600;font-size:14px;cursor:pointer;min-height:38px}
.bk-back svg{width:18px;height:18px}.bk-back:hover{border-color:var(--ink3)}
.bk-reset{display:inline-flex;align-items:center;gap:5px;font-size:14px}.bk-reset svg{width:16px;height:16px}
.bk-clear{flex:none;font-size:14px;padding:8px 4px}
.bk-foot{margin-top:auto;background:var(--card);border-top:1px solid var(--bd)}
body.bk-has-bar .bk-foot{padding-bottom:84px}
.bk-foot-in{max-width:760px;margin:0 auto;padding:26px 18px 8px;display:flex;flex-wrap:wrap;gap:22px}
.bk-foot-in>.bk-foot-brand{flex:1.3 1 200px;min-width:0}.bk-foot-in>*{flex:1 1 auto}.bk-foot-in>section:has(.bk-hours){flex:1 0 190px;max-width:340px}.bk-foot-in>section:has(.bk-contact){flex:1 1 200px;min-width:min-content}
.bk-foot h2{font-size:17px;margin:0 0 6px;letter-spacing:-.01em}
.bk-foot h3{font-size:12.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink3);margin:2px 0 10px}
.bk-foot-brand p{color:var(--ink2);font-size:14px;margin:0 0 12px;line-height:1.5}
.bk-soc{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.bk-soc a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--bd2);color:var(--ink)!important;background:var(--card);transition:background .15s,color .15s,border-color .15s}
.bk-soc a:hover{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)!important}
.bk-soc svg{width:19px;height:19px}
.bk-contact{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:14px}
.bk-contact li{display:flex;gap:8px;align-items:flex-start;min-width:0}
.bk-contact svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--acc-dark)}
.bk-contact a,.bk-contact span{color:var(--ink2);text-decoration:none;overflow-wrap:anywhere}.bk-contact a:hover{color:var(--acc-dark);text-decoration:underline}
.bk-hours{margin:0;display:grid;gap:4px;font-size:14px}
.bk-hours div{display:flex;justify-content:space-between;gap:10px;color:var(--ink2);padding:2px 0}
.bk-hours dt{font-weight:600}.bk-hours dd{margin:0;text-align:right}
.bk-hours div.today{color:var(--ink);font-weight:700}.bk-hours div.today dt::after{content:"Today";margin-left:6px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--acc);color:var(--acc-ink);border-radius:99px;padding:1px 6px;vertical-align:1px}
.bk-foot .bk-powered{border-top:1px solid var(--bd);margin:14px auto 0;max-width:760px;padding:14px 18px 22px}
@media (max-width:680px){.bk-foot-in>.bk-foot-brand{flex-basis:100%}}
@media (max-width:420px){.bk-foot-in>*,.bk-foot-in>section:has(.bk-contact){flex-basis:100%;min-width:0}.bk-chips button{min-width:78px}}
@media (max-width:640px),(max-height:760px){.bk-filter{position:static}}
/* owner settings: footer info and socials */
.soc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
.soc-grid .field{margin:0}
.soc-grid label{display:flex;align-items:center;gap:7px}
.soc-grid label svg{width:16px;height:16px;color:var(--muted)}
.soc-grid .bad input{border-color:#f87171}
@media (max-width:640px){.soc-grid{grid-template-columns:1fr}}
/* ===================== v0.7 Plan & pricing ===================== */
.pz-hero{display:grid;grid-template-columns:1.6fr 1fr;gap:18px;align-items:stretch;margin-bottom:16px}
.pz-hero>div:first-child{padding:6px 2px}
.pz-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.pz-hero h2{font-size:28px;line-height:1.15;letter-spacing:-.025em;margin:6px 0 8px}
.pz-hero p{color:var(--muted);margin:0;max-width:56ch}
.pz-current{border:1px solid var(--line2);border-radius:var(--r);padding:16px 18px;background:radial-gradient(120% 140% at 100% 0%,rgba(168,85,247,.16),transparent 55%),radial-gradient(120% 140% at 0% 100%,rgba(34,211,238,.12),transparent 55%),var(--surface);display:grid;gap:2px;align-content:center}
.pz-current small{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.pz-current b{font-size:22px;letter-spacing:-.01em}.pz-current span{color:var(--green);font-weight:600;font-size:14px}
.pz-current p{font-size:12.5px;color:var(--faint);margin:6px 0 0}
.pz-offer{display:flex;gap:12px;align-items:center;border-radius:var(--r);padding:12px 16px;margin-bottom:18px;background:linear-gradient(90deg,rgba(34,211,238,.14),rgba(59,130,246,.1) 50%,rgba(168,85,247,.16));border:1px solid rgba(34,211,238,.32)}
.pz-offer svg{width:26px;height:26px;color:var(--cyan);flex:none}
.pz-offer div{display:grid}.pz-offer span{color:var(--muted);font-size:14px}
.pz-ctrls{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:22px}
.pz-seg{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--bg2);border:1px solid var(--line)}
.pz-seg button{border:0;background:transparent;color:var(--muted);font-weight:600;font-size:14px;padding:8px 16px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .15s,color .15s}
.pz-seg button:hover{color:var(--text)}
.pz-seg button[aria-pressed="true"]{background:var(--surface2);color:var(--text);box-shadow:inset 0 0 0 1px var(--line2),0 4px 14px -6px rgba(0,0,0,.6)}
.pz-save{font-size:11px;font-weight:800;color:#04121c;background:var(--green);border-radius:99px;padding:2px 7px}
.pz-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.pz-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;padding:22px 20px;background:linear-gradient(180deg,var(--surface2),var(--surface));transition:transform .2s,border-color .2s}
.pz-card:hover{border-color:var(--line2)}
.pz-card.rec{border:1px solid transparent;background:linear-gradient(180deg,var(--rec1),var(--rec2)) padding-box,var(--grad) border-box;box-shadow:0 24px 60px -28px rgba(59,130,246,.55)}
@media (min-width:981px){.pz-card.rec{transform:translateY(-8px)}}
.pz-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--grad);color:#04121c;font-size:12px;font-weight:800;padding:4px 12px;border-radius:99px;white-space:nowrap}
.pz-card h3{margin:0;font-size:19px;letter-spacing:-.01em}
.pz-tag{color:var(--muted);font-size:13.5px;margin:4px 0 16px;min-height:2.6em}
.pz-price{display:flex;align-items:baseline;gap:6px}
.pz-price b{font-size:44px;line-height:1;letter-spacing:-.04em;font-weight:800}
.pz-price span{color:var(--muted);font-weight:600}
.pz-price s{color:var(--faint);font-size:18px;font-weight:600}
.pz-bill-note{color:var(--faint);font-size:12.5px;margin:6px 0 0}
.pz-seats{font-size:13.5px;color:var(--text);margin:12px 0 14px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--line)}
.pz-cta span{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:10px 12px;border-radius:12px;font-weight:700;font-size:14px;border:1px solid var(--line2);color:var(--text)}
.pz-cta svg{width:16px;height:16px;color:var(--cyan)}
.pz-card.rec .pz-cta span{background:var(--grad);border-color:transparent;color:#04121c}.pz-card.rec .pz-cta svg{color:#04121c}
.pz-feat{list-style:none;margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--line);display:grid;gap:9px;font-size:13.5px}
.pz-feat li{display:flex;gap:9px;align-items:flex-start}
.pz-feat svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--green)}
.pz-feat li.inh{font-weight:700}.pz-feat li.inh svg{color:var(--cyan)}
.pz-h{font-size:18px;margin:34px 0 12px;letter-spacing:-.01em}
.pz-cmp table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}
.pz-cmp th,.pz-cmp td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:center}
.pz-cmp tbody th{text-align:left;font-weight:500;color:var(--muted)}
.pz-cmp thead th{font-size:15px;color:var(--text);vertical-align:bottom}.pz-cmp thead th small{display:block;color:var(--faint);font-weight:500;font-size:12px}
.pz-cmp .rec{background:rgba(59,130,246,.07)}
.pz-yes svg{width:18px;height:18px;color:var(--green)}.pz-no svg{width:18px;height:18px;color:var(--line2)}
.pz-cmp sup,.pz-fine sup{color:var(--faint)}
.pz-fine{font-size:12.5px;color:var(--faint);margin:8px 2px 0}
.pz-notes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px}
.pz-notes>div{border:1px solid var(--line);border-radius:var(--r);padding:14px;background:var(--surface)}
.pz-notes svg{width:20px;height:20px;color:var(--cyan)}
.pz-notes b{display:block;margin:6px 0 4px;font-size:14px}.pz-notes p{margin:0;color:var(--muted);font-size:13px}
@media (max-width:980px){.pz-grid{grid-template-columns:1fr;max-width:520px;margin:0 auto}.pz-hero{grid-template-columns:1fr}.pz-notes{grid-template-columns:1fr 1fr}.pz-card.rec{order:-1}}
@media (max-width:560px){.pz-notes{grid-template-columns:1fr}.pz-hero h2{font-size:23px}.pz-ctrls{flex-direction:column;align-items:stretch}.pz-seg{justify-content:center}.pz-seg button{flex:1;justify-content:center;padding:8px 10px}}
@media (max-width:480px){.bk-bar .bk-clear{display:none}.bk-bar-in{gap:10px}}
.pz-cmp th{text-transform:none;letter-spacing:0}

/* ===================== v0.8 premium service icons ===================== */
.svc-ic{display:block;width:100%;height:100%;object-fit:contain}
.bk-chips button .em.im{width:40px;height:40px;font-size:0}
.bk-chips button{min-height:84px}
.bk-group h2 .gi{display:inline-block;width:26px;height:26px;vertical-align:-8px;margin-right:4px}
.bk-svc.has-ic{align-items:flex-start}
.bk-svc-ic{flex:none;width:48px;height:48px;border-radius:14px;background:linear-gradient(160deg,#fbf6f3,#f3ebe6);display:grid;place-items:center;padding:5px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)}
@media (max-width:420px){.bk-svc-ic{width:42px;height:42px;border-radius:12px}}
.ic-overlay{z-index:1200}
.ic-modal{max-width:640px;width:calc(100vw - 32px);max-height:calc(100vh - 48px);overflow:auto}
.ic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin-top:14px}
.ic-opt{display:grid;justify-items:center;gap:6px;padding:10px 6px 9px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.02);color:var(--text);font-size:12.5px;font-weight:600;cursor:pointer;text-align:center;line-height:1.2}
.ic-opt .svc-ic{width:52px;height:52px;background:radial-gradient(circle at 50% 45%,#fbf6f3 0,#efe5df 70%);border-radius:14px;padding:5px}
.ic-opt:hover{border-color:var(--line2)}
.ic-opt.on{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(34,211,238,.35)}
.ic-field{display:flex;align-items:center;gap:12px}
.ic-field #e-ic-prev{width:48px;height:48px;border-radius:12px;background:radial-gradient(circle at 50% 45%,#fbf6f3 0,#efe5df 70%);padding:5px;flex:none}
.ic-field #e-ic-lbl{flex:1;color:var(--muted);font-size:14px}
.ic-cats{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.ic-cats li{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:14px}
.ic-cats li .svc-ic{width:46px;height:46px;flex:none;border-radius:12px;background:radial-gradient(circle at 50% 45%,#fbf6f3 0,#efe5df 70%);padding:4px}
.ic-cats li span{flex:1;min-width:0;display:grid}.ic-cats li small{color:var(--muted)}
.bk-chips button .em.im{width:50px;height:50px}
.bk-chips button{min-width:92px;min-height:92px;gap:3px;padding:8px 10px 9px}
.bk-group h2 .gi{width:30px;height:30px;vertical-align:-10px}
.bk-svc-ic{width:54px;height:54px;padding:4px}
@media (max-width:420px){.bk-chips button{min-width:84px}.bk-svc-ic{width:46px;height:46px}}

/* ===================== v0.9 dark theme for the customer booking pages ===================== */
html[data-theme="dark"] body.bkp{--ink:#f2f2f0;--ink2:#cfcfca;--ink3:#a3a39d;--bd:#2c2e33;--bd2:#3b3e45;--bg0:#121315;--card:#1b1d21;--soft:#23252a;--soft2:#2a2d33;--glass:rgba(18,19,21,.94);
  --ok-bg:#0f2a21;--ok-bd:#1f5b45;--ok-fg:#86efac;--bad-bg:#2c1416;--bad-bd:#5b2a2e;--bad-fg:#fca5a5;color-scheme:dark}
html[data-theme="dark"] body.bkp a{color:color-mix(in srgb,var(--acc) 55%,#fff)}
html[data-theme="dark"] body.bkp .bk-svc-ic{background:linear-gradient(160deg,#f1ece8,#e2dbd5)}
html[data-theme="dark"] body.bkp .bk-chips button .em.im{background:linear-gradient(160deg,#f1ece8,#e2dbd5);border-radius:12px;padding:3px}
html[data-theme="dark"] body.bkp.ind-barber .bk-svc-ic,html[data-theme="dark"] body.bkp.ind-barber .bk-chips button .em.im{background:linear-gradient(160deg,#e9e9e7,#d4d4d1)}
html[data-theme="dark"] body.bkp .bk-group h2 .gi{background:#ece8e3;border-radius:8px;padding:2px}
html[data-theme="dark"] body.bkp .bk-chips button[aria-pressed="true"]{background:color-mix(in srgb,var(--acc) 22%,var(--card))}
html[data-theme="dark"] body.bkp .bk-soc a:hover{color:var(--acc-ink)!important}
html[data-theme="dark"] body.bkp .toast{background:#f2f2f0;color:#111;border-color:#f2f2f0}
/* theme toggle */
.theme-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line2);background:transparent;color:var(--text);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer}
.theme-btn svg{width:16px;height:16px}
body.bkp .theme-btn{border-color:var(--bd2);color:var(--ink);background:var(--card)}
/* masculine barber icon tiles: neutral steel instead of blush */
body.bkp.ind-barber .bk-svc-ic{background:linear-gradient(160deg,#f4f4f2,#e6e6e3)}
.ic-set-barber .ic-opt .svc-ic,.ic-set-barber .ic-cats li .svc-ic,.ic-set-barber #e-ic-prev{background:radial-gradient(circle at 50% 45%,#f4f4f2 0,#dcdcd8 70%)}
/* ===================== v0.9 client accounts on the booking page ===================== */
.side-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.bk-hero{padding-top:58px}
.bk-acct-wrap{position:absolute;top:12px;right:12px;z-index:5}
.bk-acct{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.18);color:var(--acc-ink);border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:7px 13px 7px 9px;font-weight:700;font-size:14px;cursor:pointer;backdrop-filter:blur(6px);max-width:180px}
.bk-acct span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bk-acct svg{width:20px;height:20px;flex:none}
.bk-acct:hover{background:rgba(255,255,255,.28)}
.bk-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:236px;background:var(--card);color:var(--ink);border:1px solid var(--bd);border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.18);padding:6px;display:grid}
.bk-menu[hidden]{display:none}
.bk-menu>button{display:flex;align-items:center;gap:11px;border:0;background:transparent;color:var(--ink);text-align:left;padding:11px 12px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer}
.bk-menu>button svg{width:19px;height:19px;color:var(--ink2);flex:none}
.bk-menu>button:hover,.bk-menu>button:focus-visible{background:var(--soft)}
.bk-menu hr{border:0;border-top:1px solid var(--bd);margin:5px 4px}
.bk-menu-who{padding:9px 12px 6px;font-size:13px;color:var(--ink3)}
.bk-menu-who b{color:var(--ink);display:block;font-size:14.5px;margin-top:2px}
.bk-menu .bk-menu-theme{display:flex;align-items:center;gap:11px;border:0;background:transparent;color:var(--ink);padding:11px 12px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;text-align:left}
.bk-menu .bk-menu-theme svg{width:19px;height:19px;color:var(--ink2)}
.bk-menu .bk-menu-theme:hover{background:var(--soft)}
.ac-head{margin:6px 0 14px}.ac-head h2{margin:0 0 4px;font-size:24px;letter-spacing:-.01em}.ac-head p{margin:0;color:var(--ink2)}
.ac-form{display:grid;gap:12px;max-width:520px}
.ac-form .bk-f{margin:0}
.ac-alt{margin:0;text-align:center;color:var(--ink2);font-size:14.5px}
.bk-link{border:0;background:none;padding:0;color:var(--acc-dark);font-weight:700;cursor:pointer;font-size:inherit;text-decoration:underline;text-underline-offset:2px}
html[data-theme="dark"] body.bkp .bk-link{color:color-mix(in srgb,var(--acc) 55%,#fff)}
.bk-btn.wide{width:100%}.bk-btn.sm{min-height:38px;padding:7px 14px;font-size:14px}
.bk-btn.loading{opacity:.7;pointer-events:none}
.bk-hint{color:var(--ink3);font-size:13.5px;margin:0;display:block}
.ac-code{font-size:26px!important;letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums}
.ac-pw{border:1px solid var(--bd);border-radius:12px;padding:10px 14px 14px;margin:0;display:grid;gap:10px}
.ac-pw legend{font-weight:700;font-size:14px;padding:0 6px}
.ac-danger{margin-top:14px;max-width:520px;display:grid;gap:8px;justify-items:start}.ac-danger h3{margin:0;font-size:16px}
.ac-tabs{max-width:420px}
.ac-appt{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:var(--card);border:1px solid var(--bd);border-radius:16px;padding:14px;margin-bottom:10px}
.ac-date{width:58px;height:62px;border-radius:12px;background:var(--soft);display:grid;place-content:center;text-align:center;line-height:1.05}
.ac-date b{font-size:22px}.ac-date span{font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink2);font-weight:700}
.ac-main h3{margin:0 0 3px;font-size:16px}.ac-main p{margin:0;color:var(--ink2);font-size:14px}
.ac-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:6px!important;font-size:12.5px!important;color:var(--ink3)!important}
.ac-st{display:inline-block;border-radius:999px;padding:2px 9px;font-weight:700;font-size:12px}
.ac-st.ok{background:var(--ok-bg);color:var(--ok-fg)}.ac-st.wait{background:#fef3c7;color:#92400e}.ac-st.done{background:var(--soft2);color:var(--ink2)}.ac-st.bad{background:var(--bad-bg);color:var(--bad-fg)}
html[data-theme="dark"] body.bkp .ac-st.wait{background:#33270c;color:#fcd34d}
.ac-acts{display:grid;gap:6px}
.ac-empty{display:grid;gap:10px;justify-items:center;padding:26px}
.ac-empty p{margin:0;color:var(--ink2)}
@media (max-width:520px){.ac-appt{grid-template-columns:auto 1fr}.ac-acts{grid-column:1/-1;grid-auto-flow:column;justify-content:start}}
.bk-foot-row{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:center}
.bk-foot-links{display:inline-flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:center}
.bk-foot-links a,.bk-foot-links .bk-link{color:var(--ink2);font-weight:600;font-size:13px}
.bk-foot-links .theme-btn{padding:4px 11px;font-size:12.5px}
/* ===================== v0.9 cookie and privacy notice ===================== */
.ck{position:fixed;left:16px;right:16px;bottom:16px;z-index:300;max-width:520px;margin:0 auto;background:var(--surface);color:var(--text);border:1px solid var(--line2);border-radius:16px;box-shadow:0 18px 48px rgba(0,0,0,.35);padding:16px 18px;display:grid;gap:12px;font-size:14px;line-height:1.5}
.ck[hidden]{display:none}
.ck h2{margin:0;font-size:15.5px}
.ck p{margin:0;color:var(--muted)}
.ck-acts{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.ck-acts a,.ck-acts button{display:inline-flex;align-items:center;min-height:40px;padding:8px 16px;border-radius:10px;font-weight:700;font-size:14px;cursor:pointer;text-decoration:none}
.ck-acts a{border:1px solid var(--line2);color:var(--text)}
.ck-acts button{border:0;background:linear-gradient(135deg,var(--cyan),var(--blue));color:#fff}
body.bkp .ck{background:var(--card);color:var(--ink);border-color:var(--bd2);box-shadow:0 18px 48px rgba(0,0,0,.18)}
body.bkp .ck p{color:var(--ink2)}
body.bkp .ck-acts a{border-color:var(--bd2);color:var(--ink)!important}
body.bkp .ck-acts button{background:var(--acc);color:var(--acc-ink)}
body.bkp.bk-has-bar .ck{bottom:calc(100px + env(safe-area-inset-bottom))}
html[data-theme="dark"] body.bkp .bk-add{color:color-mix(in srgb,var(--acc) 50%,#fff);border-color:color-mix(in srgb,var(--acc) 70%,#fff)}
html[data-theme="dark"] body.bkp .bk-svc.on .bk-add{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}
body.bk-menu-open .bk-hero{z-index:40}
html[data-theme="dark"] body.bkp .bk-seg{background:#0c0d0f}
html[data-theme="dark"] body.bkp .bk-seg button[aria-selected="true"]{background:var(--soft2);box-shadow:0 1px 3px rgba(0,0,0,.5)}
html[data-theme="dark"] body.bkp .bk-logo{background:#f1ece8}

/* v0.10 register (pay screen) */
.pos .card h2 small{font-weight:500}
.pos-item{min-height:96px;justify-content:space-between;gap:10px;color:var(--text)}
.pos-item .pi-n{font-size:14px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pos-item .pi-f{display:flex;align-items:center;justify-content:space-between;width:100%}
.pos-item .pi-f b{color:var(--cyan);font-size:15px;font-variant-numeric:tabular-nums}
.pos-item .pi-c{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--line2);color:var(--muted);font-weight:700;line-height:1}
.pos-item:hover .pi-c{border-color:var(--cyan);color:var(--cyan)}
.pos-item:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.pos-h{font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 10px}
.cl-row{display:grid;grid-template-columns:minmax(0,1fr) 130px auto;gap:10px;align-items:end}
.cl-row .field{margin-bottom:10px}.cl-add{margin-bottom:10px;min-height:42px}
.money-in{position:relative}
.money-in>span{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:14px;pointer-events:none}
.money-in input{padding-left:24px;font-variant-numeric:tabular-nums}
.row.adj{margin-top:4px}.row.adj .field{margin-bottom:8px}
.tip-q{display:flex;gap:6px;margin:0 0 4px;flex-wrap:wrap}
.chip{min-height:34px;padding:6px 12px;border-radius:999px;border:1px solid var(--line2);background:var(--surface2);color:var(--label);font-size:13px;font-weight:600;cursor:pointer;font-variant-numeric:tabular-nums}
.chip:hover{border-color:var(--hover-bd);background:var(--hover-bg);color:var(--text)}
.chip[aria-pressed="true"]{border-color:var(--cyan);background:rgba(34,211,238,.14);color:var(--fg-cyan)}
dl.totals{grid-template-columns:1fr auto}
dl.totals dd{text-align:right;font-variant-numeric:tabular-nums}
dl.totals .grand{padding-top:8px;margin-top:4px;border-top:1px dashed var(--line2)}
dl.totals dd.grand{font-size:20px}
.cart-empty{display:grid;justify-items:center;gap:4px;text-align:center;padding:20px 16px;margin-bottom:14px;border-radius:12px;background:var(--bg2);border:1px solid var(--line);color:var(--muted);font-size:13px}
.cart-empty svg{color:var(--faint);margin-bottom:2px}.cart-empty b{color:var(--text);font-size:14px}
#tl .list{margin-bottom:14px}
.pay-go{min-height:50px;font-size:15px;justify-content:space-between;padding:12px 18px}
.pay-go b{font-size:16px;font-variant-numeric:tabular-nums}
.pay-go:not([disabled]) span:only-of-type{margin:0 auto}
.btn.primary[disabled]{background:var(--surface2);color:var(--muted);border:1px dashed var(--line2);opacity:1;filter:none;justify-content:center}
.pay-note{margin:8px 0 0;font-size:12px;color:var(--faint);text-align:center}
.method{min-height:46px}
.method span{font-weight:600}
@media (max-width:640px){.cl-row{grid-template-columns:minmax(0,1fr) 110px}.cl-add{grid-column:1/-1;width:100%}.pos-item{min-height:88px}}
.pos-items{max-height:min(560px,calc(100vh - 330px));overflow:auto;padding:2px 4px 2px 2px;margin-right:-4px;overscroll-behavior:contain}
dl.totals{column-gap:0}dl.totals dt{padding-right:14px}
.tl-line .qty .btn{border-color:var(--line2);min-width:32px;padding:4px 0}
.tl-line .qty b{font-variant-numeric:tabular-nums}
.pos-jump{display:none}
@media (max-width:980px){
  .pos-items{max-height:330px}
  .pos-jump:not([hidden]){display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:40;justify-content:space-between;align-items:center;gap:12px;padding:13px 18px;border-radius:12px;background:var(--grad);color:#04101f;font-weight:700;text-decoration:none;box-shadow:0 10px 30px rgba(0,0,0,.35)}
  .pos{padding-bottom:64px}
}
@media (max-width:640px){
  .tl-line{flex-wrap:wrap;gap:6px}.tl-line>div:first-child{flex:1 1 100%}
  .tl-line .qty{width:100%;justify-content:flex-end}.tl-line .qty b{margin-left:auto}
}
.pos-jump.away{display:none!important}
dl.totals dt{margin-top:0!important}
.pos-item{height:auto}

/* v0.10 "Your day" popup and schedule filter */
.cal-bar{justify-content:space-between;margin-bottom:6px}
.day-pop{min-width:min(520px,100%)}
.day-pop .eyebrow{margin-bottom:2px}
.dp-next{display:grid;gap:2px;margin:14px 0 6px;padding:12px 14px;border-radius:12px;border:1px solid rgba(34,211,238,.45);background:rgba(34,211,238,.08)}
.dp-next b{font-size:16px}.dp-next span{color:var(--muted);font-size:13px}
.dp-tag{font-size:11px!important;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-cyan)!important}
.dp-list{list-style:none;margin:12px 0 4px;padding:0;position:relative}
.dp-list li{display:grid;grid-template-columns:76px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);position:relative}
.dp-list li:last-child{border-bottom:0}
.dp-time{font-weight:700;font-size:14px;font-variant-numeric:tabular-nums;display:grid;line-height:1.25}
.dp-time small{font-weight:500;color:var(--faint);font-size:12px}
.dp-body{display:grid;gap:1px;min-width:0}.dp-body b{font-size:14px}.dp-body span{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}
.dp-list li.past{opacity:.6}
.dp-list li.next::before{content:"";position:absolute;left:-12px;top:10px;bottom:10px;width:3px;border-radius:3px;background:var(--grad)}
.dp-acts{margin-top:16px;justify-content:flex-end}
@media (max-width:640px){.dp-list li{grid-template-columns:64px 1fr}.dp-st{grid-column:2}.dp-acts{flex-direction:column-reverse;align-items:stretch}.dp-acts .btn{width:100%}}
.dp-sum{margin:2px 0 0}
.tl-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
.tl-line .qty{flex-wrap:nowrap;gap:6px}
.tl-line .qty b{min-width:64px;text-align:right}
@media (max-width:640px){.tl-line{grid-template-columns:1fr}}

/* ===== v0.11: idle warning, videos, lessons, account gate, claim, credentials ===== */
.idle-ov{position:fixed;inset:0;z-index:9999;background:rgba(3,7,15,.6);display:grid;place-items:center;padding:16px}
.idle-box{width:min(420px,100%);background:var(--card,var(--surface));color:var(--ink,var(--text));border:1px solid var(--bd,var(--line2));border-radius:16px;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.idle-box h2{margin:0 0 8px;font-size:20px}.idle-box p{margin:0 0 16px;color:var(--ink3,var(--muted));font-size:15px;line-height:1.5}
.idle-acts{display:flex;gap:10px;flex-wrap:wrap}.idle-acts button{flex:1 1 140px}
.vid{margin:10px 0 14px}.vid figcaption{font-size:14px;margin-top:6px;color:var(--ink,var(--text))}.vid figcaption small{color:var(--ink3,var(--muted));margin-left:6px}
.vid-frame{position:relative;aspect-ratio:16/9;width:100%;border-radius:12px;overflow:hidden;background:#000}
.vid-frame iframe,.vid-frame video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:contain;background:#000}
.vid-ai{display:flex;gap:6px;align-items:flex-start;font-size:12.5px;color:var(--ink3,var(--muted));margin:6px 0 0}.vid-ai svg{width:15px;height:15px;flex:none;margin-top:1px}
.vid.sm{max-width:420px}
.bk-svc-wrap{display:flex;flex-direction:column}
.bk-prev{align-self:flex-start;display:inline-flex;gap:6px;align-items:center;margin:6px 0 2px 4px;padding:6px 10px;border-radius:999px;border:1px solid var(--bd2,var(--line2));background:transparent;color:var(--acc-dark,var(--acc));font-weight:600;font-size:13.5px;cursor:pointer;min-height:36px}
.bk-prev svg{width:16px;height:16px}.bk-prev small{font-size:11px;padding:1px 6px;border-radius:999px;background:var(--bd,rgba(0,0,0,.08));color:var(--ink3)}
.bk-prev:hover{border-color:var(--acc)}
.bk-svc-main small{display:flex;flex-wrap:wrap;align-items:center;gap:2px 0}
.dot-sep{margin:0 6px;opacity:.6}
.bk-creds{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 2px}
.bk-creds span{display:inline-flex;gap:4px;align-items:center;font-size:12.5px;font-weight:600;padding:3px 8px;border-radius:999px;background:var(--ok-bg,rgba(16,185,129,.1));color:var(--ok-fg,#047857);border:1px solid var(--ok-bd,rgba(16,185,129,.3))}
.bk-creds svg,.bk-creds-l svg,.bk-facts svg{width:14px;height:14px}
.bk-creds-l,.bk-facts{list-style:none;padding:0;margin:6px 0 12px;display:grid;gap:6px;font-size:14.5px}
.bk-creds-l li,.bk-facts li{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.bk-creds-l small{color:var(--ink3)}
.bk-fav-tag{font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--acc);color:var(--acc-ink,#fff);vertical-align:middle;margin-left:4px}
.bk-gate{display:grid;gap:12px;margin-top:16px}.bk-gate h2{margin:0}.bk-gate p{margin:0;line-height:1.5}
.bk-gate-acts{display:flex;gap:10px;flex-wrap:wrap}.bk-gate-acts .bk-btn{flex:1 1 180px}
.bk-me{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--bd);border-radius:12px;padding:12px 14px;margin:0 0 14px;background:var(--card)}
.bk-me b{display:block}.bk-me small{color:var(--ink3);font-size:13.5px;word-break:break-word}
.bk-note{background:var(--warn-bg,rgba(251,191,36,.12));border:1px solid var(--warn-bd,rgba(217,119,6,.35));color:var(--warn-fg,#92400e);border-radius:12px;padding:10px 12px;margin-bottom:12px;font-size:14.5px}
.bk-times button{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2}
.bk-times button small{font-size:11.5px;font-weight:600;color:var(--ink3);margin-top:2px}
.ac-loc{display:flex;gap:5px;align-items:center;color:var(--ink3);font-size:13.5px}.ac-loc svg{width:14px;height:14px}
.ac-ref{font-family:var(--mono);font-size:12px;letter-spacing:.02em}
.ac-claim{margin-bottom:14px;display:grid;gap:10px;border-color:var(--acc)}.ac-claim p{margin:0;line-height:1.5}
.ac-inline{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ac-inline input{max-width:160px}
.cred-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.cred-row>input{flex:1 1 200px}
.creds{border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;margin:0 0 12px}.creds legend{font-weight:600;color:var(--label);padding:0 4px}.creds legend small{font-weight:400;color:var(--muted);display:block}
.sub-form{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.sub-form h3{margin:0 0 10px;font-size:15px}.sub-form h3 small{font-weight:400;color:var(--muted)}
@media (max-width:560px){.bk-me{flex-wrap:wrap}.cred-row>input{flex-basis:100%}}
.bk-withrow>svg{width:20px;height:20px;flex:none;color:var(--ink3);margin:0 8px 0 6px}
.bk-mi{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.bk-pro-top small svg,.bk-mi svg{width:13px;height:13px;flex:none}
.bk-pro-top small{display:flex;align-items:center;gap:4px}
.bk-creds-l li,.bk-facts li{flex-wrap:nowrap;align-items:flex-start}.bk-facts li svg,.bk-creds-l li svg{margin-top:4px;flex:none}

/* v0.12.2 golf photo category cards (dark navy, photo, white title, accent bar) */
.bk-cats.gcards .bk-chips{gap:12px;padding:4px 2px 10px}
.bk-chips button.gc{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;width:132px;min-width:132px;max-width:132px;height:164px;min-height:164px;padding:0 8px 12px;gap:0;border:1px solid #1d2a44;border-radius:14px;overflow:hidden;background:#0b1424;color:#fff;box-shadow:0 6px 16px rgba(8,16,32,.28);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.bk-chips button.gc .gc-ph{position:absolute;inset:0 0 34px 0;overflow:hidden}
.bk-chips button.gc .gc-img{width:100%;height:100%;object-fit:cover;display:block}
.bk-chips button.gc .gc-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,20,36,0) 45%,rgba(11,20,36,.85) 88%,#0b1424 100%)}
.bk-chips button.gc .lb{position:relative;z-index:1;color:#fff;font-size:13px;font-weight:600;line-height:1.2;text-align:center;min-height:32px;display:flex;align-items:flex-end;justify-content:center;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.bk-chips button.gc .gc-bar{position:relative;z-index:1;display:block;width:28px;height:3px;border-radius:3px;margin-top:7px;background:#3b82f6}
.bk-chips button.gc:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(8,16,32,.34);border-color:#2f4670}
.bk-chips button.gc:focus-visible{outline:3px solid #3b82f6;outline-offset:2px}
.bk-chips button.gc[aria-pressed="true"]{background:#0b1424;color:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.35),0 8px 20px rgba(8,16,32,.3)}
.bk-chips button.gc[aria-pressed="true"] .gc-bar{width:44px;background:#60a5fa}
.bk-cats.gcards .bk-cat-arr{transform:translateY(-50%)}
.bk-group h2 .gi.gk{width:30px;height:30px;vertical-align:-10px;margin-right:6px;border-radius:8px;overflow:hidden;background:#0b1424;padding:0}
.bk-group h2 .gi.gk img{width:100%;height:100%;object-fit:cover;display:block}
html[data-theme="dark"] body.bkp .bk-group h2 .gi.gk{background:#0b1424;padding:0}
@media (max-width:420px){.bk-chips button.gc{width:112px;min-width:112px;max-width:112px;height:142px;min-height:142px}.bk-chips button.gc .lb{font-size:12px}}
@media (prefers-reduced-motion:reduce){.bk-chips button.gc{transition:none}.bk-chips button.gc:hover{transform:none}}

/* 0.12.3: team-member social links (profile editor + booking profile sheet) */
fieldset.psoc{border:1px solid var(--bd2);border-radius:12px;padding:12px 14px 14px;margin:0 0 14px}
fieldset.psoc legend{padding:0 6px;font-weight:600}
fieldset.psoc legend small{display:block;font-weight:400;color:var(--muted);margin-top:2px}
.bk-psoc{margin:10px 0 4px}
@media (max-width:520px){fieldset.psoc .soc-grid{grid-template-columns:minmax(0,1fr)}}

.pz-track-note{margin:-6px 0 14px;color:var(--muted);font-size:13px}

/* ===================== 0.13.0 Booking website design layer (published design or builder preview) ===================== */
.dz-hw{display:contents}
body.bkp.dz{font-family:var(--dz-bf)}
body.bkp.dz :is(h1,h2,h3),body.bkp.dz .bk-hero h1{font-family:var(--dz-hf);letter-spacing:-.01em}
body.bkp.dz .bk-hero{background:linear-gradient(135deg,var(--dz-p),var(--dz-p2));color:var(--dz-pink)}
body.bkp.dz .bk-hero.has-cover{color:#fff}
.bk-hero.dzh{flex-direction:column;justify-content:flex-end;align-items:stretch;gap:14px}
.bk-hero.dzh.has-cover::after{background:linear-gradient(180deg,rgba(0,0,0,calc(var(--ov) * .35)) 0%,rgba(0,0,0,var(--ov)) 100%)}
.bk-hero.dzh.has-cover.dzh-s{min-height:220px}.bk-hero.dzh.has-cover.dzh-m{min-height:320px}.bk-hero.dzh.has-cover.dzh-l{min-height:440px}
.bk-hero.dzh .dz-copy{position:relative;z-index:1;max-width:760px;margin:0 auto;width:100%}
.bk-hero.dzh .dz-copy h2{margin:0 0 6px;font-size:30px;line-height:1.12;color:inherit;text-transform:none;letter-spacing:-.01em}
.bk-hero.dzh .dz-copy p{margin:0 0 14px;font-size:16px;max-width:560px;opacity:.95}
.bk-hero.dzh-center .dz-copy,.bk-hero.dzh-center .bk-hero-in{text-align:center}
.bk-hero.dzh-center .dz-copy p{margin-left:auto;margin-right:auto}
.bk-hero.dzlp-center .bk-hero-in{flex-direction:column;text-align:center}
.bk-hero .dzl.bk-ini{background:var(--card);color:var(--dz-p)}
.dzl-square .bk-logo{border-radius:4px}.dzl-rounded .bk-logo{border-radius:16px}.dzl-circle .bk-logo{border-radius:50%}
.dzl-s .bk-logo{width:48px;height:48px}.dzl-m .bk-logo{width:64px;height:64px}.dzl-l .bk-logo{width:84px;height:84px}
.bk-logo.dzl{object-fit:contain;background:#fff}
.dz-cta{box-shadow:0 4px 14px rgba(0,0,0,.18)}
body.dz[data-dz-head="solid"] .bk-hero.dzh.has-cover{color:var(--dz-pink);min-height:0;padding-bottom:0}
body.dz[data-dz-head="solid"] .bk-hero.dzh.has-cover::after{display:none}
body.dz[data-dz-head="solid"] .bk-hero.dzh .bk-cover{position:static;order:3;width:calc(100% + 36px);margin:4px -18px 0;height:clamp(160px,32vw,360px)}
body.dz[data-dz-head="solid"] .bk-hero.dzh .bk-cover{max-width:none}
.bk-btn.primary:hover{transition:background .15s}
body.dz .bk-btn.primary:hover{background:var(--dz-btn-h);border-color:var(--dz-btn-h)}
body.dz[data-dz-radius="sharp"]{--dzr:4px;--dzb:4px}body.dz[data-dz-radius="soft"]{--dzr:14px;--dzb:12px}body.dz[data-dz-radius="round"]{--dzr:22px;--dzb:16px}
body.dz :is(.bk-card,.bk-svc,.bk-pro,.dz-card,.bk-review){border-radius:var(--dzr)}
body.dz .bk-btn{border-radius:var(--dzb)}
body.dz[data-dz-btn="pill"] .bk-btn{border-radius:999px}
body.dz[data-dz-btn="outline"] .bk-btn.primary{background:transparent;color:var(--acc)!important;border-width:2px}
body.dz[data-dz-btn="outline"] .bk-btn.primary:hover{background:var(--acc);color:var(--acc-ink)!important}
body.dz[data-dz-btn="outline"] .bk-hero.has-cover .bk-btn.primary{background:var(--acc);color:var(--acc-ink)!important}
body.dz[data-dz-card="shadow"] :is(.bk-card,.bk-svc,.bk-pro,.dz-card){box-shadow:0 1px 2px rgba(0,0,0,.05),0 6px 20px rgba(0,0,0,.06)}
body.dz[data-dz-card="flat"] :is(.bk-card,.bk-svc,.bk-pro,.dz-card){border-color:transparent;background:var(--soft)}
body.dz[data-dz-card="outline"] :is(.bk-card,.bk-svc,.bk-pro,.dz-card){border-color:var(--bd2)}
body.dz-nodur .bk-svc small .bk-mi:first-child,body.dz-nodur .bk-svc small .bk-mi:first-child+.dot-sep{display:none}
.dz-home{max-width:760px;margin:0 auto;width:100%;padding:8px 16px 0;display:grid;gap:8px}
.dz-sec{padding:18px 0 6px}
.dz-sec>h2{font-size:22px;margin:0 0 10px;color:var(--ink)}
.dz-lead{margin:-4px 0 12px;color:var(--ink2)}
.dz-card{background:var(--card);border:1px solid var(--bd);border-radius:16px;padding:16px;color:var(--ink)}
.dz-intro p{color:var(--ink2);line-height:1.6;margin:0 0 10px}
.dz-intro.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:18px;align-items:center}
.dz-img{width:100%;height:auto;border-radius:var(--dzr,14px);display:block;object-fit:cover;max-height:420px}
.dz-promo{display:flex;align-items:center;justify-content:space-between;gap:12px;background:color-mix(in srgb,var(--dz-s,var(--acc)) 18%,var(--card));border:1px solid color-mix(in srgb,var(--dz-s,var(--acc)) 45%,var(--bd));border-radius:var(--dzr,14px);padding:12px 16px;margin-top:10px}
.dz-promo p{margin:0;color:var(--ink)}
.dz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.dz-grid.list{grid-template-columns:1fr}
.dz-feat{display:flex;flex-direction:column;gap:8px}.dz-feat h3{margin:0;font-size:18px}.dz-feat p{margin:0;color:var(--ink2);font-size:14.5px;flex:1}
.dz-meta{display:flex;justify-content:space-between;align-items:center;color:var(--ink3);font-size:14px}.dz-meta svg{width:15px;height:15px;vertical-align:-2px}
.dz-feat .bk-btn{align-self:flex-start}
.dz-grid.cats{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.dz-cat{display:flex;flex-direction:column;gap:8px;align-items:stretch;text-align:left;cursor:pointer;padding:0;overflow:hidden;font:inherit}
.dz-cat img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;display:block}
.dz-cat b{padding:0 12px 12px;font-size:15px}
.dz-cat .dz-cic{display:grid;place-items:center;aspect-ratio:4/3;background:var(--soft)}.dz-cat .dz-cic img{width:64px;height:64px;aspect-ratio:auto}
.dz-cat:hover{border-color:var(--acc)}
.dz-grid.team{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.dz-pro{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}
.dz-pro h3{margin:0;font-size:16px}.dz-pro p{margin:2px 0 0;color:var(--ink3);font-size:14px}.dz-pro .bk-btn{grid-column:1/-1}
.dz-grid.team.list .dz-pro{grid-template-columns:auto 1fr auto}.dz-grid.team.list .dz-pro .bk-btn{grid-column:auto}
.dz-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.dz-gal.strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.dz-gal.strip img{flex:0 0 70%;scroll-snap-align:start}
.dz-gimg{width:100%;aspect-ratio:1;height:auto;object-fit:cover;border-radius:calc(var(--dzr,14px) * .6);display:block}
.dz-quote{margin:0}.dz-quote blockquote{margin:0 0 8px;font-size:15.5px;line-height:1.5}.dz-quote figcaption{color:var(--ink3);font-size:14px}
.dz-ctab{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,var(--dz-p,var(--acc)),var(--dz-p2,var(--acc-dark)));color:var(--dz-pink,#fff);border-radius:var(--dzr,14px);padding:20px;margin-top:12px}
.dz-ctab h2{color:inherit;margin:0 0 4px}.dz-ctab p{margin:0;opacity:.92}
.dz-ctab .bk-btn.primary{background:var(--card);color:var(--ink)!important;border-color:var(--card)}
.dz-faq{display:grid;gap:8px}.dz-faq summary{cursor:pointer;font-weight:700}.dz-faq p{margin:8px 0 0;color:var(--ink2)}
.dz-loc p{margin:0 0 8px}.dz-loc svg{width:16px;height:16px;vertical-align:-3px}
.dz-note{color:var(--ink3);font-size:14px;margin:8px 2px 0}
.dz-soc{justify-content:flex-start}
.dz-instr{margin-bottom:12px}.dz-instr p{margin:4px 0 0;color:var(--ink2)}
.dz-confirm{font-size:15.5px;color:var(--ink2)}
.dz-cimg{object-fit:cover}
.dz-pvbar{position:sticky;top:0;z-index:60;background:#1f2937;color:#fff;font-size:13px;font-weight:600;text-align:center;padding:7px 12px}
@media (max-width:560px){.bk-hero.dzh .dz-copy h2{font-size:24px}.dz-intro.split{grid-template-columns:1fr}.bk-hero.dzh.has-cover.dzh-l{min-height:380px}.bk-hero.dzh.has-cover.dzh-m{min-height:300px}
  .dz-ctab,.dz-promo{flex-direction:column;align-items:flex-start}.dz-grid.team.list .dz-pro{grid-template-columns:auto 1fr}.dz-grid.team.list .dz-pro .bk-btn{grid-column:1/-1}}

/* ===================== 0.13.0 Settings > Booking website builder ===================== */
.sb-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;margin-bottom:12px}
.sb-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.sb-acts{display:flex;flex-wrap:wrap;gap:6px}
.sb-warn{margin-bottom:12px;border-color:rgba(251,191,36,.45);font-size:14px}
.sb{display:grid;grid-template-columns:minmax(340px,440px) minmax(0,1fr);gap:14px;align-items:start}
.sb-l{padding:0;display:flex;flex-direction:column;max-height:calc(100vh - 150px);position:sticky;top:12px;overflow:hidden}
.sb-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:10px;border-bottom:1px solid var(--line)}
.sb-tabs button{font:inherit;font-size:12.5px;font-weight:600;padding:6px 9px;border-radius:8px;border:1px solid var(--line2);background:transparent;color:var(--muted);cursor:pointer}
.sb-tabs button[aria-selected="true"]{background:var(--surface2);color:var(--text);border-color:var(--hover-bd,var(--line2))}
.sb-panel{padding:14px 16px 20px;overflow:auto}
.sb-panel h3{margin:0 0 6px;font-size:17px}.sb-panel h4{margin:18px 0 8px;font-size:14px}
.sb-panel .hint{display:block;margin:0 0 12px}
.sb-panel textarea,.sb-panel input[type=text],.sb-panel select{width:100%}
.sb-r{min-width:0}
.sb-rh{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}
.sb-dev{display:flex;gap:4px;margin-left:auto}.sb-dev .btn.on{background:var(--surface2);border-color:var(--hover-bd,var(--line2));color:var(--text)}
.sb-fw{background:var(--surface2);border:1px solid var(--line);border-radius:var(--r,14px);padding:12px;display:flex;justify-content:center;overflow:auto}
#sb-frame{border:0;background:#fff;border-radius:10px;height:calc(100vh - 210px);min-height:560px;box-shadow:0 8px 30px rgba(0,0,0,.25);transition:width .2s}
#sb-frame.dev-desktop{width:100%}#sb-frame.dev-tablet{width:820px;max-width:100%}#sb-frame.dev-mobile{width:390px;max-width:100%}
.sb-imgrow{display:flex;gap:10px;align-items:center}
.sb-th{width:72px;height:72px;flex:none;border-radius:10px;border:1px dashed var(--line2);display:grid;place-items:center;overflow:hidden;background:repeating-conic-gradient(rgba(127,127,127,.12) 0 25%,transparent 0 50%) 0 0/14px 14px}
.sb-th img{width:100%;height:100%;object-fit:contain}.sb-none{font-size:12px;color:var(--faint)}
.sb-imgact{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}
.sb-up{cursor:pointer;align-self:flex-start}
.sb-img.drop .sb-th{border-color:var(--cyan);border-style:solid}.sb-img.busy{opacity:.6;pointer-events:none}
.sb-themes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 10px}
.sb-theme{font:inherit;text-align:left;border:1.5px solid var(--line2);background:transparent;color:var(--text);border-radius:12px;padding:10px;cursor:pointer;display:grid;gap:3px}
.sb-theme.on{border-color:var(--cyan);background:var(--surface2)}
.sb-theme .sw{display:flex;gap:3px}.sb-theme .sw i{width:18px;height:18px;border-radius:5px;border:1px solid rgba(127,127,127,.35)}
.sb-theme small{color:var(--muted);font-size:12px}
.sb-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.sb-col span{display:flex;gap:6px;align-items:center}.sb-col input[type=color]{width:40px;height:36px;padding:2px;flex:none}
.sb-checks{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:4px;font-size:13px}
.sb-checks li.ok{color:var(--fg-green)}.sb-checks li.bad{color:var(--fg-amber)}.sb-checks small{color:var(--muted)}
.sb-fontdemo{font-size:22px;margin:0 0 4px}.sb-fontdemo.b{font-size:15px;margin-bottom:14px}
.sb-secs,.sb-team{list-style:none;padding:0;margin:8px 0;display:grid;gap:6px}
.sb-secs li,.sb-team li{border:1px solid var(--line);border-radius:10px;padding:6px 10px}
.sb-secs li.on{border-color:var(--line2);background:var(--surface2)}.sb-secs li.fixed{border-style:dashed}
.sb-sh{display:flex;justify-content:space-between;align-items:center;gap:8px}.sb-sh .check{margin:4px 0}
.sb-mv{display:flex;gap:2px}.sb-sx{padding:8px 0 4px}
.sb-team li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.sb-team li>span:first-child{flex:1;min-width:140px}.sb-team .check{margin:0}
.sb-cat{border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:8px}.sb-cat .field{margin-bottom:8px}
.sb-catimg{display:flex;gap:6px;align-items:center}.sb-catimg .sb-th{width:44px;height:44px}
.sb-ro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto;gap:8px;font-size:13.5px;padding:6px 0;border-bottom:1px solid var(--line)}.sb-ro span{color:var(--muted)}.sb-ro i{color:var(--faint);font-weight:400}
.sb-rep{display:grid;gap:6px;border:1px solid var(--line);border-radius:10px;padding:8px;margin-bottom:8px}.sb-rep .btn{justify-self:start}
.sb-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}.sb-gal figure{margin:0;display:grid;gap:4px}.sb-gal .sb-th{width:100%;height:80px}
.sb-slug{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.sb-slug>span{font-size:12.5px;color:var(--muted)}.sb-slug input{flex:1;min-width:120px}
.sb-email{border:1px solid var(--line2);border-radius:10px;overflow:hidden;background:#fff;color:#111827;margin-top:8px}
.sb-eh{padding:12px 16px;font-weight:700;display:flex;align-items:center;gap:10px}.sb-eh img{width:28px;height:28px;border-radius:6px;background:#fff;object-fit:contain}
.sb-eb{padding:14px 16px;font-size:14px}.sb-eb p{margin:6px 0}.sb-eb .sig{white-space:pre-line}.sb-eb small{color:#6b7280}
.sb-ov{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:200;display:grid;place-items:center;padding:16px}
.sb-dlg{width:min(760px,100%);max-height:86vh;overflow:auto}.sb-dh{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.sb-dh h2{margin:0}
.sb-vers{list-style:none;padding:0;margin:0;display:grid;gap:6px}.sb-vers li{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:8px 10px}.sb-vers small{display:block}
.sb-libg{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.sb-libg figure{margin:0;border:1px solid var(--line);border-radius:10px;padding:8px;display:grid;gap:6px}.sb-libg .sb-th{width:100%;height:110px}
.sb-libg figcaption{display:grid;gap:4px;font-size:12.5px}.sb-libg small{color:var(--muted)}
@media (max-width:1100px){.sb{grid-template-columns:1fr}.sb-l{position:static;max-height:none}.sb-dev{margin-left:0}#sb-frame{height:720px}}
@media (max-width:560px){.sb-themes,.sb-cols{grid-template-columns:1fr}.sb-ro{grid-template-columns:1fr auto}.sb-ro b{grid-column:1}.sb-top{align-items:flex-start}.sb-acts .btn{flex:1}.sb-fw{padding:6px}}

/* 0.13.1: wide logos (wordmarks) keep their proportions */
.dzl-wide .bk-logo.dzl{width:auto;max-width:min(340px,72vw);border-radius:10px;padding:6px 10px;box-sizing:border-box}
.dzl-wide.dzl-s .bk-logo.dzl{height:48px}.dzl-wide.dzl-m .bk-logo.dzl{height:64px}.dzl-wide.dzl-l .bk-logo.dzl{height:88px}
.dzl-wide .bk-logo.bk-ini{width:auto;padding:0 14px}
@media (max-width:640px){
  .dzl-wide .bk-hero-in{flex-wrap:wrap;row-gap:10px}
  .dzl-wide .bk-hero-in>div{flex:1 1 100%;min-width:0}
  .dzl-wide.dzl-l .bk-logo.dzl{height:72px}.dzl-wide.dzl-m .bk-logo.dzl{height:56px}
  .dzl-wide .bk-logo.dzl{max-width:calc(100vw - 150px)}
}
/* 0.14.0 Add to Calendar menu */
.cal-wrap{position:relative;display:inline-block}
.cal-btn .cal-car{width:16px;height:16px;margin-left:2px}
.cal-btn[aria-expanded="true"] .cal-car{transform:rotate(180deg)}
.cal-menu{position:absolute;left:50%;transform:translateX(-50%);top:calc(100% + 8px);z-index:40;width:min(320px,calc(100vw - 32px));background:var(--card);color:var(--ink);border:1px solid var(--bd);border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.2);padding:6px;display:grid;text-align:left}
.cal-menu[hidden]{display:none}
.ac-acts .cal-menu{left:auto;right:0;transform:none}
.cal-it{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 10px;border-radius:10px;color:var(--ink)!important;text-decoration:none}
.cal-it:hover,.cal-it:focus-visible{background:var(--bd);outline:none}
.cal-it:focus-visible{box-shadow:0 0 0 2px var(--acc,#0e7490) inset}
.cal-ic{flex:none;width:28px;height:28px;display:grid;place-items:center;color:var(--ink2,currentColor)}.cal-ic svg{width:26px;height:26px}
.cal-tx{display:grid;line-height:1.25}.cal-tx b{font-size:15px}.cal-tx small{font-size:12.5px;color:var(--ink3)}
.cal-note{margin:4px 8px 6px;font-size:12.5px;line-height:1.45;color:var(--ink3)}
@media (max-width:520px){.cal-wrap{display:block;width:100%}.cal-wrap .cal-btn{width:100%}.ac-acts .cal-wrap{width:auto;display:inline-block}.ac-acts .cal-menu{position:fixed;left:16px;right:16px;top:auto;bottom:16px;width:auto}}
@media (max-width:520px){.ac-acts{display:flex;flex-wrap:wrap;gap:6px}.ac-acts .cal-wrap{flex:1 1 100%;width:100%;display:block}.ac-acts .cal-wrap .cal-btn{width:100%}}
/* 0.15.0: paired fields line up even when one has a hint (fields never stretch to the row height) */
.bk-f{align-content:start}.bk-f2{align-items:start}.bk-f2>.bk-f2-hint{grid-column:1/-1;margin:-4px 0 4px}
/* 0.15.0: desktop "Your lesson" summary panel; phones and tablets keep the bottom bar */
.bk-sum{display:none}
@media (min-width:1180px){
  /* 0.18.1: the lessons column stays centered on the page (same 728 px content width as the header, sections and footer);
     the "Your lesson" panel sits in the right-hand margin. Below about 1440 px it can't fit, so the column shifts left only as much as needed. */
  .bk-main{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,728px) minmax(300px,1fr);column-gap:28px;align-items:start}
  .bk-main>#bk-body{grid-column:2;min-width:0}
  .bk-main>.bk-sum{grid-column:3;justify-self:start;width:300px}
  .bk-sum:not([hidden]){display:block;position:sticky;top:76px;background:var(--card);border:1px solid var(--bd);border-radius:16px;padding:18px;box-shadow:0 6px 22px rgba(0,0,0,.05)}
  .bk-sum-h{font-size:17px;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--bd)}
  .bk-sum .bk-lines{margin:0 0 10px}.bk-sum-row{display:flex;align-items:center;gap:10px;margin:8px 0;font-size:14px}
  .bk-sum-empty{color:var(--mut);font-size:14px;margin:4px 0}
  .bk-sum .bk-total{margin:12px 0}.bk-sum .bk-btn{margin-top:6px}
  body.bk-has-bar .bk-bar{display:none}
}
.bk-sum-clear{display:block;margin:10px auto 0;font-size:13.5px}
@media (min-width:1180px){.bk-main:has(>.bk-sum[hidden]){display:block;max-width:760px}}
/* 0.15.0 structured credentials */
.cred-row{display:block;border:1px solid var(--bd);border-radius:12px;padding:12px 14px;margin:0 0 12px;min-width:0}
.cred-row .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:start}
.cred-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.cred-top [data-cr]{margin-left:auto}
.cred-st{font-size:12.5px;font-weight:700;padding:3px 9px;border-radius:99px;background:var(--bg2,#eef0f2);color:var(--ink2,#333)}
.cred-st.st-verified{background:#e3f4e8;color:#14532d}.cred-st.st-pending{background:#fff4d6;color:#7a4b00}.cred-st.st-rejected,.cred-st.st-expired{background:#fde8e8;color:#8a1c1c}
.cred-foot{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between}.cred-rev{margin:0;min-width:240px}
/* 0.15.0 structured waitlist */
.wl-sum{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:color-mix(in srgb,var(--acc) 6%,var(--card));border:1px solid var(--bd);border-radius:12px;padding:10px 12px;margin:0 0 12px}
.wl-sum small{display:block;color:var(--ink3);font-size:12px}.wl-sum b{font-size:14.5px}
.wl-set{border:0;padding:0;margin:0 0 12px}.wl-set legend{font-weight:600;font-size:14px;margin-bottom:6px;padding:0}.wl-set legend small{font-weight:400;color:var(--ink3)}
.wl-chips{display:flex;flex-wrap:wrap;gap:8px}
.wl-chip{position:relative;display:inline-flex}.wl-chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.wl-chip span{border:1.5px solid var(--bd2);border-radius:999px;padding:7px 13px;font-size:14px;font-weight:600;color:var(--ink2);background:var(--card);min-height:36px;display:inline-flex;align-items:center}
.wl-chip input:checked+span{background:var(--acc);border-color:var(--acc);color:var(--acc-ink,#fff)}
.wl-chip input:focus-visible+span{outline:2px solid var(--acc);outline-offset:2px}
@media (max-width:560px){.wl-sum{grid-template-columns:1fr}}
.ac-wl-h{font-size:18px;margin:22px 0 4px}.ac-wl .ac-date{display:grid;place-items:center;color:var(--ink3)}
.wl-acts{white-space:nowrap}.wl-acts .btn+.btn{margin-left:6px}.wl-tbl td{vertical-align:top}
.ac-wl .ac-date svg{width:26px;height:26px}.wl-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wl-dates input{min-width:0}
@media (max-width:700px){.wl-tbl thead{display:none}.wl-tbl,.wl-tbl tbody,.wl-tbl tr,.wl-tbl td{display:block;width:100%}.wl-tbl tr{border-bottom:1px solid var(--line,rgba(127,127,127,.25));padding:10px 0}.wl-tbl td{border:0!important;padding:3px 12px!important}.wl-tbl td:nth-child(4)::before{content:"Joined "}.wl-acts{padding-top:8px!important}}
.tcal{display:grid;gap:8px;margin:12px 0}.tcal-it{display:flex;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line,rgba(127,127,127,.3));border-radius:12px;color:inherit;text-decoration:none;min-height:48px}
.tcal-it:hover,.tcal-it:focus-visible{border-color:var(--acc,#22d3ee);outline:none}.tcal-it small{display:block;opacity:.75;font-size:12.5px}.tcal-it .cal-ic svg{width:24px;height:24px;display:block}
.row-end{display:flex;justify-content:flex-end}
.ac-next{border:1.5px solid color-mix(in srgb,var(--acc) 35%,var(--bd));background:color-mix(in srgb,var(--acc) 5%,var(--card));margin-bottom:14px}
.ac-next-k{font-size:13px;font-weight:700;color:var(--acc);text-transform:uppercase;letter-spacing:.04em;display:flex;gap:8px;align-items:center}
.ac-next-rel{background:var(--acc);color:var(--acc-ink,#fff);border-radius:999px;padding:2px 9px;font-size:12px;letter-spacing:0;text-transform:none}
.ac-next h3{margin:6px 0 2px;font-size:20px}.ac-next p{margin:2px 0}.ac-next-acts{margin-top:10px}
.ac-next-stats{display:flex;gap:16px;margin-top:10px!important;color:var(--ink2);font-size:14px}
/* 0.17.0 waiting offer in My appointments */
.ac-offer{border:1.5px solid color-mix(in srgb,var(--acc) 55%,var(--bd));background:color-mix(in srgb,var(--acc) 9%,var(--card));margin-bottom:14px}
.ac-offer h3{margin:6px 0 2px;font-size:19px}.ac-offer p{margin:2px 0;overflow-wrap:anywhere}.ac-offer .ac-next-acts{display:flex;gap:8px;flex-wrap:wrap}

/* 0.18.1: a gap between the last homepage section (e.g. the booking call-to-action) and the footer */
#dz-b:not(:empty){padding-bottom:32px}
/* 0.18.1: certification and membership badges under the business name in the footer (owner-uploaded) */
.bk-certs{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center}
.bk-certs li{display:block}.bk-certs a{display:block;border-radius:8px}
.bk-certs img{display:block;height:68px;width:auto;max-width:150px;object-fit:contain;border-radius:6px}
[data-theme=dark] .bk-certs img{background:#fff;padding:4px}
@media (max-width:420px){.bk-certs img{height:56px;max-width:120px}}
.sb-certs{display:grid;gap:10px;margin:8px 0}
.sb-cert{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;align-items:start;margin:0;padding:10px;border:1px solid var(--bd);border-radius:10px}
.sb-cert .sb-th img{width:64px;height:64px;object-fit:contain;background:#fff;border-radius:6px}
.sb-cf input{width:100%;min-width:0}.sb-crm{justify-self:start}
.sb-cf{display:grid;gap:6px}
/* 0.19.0: the date row icon in the "Your lesson" panel had no size and stretched; match the 36 px avatar column */
.bk-sum-row>svg{width:20px;height:20px;flex:none;margin:0 8px;opacity:.8}

/* 0.22.0 birdieOS Home Screen app: install button, guide and post-booking suggestion */
.bk-acct-wrap{display:flex;gap:8px;align-items:center}
.bk-install{max-width:none}
.bo-ins-ic{width:20px;height:20px;border-radius:5px;flex:none;display:block}
.bk-menu>button.bk-menu-install .bo-ins-ic{width:19px;height:19px}
.bo-side-ins{display:inline-flex;align-items:center;gap:6px}
.bo-side-ins .bo-ins-ic{width:16px;height:16px;border-radius:4px}
.bo-standalone .bk-install,.bo-standalone .bo-ins-sug,.bo-standalone .bk-menu-install,.bo-standalone .bo-side-ins{display:none!important}
.bo-ins-dlg{max-width:460px}
.bo-ins-head{display:flex;gap:14px;align-items:center;margin-bottom:12px}
.bo-ins-head img{border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.18);flex:none}
.bo-ins-head h2{margin:0;font-size:19px;line-height:1.25}
.bo-ins-sub{margin:2px 0 0;font-size:13px;opacity:.75}
.bo-ins-steps{margin:10px 0 12px;padding-left:22px;display:grid;gap:9px}
.bo-ins-steps li{line-height:1.45}
.bo-ins-glyph{width:18px;height:18px;vertical-align:-4px;display:inline-block}
.bo-ins-note{font-size:13.5px;opacity:.8;margin:8px 0 0}
.bo-ins-acts{display:flex;justify-content:flex-end;margin-top:16px}
.bo-ins-sug{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:18px 0 4px;padding:14px;border:1px solid var(--bd,rgba(0,0,0,.12));border-radius:14px;background:var(--card,#fff);text-align:left}
.bo-ins-sug img{border-radius:10px;flex:none}
.bo-ins-sug>div:nth-child(2){flex:1 1 180px;display:grid;gap:2px}
.bo-ins-sug span{font-size:14px;opacity:.8}
.bo-ins-sug-acts{display:flex;gap:10px;align-items:center}
@media (max-width:420px){.bk-install{padding:7px 11px 7px 8px;font-size:13.5px;gap:6px}}
@media (max-width:340px){.bk-install span{display:none}.bk-install{padding:7px 9px}}

/* 0.23.0 sign-in methods: passkey, text message, email */
.auth-methods{display:grid;gap:10px;margin:4px 0 18px}
.am{display:flex!important;align-items:center;justify-content:center;gap:10px;min-height:46px;font-weight:600}
.am[hidden]{display:none!important}
.am svg{flex:0 0 auto}
.am.on{border-color:var(--line2);box-shadow:inset 0 0 0 1px var(--line2)}
.pk-or{display:flex;align-items:center;gap:12px;margin:14px 0;color:var(--muted);font-size:13px}
.pk-or::before,.pk-or::after{content:"";flex:1;height:1px;background:var(--line)}
.pk-sms-row{display:flex;gap:8px;align-items:stretch}.pk-sms-row input{flex:1;min-width:0}.pk-sms-row button{white-space:nowrap}
.pk-list{list-style:none;margin:12px 0;padding:0;display:grid;gap:8px}
.pk-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:10px}
.pk-li-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.pk-li-main small{color:var(--muted);font-size:12.5px}
.pk-li-act{display:flex;gap:6px}
.pk-prompt,.pk-reauth{max-width:440px}
.pk-prompt .pk-ico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--surface2);border:1px solid var(--line2);margin-bottom:12px}
.pk-prompt .pk-ico svg{width:26px;height:26px}
.pk-prompt p,.pk-reauth .pk-sub{font-size:14.5px;line-height:1.5}
.pk-points{margin:10px 0 16px;padding-left:18px;font-size:13.5px;color:var(--muted);display:grid;gap:4px}
.pk-reauth .btn.block,.pk-reauth .bk-btn.wide{margin-top:6px}
.pk-reauth form{display:grid;gap:10px}
.pk-cancel{text-align:center;margin:12px 0 0}
.pk-prompt .actions{display:flex;gap:10px;flex-wrap:wrap}
/* booking pages */
.ac-methods{display:grid;gap:10px;margin-bottom:14px}
.ac-methods .bk-btn.am{width:100%}
.ac-methods .am.on{box-shadow:inset 0 0 0 1px var(--bd2)}
.bk-pk-prompt .pk-ico{background:var(--card);border-color:var(--bd2);color:var(--acc)}
.ac-sm{display:grid;gap:12px}
.ac-sm h3{margin:0}
.ac-sm-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--bd)}
.ac-sm-row>div:first-child{flex:1 1 260px;min-width:0}
.ac-sm-row .bk-hint{margin:2px 0 0}
.ac-sm .pk-list li{border-color:var(--bd)}
.ac-sm .pk-li-act{gap:18px}
.ac-sm .pk-li-main small{color:inherit;opacity:.75}
.ac-sm-btns{display:flex;gap:10px;align-items:center}
.ph-f{display:grid;gap:10px;margin-top:10px}
/* 0.24.0 loading screen with the business's own app icon and name */
.boot .boot-ic{border-radius:18px;box-shadow:0 6px 20px rgba(0,0,0,.18);object-fit:cover}
.boot .boot-name{margin:4px 0 0;font-weight:650;font-size:1.05rem;color:var(--text,inherit);text-align:center;max-width:80vw}
/* 0.24.0 platform console and Features tab */
.pf-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:14px}
.pf-stat{display:flex;flex-direction:column;gap:2px}.pf-stat b{font-size:1.6rem}.pf-stat span{color:var(--muted);font-size:.9rem}
.pf-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.pf-req,.pf-rule,.ft-item{align-items:flex-start;gap:14px;flex-wrap:wrap}
.pf-dec{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pf-dec input{min-width:220px}
.pf-details{font-style:normal;opacity:.9}
.pf-checks{display:flex;flex-wrap:wrap;gap:8px 16px}.pf-checks label{display:inline-flex;gap:6px;align-items:center;font-weight:500}
.pf-matrix td,.pf-matrix th{vertical-align:top}.pf-cb{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px}
.pf-icons{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:10px}
.pf-ic{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px}
.pf-ic canvas{width:56px;height:56px;border-radius:14px;flex:none;background:var(--line)}.pf-ic>div{flex:1;min-width:0}
.ft-act{flex:none}.ft-where,.ft-note{margin-top:4px}

/* 0.26.0 Add to my calendar */
.mycal{min-width:min(540px,100%)}.mycal h3{font-size:15px;margin:0 0 6px}.mc-sec{padding-top:14px;margin-top:14px;border-top:1px solid var(--line,rgba(127,127,127,.25))}.mc-sec:first-of-type{border-top:0;margin-top:4px}
.mc-g{margin:4px 0 8px}.mc-g summary{cursor:pointer;display:flex;gap:10px;align-items:center;padding:8px 12px;border:1px solid var(--line,rgba(127,127,127,.3));border-radius:12px;font-weight:600}.mc-g summary .cal-ic svg{width:22px;height:22px;display:block}
.mc-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.mc-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 4px 6px 12px}.mc-list li span{min-width:0}
.mc-on{font-weight:600;margin:2px 0 6px}.mc-copy{display:flex;gap:8px}.mc-copy input{flex:1;min-width:0;font-size:13px}.mc-scope{border:0;padding:0;margin:8px 0;display:flex;gap:18px;flex-wrap:wrap}.mc-scope legend{font-weight:600;margin-bottom:6px;font-size:14px}
@media (max-width:640px){.mc-copy{flex-direction:column}}

/* 0.27.0 Foundry Control (Release 1) and Admin help overlay */
.fc-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:12px 16px;margin-bottom:14px}
.fc-seg{display:inline-flex;border:1px solid var(--line2);border-radius:10px;overflow:hidden}
.fc-seg button{background:transparent;color:var(--muted);border:0;padding:7px 14px;font:inherit;font-weight:600;cursor:pointer}
.fc-seg button.on{background:var(--surface2);color:var(--text);box-shadow:inset 0 -2px 0 #34d399}
.fc-range{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.fc-range label{font-size:13px;color:var(--muted);font-weight:600}
.fc-range select,.fc-range input,.fc-filters input,.fc-filters select,.fc-hsearch input{background:var(--surface);color:var(--text);border:1px solid var(--line2);border-radius:8px;padding:7px 10px;font:inherit}
.fc-cust{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.fc-cust[hidden]{display:none}
.fc-fresh{margin-left:auto;font-size:12.5px;color:var(--faint)}
.fc-note{font-size:13.5px;color:var(--muted);background:var(--surface2);border:1px solid var(--line);border-left:3px solid #d4a73a;border-radius:10px;padding:9px 12px;margin:0 0 14px}
.fc-sec{margin:18px 0}.fc-sec h3{font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 10px}
.fc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.fc-kpi{padding:14px 16px;display:flex;flex-direction:column;gap:4px;min-height:118px}
.fc-kpi.measured{border-top:3px solid #34d399}.fc-kpi.calculated{border-top:3px solid #22d3ee}.fc-kpi.unavailable{border-top:3px solid var(--line2)}
.fc-kl{font-size:13px;color:var(--muted);font-weight:600;line-height:1.3}
.fc-kv{font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.15}.fc-kv small{font-size:14px;font-weight:600;color:var(--muted)}
.fc-na{font-size:15px;font-weight:700;color:var(--faint)}
.fc-d{font-size:12px;color:var(--faint)}.fc-d.up{color:var(--fg-green)}.fc-d.down{color:var(--fg-amber)}
.fc-def{margin-top:auto;font-size:12.5px}.fc-def summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.fc-def summary::-webkit-details-marker{display:none}
.fc-def p{margin:6px 0 0;color:var(--muted);line-height:1.45}.fc-src{font-size:12px;color:var(--faint)}
.fc-filters{display:flex;flex-wrap:wrap;gap:8px}.fc-filters input{min-width:240px}
.fc-table td.num,.fc-table th.num{text-align:right;font-variant-numeric:tabular-nums}
.linkbtn{background:none;border:0;padding:0;color:var(--fg-cyan);font:inherit;font-weight:700;cursor:pointer;text-align:left}.linkbtn:hover{text-decoration:underline}
.fc-drawer{width:min(760px,100%)}
.fc-360s{border-top:1px solid var(--line);padding:14px 0 4px}.fc-360s h3{font-size:15px;margin:0 0 8px}
.fc-kv2{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:6px 14px;margin:0;font-size:14px}.fc-kv2 dt{color:var(--muted)}.fc-kv2 dd{margin:0;word-break:break-word}
.fc-chips{display:flex;flex-wrap:wrap;gap:6px}
.fc-help{width:min(1040px,100%);max-height:92vh;display:flex;flex-direction:column;padding:22px 24px 18px}
.fc-hsearch{margin:0 0 12px}.fc-hsearch input{width:100%}
.fc-hwrap{display:grid;grid-template-columns:220px 1fr;gap:18px;min-height:0;flex:1}
.fc-htoc{display:flex;flex-direction:column;gap:2px;overflow:auto;border-right:1px solid var(--line);padding-right:10px}
.fc-htoc button{background:none;border:0;text-align:left;color:var(--muted);padding:7px 10px;border-radius:8px;font:inherit;font-size:14px;cursor:pointer}
.fc-htoc button:hover{background:var(--surface2);color:var(--text)}.fc-htoc button.on{background:var(--surface2);color:var(--text);box-shadow:inset 3px 0 0 #34d399}
.fc-hbody{overflow:auto;padding-right:6px;font-size:14.5px;line-height:1.55}
.fc-hbody section{padding:4px 0 16px;border-bottom:1px solid var(--line)}.fc-hbody section:last-of-type{border-bottom:0}
.fc-hbody h3{font-size:17px;margin:10px 0 6px}.fc-hbody ul,.fc-hbody ol{padding-left:20px;margin:6px 0}.fc-hbody li{margin:4px 0}
.fc-hbody code{font-family:var(--mono);font-size:12.5px;background:var(--surface2);border:1px solid var(--line);border-radius:5px;padding:1px 5px}
@media (max-width:760px){
  .fc-hwrap{grid-template-columns:1fr}.fc-htoc{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:0 0 8px}
  .fc-htoc button{white-space:nowrap}.fc-help{padding:16px;max-height:96vh}.fc-fresh{margin-left:0}
  .fc-kv2{grid-template-columns:1fr}.fc-kv2 dt{margin-top:6px}.fc-filters input{min-width:0;width:100%}
}
.fc-table td:first-child{min-width:200px}.fc-table th{white-space:normal;vertical-align:bottom}.fc-table td{white-space:nowrap}.fc-table td:first-child{white-space:normal}.fc-table td,.fc-table th{padding-left:8px;padding-right:8px}
/* 0.28.0 Manage workspace (archive / restore / export / delete) */
.fc-man .fc-dl{margin:6px 0 10px;padding-left:20px;font-size:14px;line-height:1.5}.fc-man .fc-dl li{margin:3px 0}
.fc-lbl{display:block;font-size:13px;font-weight:600;color:var(--muted);margin:10px 0 5px}
.fc-in{width:100%;background:var(--surface);color:var(--text);border:1px solid var(--line2);border-radius:8px;padding:8px 10px;font:inherit}
.fc-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.fc-arch-note{font-size:14px;background:rgba(248,113,113,.08);border:1px solid rgba(248,113,113,.35);border-left:3px solid #f87171;border-radius:10px;padding:9px 12px}
.fc-danger{margin-top:14px;border:1px solid rgba(248,113,113,.45);border-radius:12px;padding:12px 14px;background:rgba(248,113,113,.05)}
.fc-danger h4{margin:0 0 6px;font-size:15px;color:var(--fg-red)}
.fc-chk{display:flex;gap:8px;align-items:flex-start;font-size:14px;margin-top:10px}.fc-chk input{margin-top:3px}
.side-help{margin-left:0}
/* 0.32.0 a team member's own demo videos on their profile */
.pvid .port-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.pvid .tile video{width:100%;aspect-ratio:16/9;object-fit:contain;background:#000;display:block}
.pvid .port-add .btn.disabled{opacity:.5;pointer-events:none}
/* v0.33.0 salon and barber photo cards (reuse the golf card layout; own palettes) */
.bk-cats.pc .bk-chips button.gc .gc-ph picture{display:block;width:100%;height:100%}
.bk-cats.pc .bk-chips button.gc .gc-ic{display:grid;place-items:center;width:100%;height:100%}
.bk-cats.pc .bk-chips button.gc .gc-ic .svc-ic{width:64px;height:64px}
.bk-cats.pc-salon .bk-chips button.gc{background:#fbf6f0;border-color:#e6d9cc;color:#2b1d16;box-shadow:0 6px 16px rgba(60,40,25,.14)}
.bk-cats.pc-salon .bk-chips button.gc .gc-ph{background:#f4ece3}
.bk-cats.pc-salon .bk-chips button.gc .gc-ph::after{background:linear-gradient(180deg,rgba(251,246,240,0) 50%,rgba(251,246,240,.78) 86%,#fbf6f0 100%)}
.bk-cats.pc-salon .bk-chips button.gc .lb{color:#2b1d16;text-shadow:none}
.bk-cats.pc-salon .bk-chips button.gc .gc-bar{background:#b98a6a}
.bk-cats.pc-salon .bk-chips button.gc:hover{border-color:#cdb39d;box-shadow:0 10px 22px rgba(60,40,25,.2)}
.bk-cats.pc-salon .bk-chips button.gc:focus-visible{outline-color:#8a5a3c}
.bk-cats.pc-salon .bk-chips button.gc[aria-pressed="true"]{background:#fbf6f0;color:#2b1d16;border-color:#8a5a3c;box-shadow:0 0 0 3px rgba(138,90,60,.28),0 8px 20px rgba(60,40,25,.18)}
.bk-cats.pc-salon .bk-chips button.gc[aria-pressed="true"] .gc-bar{background:#8a5a3c}
.bk-cats.pc-barber .bk-chips button.gc{background:#15110e;border-color:#3a2f26;color:#f5efe8;box-shadow:0 6px 16px rgba(10,8,6,.3)}
.bk-cats.pc-barber .bk-chips button.gc .gc-ph{background:#1d1814}
.bk-cats.pc-barber .bk-chips button.gc .gc-ph::after{background:linear-gradient(180deg,rgba(21,17,14,0) 48%,rgba(21,17,14,.85) 88%,#15110e 100%)}
.bk-cats.pc-barber .bk-chips button.gc .gc-bar{background:#b8924f}
.bk-cats.pc-barber .bk-chips button.gc:hover{border-color:#5a4a3a}
.bk-cats.pc-barber .bk-chips button.gc:focus-visible{outline-color:#d6b06a}
.bk-cats.pc-barber .bk-chips button.gc[aria-pressed="true"]{background:#15110e;color:#fff;border-color:#c9a25e;box-shadow:0 0 0 3px rgba(201,162,94,.35),0 8px 20px rgba(10,8,6,.3)}
.bk-cats.pc-barber .bk-chips button.gc[aria-pressed="true"] .gc-bar{background:#e0bd7a}
html[data-theme="dark"] body.bkp .bk-cats.pc-salon .bk-chips button.gc{background:#2a211c;border-color:#4a3a30;color:#f7efe8}
html[data-theme="dark"] body.bkp .bk-cats.pc-salon .bk-chips button.gc .gc-ph::after{background:linear-gradient(180deg,rgba(42,33,28,0) 50%,rgba(42,33,28,.82) 86%,#2a211c 100%)}
html[data-theme="dark"] body.bkp .bk-cats.pc-salon .bk-chips button.gc .lb,html[data-theme="dark"] body.bkp .bk-cats.pc-salon .bk-chips button.gc[aria-pressed="true"]{color:#f7efe8}
html[data-theme="dark"] body.bkp .bk-cats.pc-salon .bk-chips button.gc[aria-pressed="true"]{background:#2a211c;border-color:#d7a98a}
.bk-group h2 .gi.gk.pk{background:#f4ece3}
body.ind-barber .bk-group h2 .gi.gk.pk,html[data-theme="dark"] body.bkp .bk-group h2 .gi.gk.pk{background:#1d1814}
.dz-cat .dz-cph{display:block;width:100%;aspect-ratio:1;border-radius:12px;overflow:hidden;margin-bottom:8px}
.dz-cat .dz-cph picture,.dz-cat .dz-cph img{display:block;width:100%;height:100%;object-fit:cover}

/* 0.34.0 AI Style Studio (on-device hair color preview) */
.ss-card{display:flex;align-items:center;gap:14px;justify-content:space-between;margin:4px 0 16px;padding:14px 16px;border:1px solid var(--bd);border-radius:16px;background:linear-gradient(120deg,var(--card),var(--soft));box-shadow:0 1px 2px rgba(0,0,0,.04)}
.ss-card-t{display:flex;flex-direction:column;gap:3px;min-width:0}.ss-card-t b{font-size:15px;color:var(--ink)}.ss-card-t span{font-size:13px;color:var(--ink2);line-height:1.4}
.ss-card .bk-btn{flex:none}
.ss-ov{position:fixed;inset:0;z-index:1000;background:rgba(10,10,12,.55);display:flex;align-items:stretch;justify-content:center}
.ss-box{background:var(--card,#fff);color:var(--ink,#111);width:100%;max-width:1080px;display:flex;flex-direction:column;overflow:hidden}
@media (min-width:760px){.ss-ov{align-items:center;padding:24px}.ss-box{border-radius:20px;max-height:calc(100vh - 48px)}}
.ss-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--bd,#e5e7eb)}
.ss-top h2{margin:0;font-size:19px}.ss-top p{margin:2px 0 0;font-size:13px;color:var(--ink2,#4b5563)}
.ss-x{border:0;background:var(--soft,#f3f2ef);color:var(--ink,#111);width:40px;height:40px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer;flex:none}
.ss-body{overflow:auto;padding:16px 18px 22px;flex:1}
.ss-intro{max-width:620px;margin:0 auto}
.ss-facts{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:10px}
.ss-facts li{padding:11px 13px;border-radius:12px;background:var(--soft,#f3f2ef);font-size:14px;line-height:1.45;color:var(--ink2,#4b5563)}.ss-facts b{color:var(--ink,#111)}
.ss-ck{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;margin:14px 0;padding:12px;border:1px solid var(--bd2,#d1d5db);border-radius:12px}
.ss-ck input{width:20px;height:20px;flex:none;margin-top:1px;accent-color:var(--acc,#0f766e)}
.ss-acts{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.ss-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--bd2,#d1d5db);background:var(--card,#fff);color:var(--ink,#111);font:600 15px/1 inherit;cursor:pointer;font-family:inherit}
.ss-btn.primary{background:var(--acc,#0f766e);border-color:var(--acc,#0f766e);color:var(--acc-ink,#fff)}
.ss-btn.ghost{border-color:transparent;background:transparent;text-decoration:underline}
.ss-btn.off{opacity:.45;cursor:not-allowed}
.ss-btn:focus-visible,.ss-x:focus-visible,.ss-sw button:focus-visible,.ss-seg button:focus-visible,.ss-samples button:focus-visible{outline:3px solid var(--acc,#0f766e);outline-offset:2px}
.ss-tip,.ss-small{font-size:12.5px;color:var(--ink3,#6b7280);line-height:1.45;margin:6px 0}
.ss-samples{margin-top:14px;padding-top:12px;border-top:1px solid var(--bd,#e5e7eb)}.ss-samples p{margin:0 0 8px;font-size:13px;color:var(--ink2,#4b5563)}
.ss-samples div{display:flex;gap:10px;flex-wrap:wrap}.ss-samples button{padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;cursor:pointer;background:none;line-height:0}
.ss-samples button:hover{border-color:var(--acc,#0f766e)}.ss-samples img{width:60px;height:80px;object-fit:cover;display:block}
.ss-wait{max-width:460px;margin:40px auto;text-align:center;font-size:15px;line-height:1.5}.ss-wait .ss-acts{justify-content:center}
.ss-spin{display:inline-block;width:38px;height:38px;border-radius:50%;border:4px solid var(--soft2,#ecebe7);border-top-color:var(--acc,#0f766e);animation:ss-r 0.9s linear infinite}
@keyframes ss-r{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.ss-spin{animation-duration:3s}}
.ss-main{display:grid;gap:16px}
@media (min-width:760px){.ss-main{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start}}
.ss-view{position:relative;margin:0;border-radius:16px;overflow:hidden;background:#111;touch-action:none;user-select:none;max-height:62vh;justify-self:center;width:100%}
@media (min-width:760px){.ss-view{max-height:calc(100vh - 170px)}}
.ss-view canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.ss-split{position:absolute;top:0;bottom:0;width:0;pointer-events:none}.ss-split::before{content:"";position:absolute;top:0;bottom:0;left:-1px;width:2px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.2)}
.ss-split span{position:absolute;top:50%;left:-18px;width:36px;height:36px;margin-top:-18px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.ss-split span::before{content:"\2039\00a0\203A";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#111;font:700 18px/1 system-ui}
.ss-tag{position:absolute;top:10px;padding:4px 10px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;font-weight:600;pointer-events:none}.ss-tag.l{left:10px}.ss-tag.r{right:10px}
.ss-range-split{position:absolute;left:0;right:0;bottom:0;width:100%;opacity:0;height:1px;pointer-events:none}
.ss-range-split:focus-visible{opacity:1;height:24px;pointer-events:auto}
.ss-ctl{min-width:0}
.ss-note{font-size:13px;line-height:1.45;padding:10px 12px;border-radius:10px;background:#fff7e6;color:#6b4a00;margin-bottom:12px}
html[data-theme="dark"] .ss-note{background:#3a2e12;color:#f5deb0}
.ss-seg{display:flex;gap:4px;padding:4px;border-radius:12px;background:var(--soft,#f3f2ef);flex-wrap:wrap}
.ss-seg button{flex:1 1 auto;min-height:38px;border:0;border-radius:9px;background:transparent;color:var(--ink2,#4b5563);font:600 14px/1.2 inherit;font-family:inherit;cursor:pointer;padding:6px 10px}
.ss-seg button[aria-selected="true"],.ss-seg button[aria-pressed="true"]{background:var(--card,#fff);color:var(--ink,#111);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.ss-seg.sm button{font-size:13px}
.ss-sw{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:8px;margin:12px 0 6px}
.ss-sw button{display:flex;flex-direction:column;align-items:center;gap:5px;padding:6px 2px;border:2px solid transparent;border-radius:12px;background:none;color:var(--ink,#111);cursor:pointer;font-family:inherit}
.ss-sw button[aria-pressed="true"]{border-color:var(--acc,#0f766e);background:var(--soft,#f3f2ef)}
.ss-sw span{width:40px;height:40px;border-radius:50%;box-shadow:inset 0 -6px 10px rgba(0,0,0,.25),inset 0 4px 8px rgba(255,255,255,.25),0 0 0 1px rgba(0,0,0,.12)}
.ss-sw small{font-size:11.5px;line-height:1.2;text-align:center}.ss-sw i{display:block;font-style:normal;color:var(--ink3,#6b7280);font-size:10.5px}
.ss-sel{font-weight:600;font-size:14px;margin:4px 0 12px}
.ss-f{display:grid;gap:6px;margin:10px 0}.ss-f>span,.ss-f>label{font-size:13px;font-weight:600;color:var(--ink2,#4b5563)}
.ss-f input[type=range]{width:100%;accent-color:var(--acc,#0f766e);min-height:28px}
.ss-lift{font-size:13px;line-height:1.45;padding:10px 12px;border-radius:10px;background:var(--soft,#f3f2ef);color:var(--ink2,#4b5563)}
@media (max-width:420px){.ss-card{flex-direction:column;align-items:stretch}.ss-card .bk-btn{width:100%}}
/* 0.35.0 AI Style Studio haircut mode (barbershops) */
.ss-view img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}
.ss-samples button:disabled{opacity:.45;cursor:not-allowed}
.ss-pick{margin:0 0 10px;color:var(--ink2,#4b5563);font-size:14px}
.ss-cuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 6px}
.ss-cuts button{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:4px;border:2px solid transparent;border-radius:12px;background:var(--soft,#f3f2ef);color:var(--ink,#111);cursor:pointer;font-family:inherit}
.ss-cuts button[aria-pressed="true"]{border-color:var(--acc,#0f766e)}
.ss-cuts button:focus-visible{outline:3px solid var(--acc,#0f766e);outline-offset:2px}
.ss-cuts img{width:100%;aspect-ratio:3/4;height:auto;object-fit:cover;border-radius:8px;display:block}
.ss-cuts span{font-size:12px;line-height:1.2;text-align:center;font-weight:600;padding:0 2px 2px}
.ss-cuts i{position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:50%;background:var(--acc,#0f766e);color:#fff;font-style:normal;font-size:12px;display:grid;place-items:center}
.ss-busy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:rgba(0,0,0,.55);color:#fff;text-align:center;padding:16px}
.ss-busy[hidden]{display:none}.ss-busy p{margin:0;font-weight:600}.ss-busy small{opacity:.85}
.ss-view [hidden]{display:none}
/* 0.36.0 AI Style Studio 3 */
.s3-gal,.s3-cap,.s3-rev{display:grid;gap:14px}
.s3-galtop{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.s3-galtop p{margin:0;font-size:14px;color:var(--ink2,#4b5563)}
.s3-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.s3-chips button{flex:0 0 auto;white-space:nowrap}
.s3-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.s3-card{border:1px solid var(--bd,#e5e7eb);border-radius:14px;overflow:hidden;background:var(--card,#fff);display:flex;flex-direction:column}
.s3-card img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;display:block;background:#ddd}
.s3-cb{padding:10px 12px 12px;display:flex;flex-direction:column;gap:6px;flex:1}.s3-cb h3{margin:0;font-size:15px}.s3-cb p{margin:0;font-size:13px;line-height:1.4}
.s3-meta{color:var(--ink3,#6b7280)}.s3-up{color:var(--ink2,#4b5563);font-size:12px!important}
.s3-tone{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11.5px;font-weight:600;background:#eef2f7;color:#334155}.s3-tone.warm{background:#fdecdf;color:#8a3b12}.s3-tone.cool{background:#e3eefc;color:#1e3a8a}
html[data-theme="dark"] .s3-tone{background:#2a3342;color:#dbe4f0}html[data-theme="dark"] .s3-tone.warm{background:#45281a;color:#f6c9a8}html[data-theme="dark"] .s3-tone.cool{background:#1c2c4a;color:#c3d6f7}
.s3-cact{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:4px}
.ss-btn.sm{min-height:38px;padding:0 13px;font-size:13.5px}
.s3-lead{margin:0;font-size:14px}
.s3-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.s3-slot{border:1px dashed var(--bd2,#d1d5db);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:6px}.s3-slot.has{border-style:solid}
.s3-slot b{font-size:14px}.s3-slot b small{font-weight:400;color:var(--ink3,#6b7280)}.s3-slot p{margin:0;font-size:12px;line-height:1.35;color:var(--ink2,#4b5563)}
.s3-fr{aspect-ratio:3/4;border-radius:10px;background:var(--soft,#f3f2ef);display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--ink3,#9ca3af)}
.s3-fr img{width:100%;height:100%;object-fit:cover}.s3-sil{width:70%;height:auto}
.s3-sa{display:flex;gap:6px;flex-wrap:wrap}
.s3-vid{border:1px solid var(--bd,#e5e7eb);border-radius:14px;padding:12px;display:grid;gap:6px}.s3-vid p{margin:0;font-size:13px;color:var(--ink2,#4b5563)}
.s3-warn{color:#92400e!important}.s3-okp{color:#166534!important}html[data-theme="dark"] .s3-warn{color:#f5c26b!important}html[data-theme="dark"] .s3-okp{color:#86efac!important}
.s3-vt{margin-bottom:8px}.s3-vt button{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:52px}
.s3-b{font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:999px;line-height:1.3}.s3-b.real{background:#dcfce7;color:#166534}.s3-b.est{background:#fef3c7;color:#92400e}
.s3-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;text-align:center;background:rgba(17,17,17,.72);color:#fff}
.s3-empty p{margin:0;font-size:14px}.s3-empty .ss-small{color:#e5e7eb}
.ss-view.s3-brush{cursor:crosshair}
.s3-qa{margin-top:10px;font-size:13px}.s3-qa ul{list-style:none;margin:6px 0;padding:0;display:grid;gap:3px}
.s3-qa li span{display:inline-block;width:18px;text-align:center;font-weight:700}.s3-qa li.ok span{color:#15803d}.s3-qa li.warn span{color:#b45309}
.s3-qh{display:flex;gap:8px;align-items:center}.s3-qh.ok b{color:#166534}.s3-qh.warn b{color:#92400e}
html[data-theme="dark"] .s3-qh.ok b{color:#86efac}html[data-theme="dark"] .s3-qh.warn b{color:#f5c26b}
.s3-acts{flex-wrap:wrap}
.s3-cmp{position:absolute;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:16px;z-index:5}
.ss-box{position:relative}
.s3-cmpb{background:var(--card,#fff);color:var(--ink,#111);border-radius:16px;padding:16px;max-width:760px;width:100%;max-height:100%;overflow:auto;display:grid;gap:10px}.s3-cmpb h3{margin:0}
.s3-cmpg{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.s3-cmpg figure{margin:0}.s3-cmpg canvas{width:100%;height:auto;border-radius:10px;display:block}.s3-cmpg figcaption{font-size:13px;text-align:center;margin-top:4px}
.s3-svcs{display:grid;gap:8px}.s3-svc{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid var(--bd,#e5e7eb);border-radius:12px;cursor:pointer}.s3-svc span{display:flex;flex-direction:column}.s3-svc small{color:var(--ink3,#6b7280)}
.s3-team{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.s3-team figure{margin:0}.s3-team img{width:100%;border-radius:10px;display:block;background:#eee}.s3-team figcaption{font-size:12.5px;margin-top:4px}
.s3-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.s3-kpis div{border:1px solid var(--bd,#e5e7eb);border-radius:12px;padding:10px}.s3-kpis b{display:block;font-size:20px}.s3-kpis span{font-size:12.5px;color:var(--ink2,#4b5563)}
.s3-own{border:1px solid var(--bd,#e5e7eb);border-radius:12px;padding:8px 12px;margin:0 0 10px}.s3-orow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0}.s3-orow img{border-radius:6px;object-fit:cover}.s3-orow input:not([type]){flex:1 1 160px;min-width:0}
.s3-vt{flex-wrap:nowrap}.s3-vt button{flex:1 1 0;min-width:0;padding:6px 4px}
.s3-qa li{border:0!important;background:none!important;padding:1px 0!important;margin:0!important;box-shadow:none!important}
.s3-qh{padding:8px 10px;border-radius:10px;background:var(--soft,#f3f2ef)}
@media (max-width:520px){.s3-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.s3-cb{padding:8px 9px 10px}.s3-cb p{font-size:12.5px}.s3-cact .ss-btn{width:100%}}
.ss-split[hidden],.ss-tag[hidden],.ss-range-split[hidden]{display:none!important}
/* 0.36.1 HVAC and landscaping photo cards: charcoal tiles that match the renders; blue (HVAC) / green (landscaping) selection */
.bk-cats.pc-hvac .bk-chips button.gc,.bk-cats.pc-landscaping .bk-chips button.gc{background:#141518;border-color:#2a2d33;color:#f3f4f6;box-shadow:0 6px 16px rgba(0,0,0,.28)}
.bk-cats.pc-hvac .bk-chips button.gc .gc-ph,.bk-cats.pc-landscaping .bk-chips button.gc .gc-ph{background:#141518}
.bk-cats.pc-hvac .bk-chips button.gc .gc-ph::after,.bk-cats.pc-landscaping .bk-chips button.gc .gc-ph::after{background:linear-gradient(180deg,rgba(20,21,24,0) 55%,rgba(20,21,24,.8) 88%,#141518 100%)}
.bk-cats.pc-hvac .bk-chips button.gc .gc-ic,.bk-cats.pc-landscaping .bk-chips button.gc .gc-ic{font-size:52px;line-height:1}
.bk-cats.pc-hvac .bk-chips button.gc:hover,.bk-cats.pc-landscaping .bk-chips button.gc:hover{border-color:#3f444d}
.bk-cats.pc-hvac .bk-chips button.gc .gc-bar{background:#3b82f6}
.bk-cats.pc-hvac .bk-chips button.gc[aria-pressed="true"]{background:#141518;color:#fff;border-color:#3b9bff;box-shadow:0 0 0 2px rgba(59,155,255,.55),0 0 18px rgba(59,155,255,.45)}
.bk-cats.pc-hvac .bk-chips button.gc[aria-pressed="true"] .gc-bar{width:44px;background:#60a5fa}
.bk-cats.pc-landscaping .bk-chips button.gc .gc-bar{background:#22c55e}
.bk-cats.pc-landscaping .bk-chips button.gc:focus-visible{outline-color:#4ade80}
.bk-cats.pc-landscaping .bk-chips button.gc[aria-pressed="true"]{background:#141518;color:#fff;border-color:#5ee06e;box-shadow:0 0 0 2px rgba(94,224,110,.5),0 0 18px rgba(94,224,110,.4)}
.bk-cats.pc-landscaping .bk-chips button.gc[aria-pressed="true"] .gc-bar{width:44px;background:#4ade80}
/* 0.37.0 installed-app layout (booking pages opened from the Home Screen) */
body.bo-appv{--tabh:calc(58px + env(safe-area-inset-bottom))}
.bk-tabs{display:none}
body.bo-appv .bk-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:60;height:var(--tabh);padding:0 6px env(safe-area-inset-bottom);background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-top:1px solid var(--bd)}
body.bo-appv .bk-tabs button{appearance:none;background:none;border:0;margin:0;padding:7px 2px 4px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;color:var(--mut);font:600 11px/1.1 inherit;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;min-height:44px}
body.bo-appv .bk-tabs button[hidden]{display:none}
body.bo-appv .bk-tabs svg{width:24px;height:24px}
body.bo-appv .bk-tabs button[aria-current=page]{color:var(--acc)}
body.bo-appv .bk-tabs button:focus-visible{outline:2px solid var(--acc);outline-offset:-4px;border-radius:10px}
body.bo-appv{padding-bottom:var(--tabh)}
body.bo-appv .bk-bar{bottom:var(--tabh);padding-bottom:12px}
body.bo-appv.bk-has-bar .bk-main{padding-bottom:calc(110px + var(--tabh))}
body.bo-appv .ck{bottom:calc(16px + var(--tabh))}
body.bo-appv.bk-has-bar .ck{bottom:calc(100px + var(--tabh))}
body.bo-appv .pos-jump:not([hidden]){bottom:calc(12px + var(--tabh))}
body.bo-appv .bk-install,body.bo-appv .bo-ins-sug,body.bo-appv .bk-menu-install,body.bo-appv #bk-ins-sug{display:none!important}
@media (max-width:1179px){body.bo-appv.bk-menu-open .bk-menu{position:fixed;top:auto;right:10px;left:auto;bottom:calc(var(--tabh) + 8px);z-index:70;max-height:calc(100vh - var(--tabh) - 90px);overflow:auto}}
@media (min-width:1180px){body.bo-appv .bk-tabs{display:none}body.bo-appv{padding-bottom:0}body.bo-appv .bk-bar{bottom:0}}
/* 0.37.0 team app phone tab bar */
.tabbar{display:none}
@media (max-width:860px){
  .tabbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:45;height:calc(58px + env(safe-area-inset-bottom));padding:0 6px env(safe-area-inset-bottom);background:color-mix(in srgb,var(--bg2) 90%,transparent);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-top:1px solid var(--line)}
  .tabbar a,.tabbar button{position:relative;appearance:none;background:none;border:0;margin:0;padding:7px 2px 4px;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--muted);font-weight:600;font-size:11px;line-height:1.1;font-family:inherit;text-decoration:none;cursor:pointer;min-height:44px;-webkit-tap-highlight-color:transparent}
  .tabbar svg{width:24px;height:24px}
  .tabbar a.active{color:var(--cyan)}
  .tabbar a:focus-visible,.tabbar button:focus-visible{outline:2px solid currentColor;outline-offset:-4px;border-radius:10px}
  .tabbar .tb-dot{position:absolute;top:3px;left:calc(50% + 6px);min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#ef4444;color:#fff;font:700 10.5px/17px inherit;font-style:normal;text-align:center}
  .tabbar .tb-dot[hidden]{display:none}
  .shell:has(+ .tabbar) .main{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
  #app:has(.tabbar) ~ .toast,body:has(.tabbar) .toast{bottom:calc(78px + env(safe-area-inset-bottom))}
}
/* 0.37.0 edge-to-edge (viewport-fit=cover): keep content clear of the notch in landscape */
body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
/* 0.37.1 in-app notice viewer */
html.doc-open,html.doc-open body{overflow:hidden}
dialog.doc-sheet{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;display:none;flex-direction:column;z-index:2147483000;font-family:inherit;line-height:1.6}
dialog.doc-sheet[open]{display:flex}
dialog.doc-sheet::backdrop{background:rgba(0,0,0,.55)}
.doc-top{display:flex;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top)) calc(14px + env(safe-area-inset-right)) 10px calc(10px + env(safe-area-inset-left));border-bottom:1px solid color-mix(in srgb,currentColor 16%,transparent);background:inherit;position:sticky;top:0}
.doc-top h2{margin:0;font-size:16px;font-weight:700;line-height:1.3;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc-back{appearance:none;display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 14px 0 8px;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);background:color-mix(in srgb,currentColor 7%,transparent);color:inherit;font:600 15px/1 inherit;font-family:inherit;cursor:pointer}
.doc-back svg{width:22px;height:22px}
.doc-back:focus-visible,.doc-back2:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.doc-body{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;padding:18px calc(20px + env(safe-area-inset-right)) 24px calc(20px + env(safe-area-inset-left));outline:none}
.doc-body>*{max-width:720px;margin-left:auto;margin-right:auto}
.doc-body h1,.doc-body .doc-h1{font-size:24px;line-height:1.25;margin:4px auto 8px}
.doc-body h2{font-size:18px;margin:26px auto 6px}.doc-body h3{font-size:16px;margin:20px auto 4px}
.doc-body ul,.doc-body ol{padding-left:22px}.doc-body li{margin:4px 0}
.doc-body a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.doc-body .draft{background:#fff4d6;border:1px solid #e9cf86;color:#5c4400;border-radius:10px;padding:10px 14px;font-size:14px}
.doc-body .meta{opacity:.75;font-size:14px}
.doc-body table{border-collapse:collapse;width:100%;font-size:14px}.doc-body td,.doc-body th{border:1px solid color-mix(in srgb,currentColor 18%,transparent);padding:6px 8px;text-align:left;vertical-align:top}
.doc-body img{max-width:100%;height:auto}
.doc-load{opacity:.7}
.doc-foot{padding:10px calc(16px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));border-top:1px solid color-mix(in srgb,currentColor 16%,transparent);display:flex;justify-content:center}
.doc-back2{appearance:none;min-height:46px;width:100%;max-width:420px;border-radius:12px;border:0;background:currentColor;font:700 15px/1 inherit;font-family:inherit;cursor:pointer}
.doc-back2{background:color-mix(in srgb,currentColor 12%,transparent);color:inherit;border:1px solid color-mix(in srgb,currentColor 25%,transparent)}
@media (min-width:900px){dialog.doc-sheet{inset:4vh auto;left:50%;transform:translateX(-50%);width:min(820px,94vw);height:92vh;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.45);overflow:hidden}}

/* 0.38.0 Tattoo & piercing studios */
.bk-cats.pc-tattoo .bk-chips button.gc{background:#121214;border-color:#2e2c2a;color:#f2ede4;box-shadow:0 6px 16px rgba(0,0,0,.35)}
.bk-cats.pc-tattoo .bk-chips button.gc .gc-ph{background:#18181b}
.bk-cats.pc-tattoo .bk-chips button.gc .gc-ph::after{background:linear-gradient(180deg,rgba(18,18,20,0) 48%,rgba(18,18,20,.86) 88%,#121214 100%)}
.bk-cats.pc-tattoo .bk-chips button.gc .lb{color:#f2ede4}
.bk-cats.pc-tattoo .bk-chips button.gc .gc-bar{background:#c8a46a}
.bk-cats.pc-tattoo .bk-chips button.gc:hover{border-color:#5b5246}
.bk-cats.pc-tattoo .bk-chips button.gc:focus-visible{outline-color:#d9b98a}
.bk-cats.pc-tattoo .bk-chips button.gc[aria-pressed="true"]{background:#121214;color:#fff;border-color:#c8a46a;box-shadow:0 0 0 3px rgba(200,164,106,.35),0 8px 20px rgba(0,0,0,.35)}
.bk-cats.pc-tattoo .bk-chips button.gc[aria-pressed="true"] .gc-bar{background:#e2c48f}
body.ind-tattoo .bk-group h2 .gi.gk.pk{background:#18181b}
.tt-closed{display:inline-block;margin:4px 0 2px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;background:#3a1f1b;color:#ffd9cf;border:1px solid #6b3328}
.tt-notify{margin-top:6px;padding:14px;border:1px solid var(--bd,#ddd);border-radius:14px;background:var(--card2,rgba(127,127,127,.06))}
.tt-notify p{margin:0 0 8px;line-height:1.45}
.tt-nmsg{display:block;margin-top:6px;font-size:13px;color:#b42318}
.tt-ok{color:var(--ok,#15803d);font-weight:600}
.tt-form{margin:14px 0 6px;padding-top:12px;border-top:1px solid var(--bd,#e5e5e5)}
.tt-form .bk-h3,.bk-h3{font-size:17px;margin:0 0 10px}
.tt-q{margin:12px 0}
.tt-q>b{display:block;font-size:14px;margin-bottom:6px}
.tt-chips{display:flex;flex-wrap:wrap;gap:6px}
.tt-chip{position:relative;display:inline-flex;cursor:pointer}
.tt-chip input{position:absolute;opacity:0;width:1px;height:1px}
.tt-chip span{display:inline-block;padding:7px 12px;border-radius:999px;border:1px solid var(--bd,#cfcfcf);font-size:14px;line-height:1.2;background:var(--card,#fff);color:var(--ink,#111)}
.tt-chip input:checked+span{background:var(--acc,#111);border-color:var(--acc,#111);color:var(--acc-ink,#fff);font-weight:600}
.tt-chip input:focus-visible+span{outline:2px solid var(--acc,#111);outline-offset:2px}
.tt-none{margin-top:6px}
.tt-two{display:grid;grid-template-columns:1fr;gap:0 12px}
@media (min-width:560px){.tt-two{grid-template-columns:1fr 1fr}}
.tt-thumbs{display:flex;gap:8px;margin-top:6px}
.tt-thumbs img{width:72px;height:72px;object-fit:cover;border-radius:10px;border:1px solid var(--bd,#ddd)}
.tt-sec{border:1px solid var(--bd,#e2e2e2);border-radius:14px;padding:12px 14px;margin:14px 0}
.tt-sec legend{font-weight:700;padding:0 6px}
.tt-care{margin:14px 0;padding:12px 14px;border:1px solid var(--bd,#e2e2e2);border-radius:14px;text-align:left}
.tt-care summary{font-weight:700;cursor:pointer}
.tt-care ol{margin:8px 0 6px 18px;padding:0;line-height:1.5}
.tt-care.sm{margin:8px 0 0;padding:8px 10px;font-size:13px}
.tt-intake{margin-top:8px;padding:10px 12px;border-radius:12px;background:rgba(127,127,127,.08);font-size:13px}
.tt-intake dl{display:grid;grid-template-columns:max-content 1fr;gap:3px 12px;margin:6px 0 0}
.tt-intake dt{color:var(--muted,#666)}
.tt-intake dd{margin:0;white-space:pre-wrap}
.tt-kind{font-weight:700}
.tt-dep{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:600;background:#fff4d6;color:#7a4b00}
.tt-dep.d-received{background:#dcfce7;color:#14532d}.tt-dep.d-waived{background:#e5e7eb;color:#374151}
.tt-refs{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.tt-refs img{width:96px;height:96px;object-fit:cover;border-radius:10px}
.tt-cons{margin-top:8px}.tt-cons summary{cursor:pointer;font-weight:600}
.tt-books{margin-bottom:16px}
.tt-bk{padding:12px 0;border-top:1px solid var(--bd,#e5e5e5)}
.tt-bk:first-of-type{border-top:0}
.tt-bk .t{font-weight:700;margin-bottom:8px}
.tt-bk-f{display:grid;grid-template-columns:1fr;gap:8px}
@media (min-width:760px){.tt-bk-f{grid-template-columns:auto 1fr auto 1.4fr;align-items:end}}
.tt-bk-f label{display:flex;flex-direction:column;gap:4px;font-size:13px}
.tt-bk-f label.chk{flex-direction:row;align-items:center;gap:8px;font-weight:600}
.tt-bk-a{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.tt-wl ul{margin:8px 0 0 18px;font-size:13px}
.tt-refbtn{padding:0;border:0;background:none;cursor:zoom-in;border-radius:10px}
dialog.tt-refview{border:0;border-radius:16px;padding:12px;max-width:min(92vw,900px);background:#111;color:#fff;text-align:center}
dialog.tt-refview::backdrop{background:rgba(0,0,0,.7)}
dialog.tt-refview img{display:block;max-width:100%;max-height:78vh;margin:0 auto 10px;border-radius:10px}
.appt:has(.tt-intake){align-items:start}
.appt select[data-tt-dep]{width:auto;min-width:0;max-width:100%;padding-top:6px;padding-bottom:6px}
@media (min-width:900px){.appt:has(.tt-intake){grid-template-columns:110px minmax(0,1fr) minmax(0,300px)}.appt:has(.tt-intake)>:last-child{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}}
/* 0.39.0 text reminder opt-in */
.bk-check.bk-sms small{display:block;margin-top:4px;color:var(--bk-muted,#6b7280);font-size:12.5px;line-height:1.45}

/* 0.39.1 keep the email address on one line in the footer and contact cards (ellipsis + full address on hover only if a screen is narrower than the address) */
.bk-contact a.bk-mail{display:block;min-width:0;white-space:nowrap;overflow-wrap:normal;overflow:hidden;text-overflow:ellipsis}
@media (min-width:421px){.bk-foot .bk-contact li{min-width:auto}.bk-foot .bk-contact a.bk-mail{overflow:visible}}
/* 0.40.0 uniform footer: phone numbers never break; owner footer checklist */
.bk-contact a[href^="tel:"]{white-space:nowrap;overflow-wrap:normal}
.ft-check{border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 14px;margin:4px 0 14px}
.ft-check ul{list-style:none;display:flex;flex-wrap:wrap;gap:4px 16px;margin:6px 0 0;padding:0;font-size:13.5px;color:var(--muted)}
.ft-check li.ok{color:var(--text)}.ft-check.ok{border-color:var(--green)}.ft-check .hint{margin:6px 0 0}

/* 0.46.0 phone drawer scrim, Back button, working hours, plan buttons */
.side-scrim{display:none}
@media (max-width:860px){
  .side-scrim{display:block;position:fixed;inset:0;z-index:49;background:rgba(3,8,20,.55);opacity:0;pointer-events:none;transition:opacity .2s ease;-webkit-tap-highlight-color:transparent}
  .side.open+.side-scrim{opacity:1;pointer-events:auto}
  body.drawer-open{overflow:hidden}
  .side{touch-action:pan-y}
}
.back-btn{display:inline-flex;align-items:center;gap:4px;flex:none}
@media (max-width:520px){.back-btn .back-tx{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
.hours-row{grid-template-columns:110px minmax(0,1fr) minmax(0,1fr)}
.hours-row input[type=time]{width:100%;min-width:0;max-width:100%;box-sizing:border-box;-webkit-appearance:none;appearance:none;text-align:left}
.hours-row input[type=time]::-webkit-date-and-time-value{text-align:left}
@media (max-width:860px){.hours-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 10px}.hours-row label{grid-column:1/-1}}
.pz-act{width:100%;margin:10px 0 4px;justify-content:center}
.pz-act.cur{opacity:1;cursor:default;background:var(--surface2,rgba(255,255,255,.06));border-style:dashed}
.pz-curbadge{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700;background:rgba(34,197,94,.16);color:#22c55e;vertical-align:1px}
.pz-cur-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.pz-soon{font-size:12px;opacity:.85;margin-top:8px}
