/* Zhakey AI Service Copilot — elegant professional theme */
:root{
  --blue:#2f5bff; --blue-dark:#1e44d8; --blue-ink:#1c3370; --blue-soft:#edf1ff;
  --navy:#0a1734; --navy-2:#0f2450;
  --ink:#152036; --muted:#5b6a88; --faint:#8b97ad;
  --line:#e2e8f3; --line-soft:#eef2f9;
  --bg:#f5f8fd; --white:#fff;
  --radius:18px; --radius-s:12px;
  --shadow-sm:0 1px 2px rgba(13,28,70,.05),0 3px 10px rgba(13,28,70,.06);
  --shadow-md:0 2px 6px rgba(13,28,70,.06),0 16px 38px -12px rgba(13,28,70,.18);
  --shadow-lg:0 30px 70px -20px rgba(8,18,45,.35);
  --ease:cubic-bezier(.2,.7,.25,1);
  font-family:'Inter',ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink); font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg)}
::selection{background:#c9d8ff}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.65}
a{color:var(--blue);text-decoration:none}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #9db4ff;outline-offset:3px}
h1,h2,h3,p{margin:0}
h1{font-size:clamp(1.7rem,2.2vw,2.3rem);letter-spacing:-.05em;line-height:1.15;font-weight:750}
h2{font-size:1.55rem;letter-spacing:-.04em;line-height:1.28;font-weight:700}
h3{font-size:1.16rem;letter-spacing:-.025em;line-height:1.4;font-weight:650}
p{margin-top:10px}
.muted{color:var(--muted)}
.caption{font-size:.8rem;color:var(--muted);line-height:1.55}
.eyebrow{font-size:.68rem;letter-spacing:.14em;font-weight:750;color:var(--faint);margin:0 0 12px;text-transform:uppercase}

/* ---------- layout ---------- */
.shell{display:flex;min-height:100vh}
.sidebar{width:252px;position:fixed;inset:0 auto 0 0;background:var(--white);border-right:1px solid var(--line);padding:30px 20px;display:flex;flex-direction:column;z-index:10}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:1.6rem;font-weight:800;letter-spacing:-.05em}
.brandmark{width:44px;height:44px;border-radius:13px;background:linear-gradient(140deg,#3d6bff 0%,#1e44d8 70%,#17339f 100%);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:1.7rem;font-weight:800;line-height:1;box-shadow:0 6px 16px -4px rgba(47,91,255,.5);font-style:normal}
.brand-sub{display:block;font-size:.53rem;letter-spacing:.16em;font-weight:700;margin-top:1px;color:var(--faint)}
.workspace-label{font-size:.62rem;letter-spacing:.14em;color:var(--faint);margin:46px 12px 14px;font-weight:700}
nav{display:grid;gap:6px}
.nav{border:0;background:transparent;display:flex;align-items:center;gap:12px;text-align:left;padding:11px 13px;color:#5d6a86;border-radius:10px;font-size:.9rem;font-weight:550;width:100%;transition:background .15s var(--ease),color .15s var(--ease)}
.nav>span:first-child{font-size:1.25rem;width:24px;text-align:center;opacity:.85}
.nav:hover{background:#f3f6fd;color:var(--ink)}
.nav.active{color:var(--blue-dark);background:linear-gradient(180deg,#eef3ff,#e6edff);font-weight:700;box-shadow:inset 0 0 0 1px #dbe5ff}
.tiny{font-size:.6rem;background:#dce6ff;color:var(--blue-dark);border-radius:5px;padding:2px 6px;margin-left:auto;font-weight:700}
.sidebar-bottom{margin-top:auto;padding-top:36px}
.side-note{padding:20px 16px;background:linear-gradient(180deg,#f7faff,#f1f5fd);border:1px solid var(--line);border-radius:14px}
.mini-symbol{color:var(--blue);display:block;font-size:1.7rem;margin-bottom:8px}
.side-note strong{font-size:.86rem;display:block}
.side-note p{font-size:.8rem;color:var(--muted);margin-bottom:14px}
.text-link{border:0;background:none;color:var(--blue);font-size:.88rem;font-weight:650;padding:0;text-align:left}
.text-link:hover{text-decoration:underline}
.privacy-link{font-size:.75rem;color:var(--faint);display:block;margin:22px 0}
.privacy-link:hover{color:var(--blue)}
.profile{display:flex;align-items:center;gap:11px;border-top:1px solid var(--line);padding-top:20px}
.avatar{width:38px;height:38px;background:linear-gradient(140deg,#e7eeff,#d5e0ff);color:var(--blue-dark);border-radius:50%;display:grid;place-items:center;font-size:.82rem;font-weight:750;flex-shrink:0}
.profile strong{font-size:.83rem;display:block;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile div>span{display:block;font-size:.7rem;color:var(--faint)}
.main-shell{margin-left:252px;flex:1;min-width:0}
.topbar{height:78px;padding:0 42px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.9);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;gap:15px;position:sticky;top:0;z-index:5}
.breadcrumb{font-size:.8rem;color:var(--faint)}
.breadcrumb span{margin:0 12px;color:#c3ccdd}
.breadcrumb strong{font-weight:600;color:var(--ink)}
.header-actions{display:flex;gap:18px;align-items:center}
.local-time{font-size:.75rem;color:var(--faint)}
main{padding:38px 42px 0;max-width:1560px;margin:auto}
.view:not([hidden]){animation:viewIn .45s var(--ease)}
@keyframes viewIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- shared components ---------- */
.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}
.section-head>.pill{flex-shrink:0}
.section-head .muted{font-size:.92rem}
.pill{font-size:.64rem;letter-spacing:.08em;border:1px solid var(--line);background:#fff;border-radius:20px;padding:8px 13px;color:#68748d;font-weight:700;box-shadow:var(--shadow-sm)}
.button{border:1px solid transparent;display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:12px 20px;border-radius:10px;font-size:.875rem;font-weight:650;min-height:44px;transition:transform .15s var(--ease),box-shadow .15s var(--ease),background .15s var(--ease)}
.button:active{transform:translateY(1px)}
.button.primary{background:linear-gradient(180deg,#3d6bff,#2a52ef);color:#fff;box-shadow:0 6px 16px -6px rgba(47,91,255,.55)}
.button.primary:hover{background:linear-gradient(180deg,#335ff5,#1f44d8);box-shadow:0 10px 22px -6px rgba(47,91,255,.6);transform:translateY(-1px)}
.button.secondary{background:#fff;border-color:var(--line);color:var(--ink);box-shadow:var(--shadow-sm)}
.button.secondary:hover{background:#f2f6ff;border-color:#d3ddf5;transform:translateY(-1px)}
.button.small{padding:8px 14px;font-size:.8rem;min-height:38px;border-radius:9px}
.button.light{background:#fff;color:#173171}
.button.light:hover{background:#f0f4ff;transform:translateY(-1px)}
.button.ghost{border-color:#5f79b8;background:#ffffff10;color:#fff}
.button.ghost:hover{background:#ffffff22}
.button.full{width:100%}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}

/* ---------- overview / hero ---------- */
.hero-grid{display:grid;grid-template-columns:1.9fr 1fr;gap:24px}
.hero{background:
  radial-gradient(1100px 480px at 88% -12%, rgba(96,130,255,.38), transparent 62%),
  radial-gradient(800px 420px at -8% 112%, rgba(47,91,255,.28), transparent 60%),
  linear-gradient(135deg,#081231 0%,#0d1f4d 52%,#1a3a92 100%);
  border-radius:var(--radius);color:#fff;overflow:hidden;display:flex;flex-direction:column;position:relative;box-shadow:var(--shadow-lg);border:1px solid #ffffff14}
.hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(#ffffff12 1px,transparent 1px);background-size:26px 26px;mask-image:radial-gradient(70% 90% at 70% 20%,#000 30%,transparent 100%);pointer-events:none}
.hero-content{padding:38px 40px;position:relative;z-index:1}
.hero-tag{display:inline-flex;align-items:center;gap:8px;font-size:.68rem;color:#c9d6ff;letter-spacing:.12em;font-weight:700;background:#ffffff12;border:1px solid #ffffff22;padding:7px 13px;border-radius:20px}
.hero h2{font-size:clamp(1.9rem,2.6vw,2.8rem);line-height:1.14;letter-spacing:-.05em;margin-top:26px;font-weight:750}
.hero p{color:#bcc9e8;max-width:430px;font-size:.92rem;line-height:1.7;margin-top:18px}
.hero-actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.hero-footer{margin-top:auto;display:flex;justify-content:space-between;border-top:1px solid #ffffff1a;background:#06123840;padding:18px 38px;font-size:.7rem;color:#cdd8f2;gap:10px;position:relative;z-index:1;letter-spacing:.02em}
.next-card{padding:28px;display:flex;flex-direction:column;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.next-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.card-top .eyebrow{margin:0}
.square-icon{display:grid;place-items:center;color:var(--blue-dark);border-radius:10px;background:var(--blue-soft);width:36px;height:36px;font-size:1.2rem}
.next-card h3{font-size:1.65rem;line-height:1.25;letter-spacing:-.03em}
.next-card .muted{font-size:.85rem;line-height:1.7}
.session-spec{margin:24px 0;border-top:1px solid var(--line-soft)}
.session-spec div{display:flex;justify-content:space-between;font-size:.79rem;padding:9px 0;gap:12px;border-bottom:1px solid var(--line-soft)}
.session-spec span{color:var(--muted)}
.session-spec strong{font-weight:650}
.next-card .caption{text-align:center;margin-top:12px;font-size:.72rem}
.next-card .button{margin-top:auto}
.subheading{display:flex;align-items:end;justify-content:space-between;margin:36px 0 20px;gap:20px}
.subheading .eyebrow{margin-bottom:8px}
.subheading h2{font-size:1.4rem}
.subheading>span{font-size:.78rem;color:var(--faint)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.service{padding:26px;position:relative;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.service:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.service-icon{height:44px;width:44px;border-radius:12px;display:inline-grid;place-items:center;font-size:1.6rem}
.blue{color:var(--blue-dark);background:var(--blue-soft)}
.purple{color:#6f4bc4;background:#f3edff}
.teal{color:#14807a;background:#e7f6f3}
.service-number{position:absolute;right:26px;top:34px;font-size:.72rem;color:#a3adbf;font-weight:600;letter-spacing:.06em}
.service h3{margin-top:22px;font-size:1.02rem}
.service p{font-size:.84rem;color:var(--muted);line-height:1.75;min-height:66px;margin-bottom:18px}
.service .text-link{font-size:.8rem}
.bottom-strip{margin-top:26px;padding:24px 28px;border:1px solid var(--line);border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;box-shadow:var(--shadow-sm)}
.bottom-strip strong{font-size:.92rem}
.bottom-strip p{font-size:.82rem;margin-top:4px}
footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:24px 0;margin-top:38px;color:#8b96ab;font-size:.73rem}
footer a{color:var(--muted)}
footer a:hover{color:var(--blue)}

/* ---------- chat ---------- */
.chat-layout{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(240px,1fr);gap:24px;align-items:start}
.chat-header{display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--line);padding:20px 24px}
.chat-header .caption{margin:2px 0 0}
.chat-card{overflow:hidden}
.chat-welcome{text-align:center;padding:38px 26px}
.chat-welcome .muted{max-width:440px;margin:12px auto 24px}
.big-star{color:var(--blue);font-size:3rem;display:block;margin:0 0 16px;filter:drop-shadow(0 4px 10px rgba(47,91,255,.3))}
.suggestions{display:flex;justify-content:center;flex-wrap:wrap;gap:9px}
.suggestions button{padding:10px 14px;background:#fff;border:1px solid var(--line);border-radius:10px;font-size:.8rem;color:var(--ink);font-weight:550;box-shadow:var(--shadow-sm);transition:all .15s var(--ease)}
.suggestions button:hover{border-color:var(--blue);color:var(--blue-dark);transform:translateY(-1px)}
#messages{height:400px;overflow:auto;padding:22px;scroll-behavior:smooth}
.message{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem;border-radius:14px;padding:15px 18px;max-width:88%;margin-bottom:14px;background:#f1f4fb;line-height:1.65;animation:viewIn .3s var(--ease)}
.message.user{margin-left:auto;background:linear-gradient(180deg,#3d6bff,#2f5bff);color:#fff;box-shadow:0 6px 14px -6px rgba(47,91,255,.5)}
.message.user .message-label{color:#cdd9ff}
.message-label{display:block;font-size:.68rem;font-weight:750;letter-spacing:.06em;margin-bottom:6px;color:var(--faint)}
#chat-form{border-top:1px solid var(--line);padding:18px 22px;background:#fbfcff}
.composer{display:flex;gap:12px;align-items:flex-end}
.composer textarea{resize:none;margin:0;border-radius:12px}
.composer textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2f5bff22;outline:none}
.consent{display:flex;align-items:flex-start;gap:9px;font-size:.78rem;color:var(--muted);line-height:1.55;margin-bottom:14px}
.consent input{width:16px;min-width:16px;height:16px;margin:3px 0 0;accent-color:var(--blue)}
.chat-aside{padding:30px;height:max-content;position:sticky;top:102px}
.chat-aside h3{font-size:1.42rem;letter-spacing:-.03em}
.chat-aside .muted{font-size:.89rem;margin-bottom:22px}
.chat-aside strong{font-size:.85rem}
hr{border:0;border-top:1px solid var(--line);margin:26px 0}
.chat-aside ol{padding-left:20px;font-size:.83rem;color:var(--muted)}
.chat-aside li{padding:7px 0}

/* ---------- booking ---------- */
.booking-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:26px;align-items:start}
.form-card{padding:32px}
.form-step{display:flex;align-items:center;gap:12px;margin:24px 0 16px}
.form-step:first-child{margin-top:0}
.form-step>span{background:var(--blue-soft);border-radius:8px;color:var(--blue-dark);font-size:.73rem;font-weight:750;padding:6px 10px;letter-spacing:.04em}
.form-step h3{font-size:1.02rem}
label{display:block;font-size:.85rem;font-weight:600;margin:15px 0 7px}
input,textarea,select{display:block;width:100%;padding:12px 14px;border:1px solid #d7deeb;border-radius:10px;background:#fff;color:var(--ink);min-width:0;transition:border-color .15s,box-shadow .15s}
input:focus,textarea:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2f5bff1e;outline:none}
textarea{resize:vertical}
input::placeholder,textarea::placeholder{color:#98a3b8}
select{font-size:.86rem;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235b6a88' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-card>.button{margin-top:22px}
.booking-summary{padding:32px;position:sticky;top:102px}
.booking-summary h3{font-size:1.62rem;margin-top:24px;letter-spacing:-.03em}
.booking-summary .muted{font-size:.88rem}
.check-list{list-style:none;padding:0;margin:24px 0;font-size:.86rem}
.check-list li{padding:9px 0;display:flex;gap:10px;align-items:flex-start}
.check-list li:before{content:'✓';color:#fff;background:linear-gradient(140deg,#3d6bff,#1e44d8);border-radius:50%;width:20px;height:20px;display:inline-grid;place-items:center;font-size:.68rem;font-weight:800;flex-shrink:0;margin-top:2px}
.notice{background:linear-gradient(180deg,#eef3ff,#e7edff);border:1px solid #dbe5ff;padding:17px 18px;border-radius:12px;font-size:.83rem;color:#3c4f7d}

/* ---------- orders ---------- */
.empty{padding:70px 26px;text-align:center;background:#fff;border:1px dashed #c4cfe2;border-radius:var(--radius)}
.empty h2{margin-bottom:6px}
.empty .button{margin-top:22px}
.order{padding:26px;margin-bottom:18px;transition:box-shadow .2s var(--ease)}
.order:hover{box-shadow:var(--shadow-md)}
.order-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}
.order h3{margin:16px 0 6px}
.order-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.85rem;color:var(--muted)}
.order p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.88rem}
.order .button{margin-top:20px}
.status{font-size:.73rem;border-radius:20px;padding:5px 12px;white-space:nowrap;display:inline-block;background:#f0f3fa;color:#526078;font-weight:650}
.status.pending{background:#fff3da;color:#8f5d10}
.status.confirmed{background:#e9efff;color:#2449b8}
.status.completed{background:#e2f6ec;color:#12704e}
.status.cancelled{background:#f9e8ee;color:#9c425a}

/* ---------- admin ---------- */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}
.stat{padding:24px;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.stat span{font-size:.79rem;color:var(--muted);font-weight:550}
.stat strong{display:block;font-size:2.1rem;margin-top:8px;letter-spacing:-.04em;color:var(--navy)}
.admin-card{padding:26px;margin-bottom:24px;overflow:hidden}
.admin-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:20px}
.admin-toolbar h3{margin-right:auto}
.admin-toolbar input{width:250px}
.admin-toolbar select{width:175px}
.table-wrap{overflow:auto;border:1px solid var(--line-soft);border-radius:12px}
table{border-collapse:collapse;width:100%;font-size:.84rem;text-align:left;min-width:680px}
th{color:var(--faint);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:#f7f9fd}
th,td{padding:14px 14px;border-bottom:1px solid var(--line-soft);vertical-align:top}
tr:last-child td{border-bottom:0}
tbody tr{transition:background .12s}
tbody tr:hover{background:#f8faff}
td small{display:block;color:var(--muted);max-width:230px;overflow-wrap:anywhere;font-size:.76rem}
.row-actions{display:flex;gap:8px;flex-wrap:wrap}
.row-actions .button{font-size:.72rem;padding:7px 11px;min-height:33px;border-radius:8px}

/* ---------- feedback ---------- */
.error{color:#b32c46;font-size:.84rem;margin:13px 0;font-weight:550}
.success{color:#12704e;background:#e4f7ee;border:1px solid #bfe8d2;padding:16px 18px;border-radius:12px;margin-top:18px;font-size:.86rem}
dialog{border:1px solid var(--line);border-radius:22px;padding:36px;width:min(470px,calc(100% - 32px));color:var(--ink);box-shadow:var(--shadow-lg);max-height:90vh;overflow:auto}
dialog::backdrop{background:#0a173bd9;backdrop-filter:blur(6px)}
dialog>.brandmark{margin-bottom:26px}
dialog .eyebrow{margin-bottom:10px}
dialog h2{font-size:1.65rem;letter-spacing:-.04em}
dialog>.muted{font-size:.89rem}
dialog .text-link{margin-top:24px;font-size:.83rem}
dialog input{margin-top:2px}
.close-dialog{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:1.7rem;color:var(--faint);width:40px;height:40px;border-radius:10px;transition:background .15s}
.close-dialog:hover{background:#f0f3fa;color:var(--ink)}
.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}
#toast{position:fixed;bottom:26px;right:26px;max-width:min(430px,calc(100% - 40px));background:var(--navy);color:#fff;border-radius:12px;padding:16px 22px;box-shadow:var(--shadow-lg);z-index:100;font-size:.89rem;animation:viewIn .3s var(--ease)}
.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip:focus{position:fixed;top:6px;left:6px;z-index:99;padding:12px 16px;background:#fff;border-radius:10px;box-shadow:var(--shadow-md)}
[hidden]{display:none!important}
.legal{max-width:820px;background:#fff;border:1px solid var(--line);padding:44px;margin:44px auto;border-radius:20px;box-shadow:var(--shadow-sm)}
.legal h2{margin-top:30px}
.legal p,.legal li{color:var(--muted)}

/* ---------- responsive ---------- */
@media(min-width:1500px){.hero h2{font-size:2.9rem}.hero-content{padding:44px}.service{padding:32px}}
@media(max-width:1150px){
  .sidebar{width:218px;padding:26px 15px}.main-shell{margin-left:218px}main{padding:30px 26px 0}.topbar{padding:0 26px}
  .hero-grid{grid-template-columns:1.6fr 1fr;gap:18px}.hero-content{padding:30px}.hero h2{font-size:2rem}
  .next-card{padding:24px}.hero-footer{padding:16px 26px;flex-wrap:wrap}.section-head>.pill{display:none}
  .service{padding:22px}.service-grid{gap:14px}.chat-layout{grid-template-columns:1fr}.chat-aside{display:none}
  .nav{font-size:.83rem}.side-note{padding:15px}.booking-summary{position:static}
}
@media(max-width:850px){
  .sidebar{position:static;width:100%;padding:16px 20px;border-right:0;border-bottom:1px solid var(--line)}
  .shell{display:block}.brand{font-size:1.4rem}.brandmark{width:36px;height:36px;font-size:1.4rem;border-radius:10px}.brand-sub{font-size:.5rem}
  .workspace-label,.sidebar-bottom{display:none}nav{display:flex;overflow-x:auto;gap:6px;margin-top:18px;padding-bottom:4px}
  .nav{white-space:nowrap;width:auto;flex-shrink:0;font-size:.8rem;padding:9px 13px}.nav>span:first-child{font-size:1rem;width:auto}
  .main-shell{margin-left:0}.topbar{height:66px}.hero h2{font-size:2.05rem}
  .booking-layout{grid-template-columns:1fr}.booking-layout>aside{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  main{padding:24px 18px 0}.topbar{padding:0 18px}.local-time{display:none}
  .breadcrumb{font-size:.72rem}.breadcrumb span{margin:0 7px}.header-actions{gap:8px}
  .section-head{align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:24px}.section-head .muted{font-size:.85rem}
  h1{font-size:1.75rem}.eyebrow{font-size:.62rem}
  .hero-grid{grid-template-columns:1fr}.hero-content{padding:28px 26px}.hero h2{font-size:2rem}.hero p{font-size:.86rem}
  .hero-actions{gap:9px}.hero-actions .button{font-size:.79rem;padding:11px 15px}.hero-footer{font-size:.64rem;gap:10px;padding:16px 26px}
  .next-card{padding:24px}.next-card h3 br{display:none}.next-card h3{font-size:1.32rem}.session-spec{margin:16px 0}
  .service-grid{grid-template-columns:1fr}.service{padding:24px}.service p{min-height:0}.service h3{font-size:1.08rem}.service .text-link{font-size:.85rem}
  .subheading{margin-top:30px}.subheading>span{display:none}.subheading h2{font-size:1.28rem}
  .bottom-strip{padding:22px;align-items:flex-start;flex-direction:column}footer{flex-wrap:wrap;font-size:.7rem}footer>span:nth-child(2){display:none}
  .form-card{padding:22px}.form-columns{grid-template-columns:1fr;gap:0}.chat-header{padding:18px}
  #messages{height:360px;padding:16px}.chat-welcome{padding:16px 6px}.chat-welcome h2{font-size:1.38rem}.chat-welcome p{font-size:.86rem}
  #chat-form{padding:16px}.composer{gap:8px}.composer .button{padding:11px 15px}.composer textarea{font-size:1rem}
  .message{max-width:95%}.order-heading{align-items:flex-start}.order{padding:20px}.admin-card{padding:18px}
  .admin-toolbar input,.admin-toolbar select{width:100%}.legal{padding:26px;margin:20px}.stats-grid{gap:12px}.stat{padding:18px}
  dialog{padding:28px}.consent{flex-wrap:wrap}.consent input{flex-shrink:0}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
