:root{--ink:#292d32;--muted:#7c838a;--line:#e8e9e9;--orange:#e87932;--dark:#c75c1d;--soft:#fff0e5;--warm:#fffaf6;font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--warm)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--warm)}button,input,select,textarea{font:inherit}button,a{cursor:pointer}a{text-decoration:none;color:inherit}[hidden]{display:none!important}.shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:white;border-right:1px solid var(--line);padding:24px 16px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:10px;padding:0 8px 23px}.brand i{font-style:normal;background:var(--soft);color:var(--orange);border-radius:13px;width:40px;height:40px;display:grid;place-items:center;font-size:25px}.brand b{display:block;font:800 19px Manrope,sans-serif}.brand small{font-size:8px;letter-spacing:1.2px;color:#999;font-weight:700}.doctor{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:25px}.doctor i,.profile{width:34px;height:34px;border-radius:50%;background:#ffeadb;color:#c86222;display:grid;place-items:center;font-style:normal;font-weight:800}.doctor b,.doctor small{display:block}.doctor b{font-size:10px}.doctor small{font-size:8px;color:var(--muted);margin-top:3px}.nav-label{font-size:8px;letter-spacing:1.4px;color:#9da1a3;font-weight:700;padding-left:10px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{height:41px;padding:0 11px;border-radius:10px;display:flex;align-items:center;gap:11px;color:#687178;font-size:14px}.sidebar nav a span{font-size:10px;font-weight:600;flex:1}.sidebar nav a:hover,.sidebar nav a.active{background:var(--soft);color:var(--dark)}.sidebar nav em{font-style:normal;background:#f1f1f0;border-radius:9px;padding:3px 6px;font-size:8px}.push{flex:1}.clinic-status{display:flex;gap:8px;background:#f7fbf8;border:1px solid #e4f0e8;border-radius:11px;padding:10px}.clinic-status>i{width:7px;height:7px;background:#43a879;border-radius:50%;margin:3px}.clinic-status b,.clinic-status small{display:block}.clinic-status b{font-size:9px}.clinic-status small{font-size:8px;color:var(--muted);margin-top:3px}.privacy{font-size:8px;color:#969da0;padding-left:6px}.main{margin-left:245px}.main header{height:80px;position:sticky;top:0;background:#ffffffef;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:0 30px;display:flex;align-items:center;justify-content:space-between;z-index:4}.left,.right{display:flex;align-items:center;gap:12px}.left button{display:none;border:0;background:none;font-size:19px}.crumb{font-size:8px;letter-spacing:1.1px;color:#9a9ea1;font-weight:700}.left h1{font:700 19px Manrope,sans-serif;margin:2px 0}.right{gap:13px;font-size:9px;color:#7b8286}.pill{font-size:8px;background:#fff6ed;border:1px solid #f6e2d0;color:#8c6b51;border-radius:18px;padding:7px}.profile{font-size:10px}.content{max-width:1150px;padding:27px 30px 95px;margin:auto}.head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 18px}.head label,.hero label,.orange-text{font-size:8px;letter-spacing:1.35px;color:var(--dark);font-weight:800}.head h2{font:700 23px Manrope,sans-serif;margin:4px 0}.head p{font-size:10px;color:var(--muted);margin:0;line-height:1.5}.btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 12px;font-size:9px;font-weight:700;color:#4b555b;display:inline-block}.btn.primary{background:var(--orange);border-color:var(--orange);color:white}.btn.primary:hover{background:var(--dark)}.btn.soft{background:var(--soft);border-color:#f5dfcf;color:var(--dark)}.hero{background:white;border:1px solid #f1e5dc;border-radius:16px;padding:22px 25px;display:flex;align-items:center;justify-content:space-between;min-height:160px;overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:220px;height:220px;border:1px solid #e5854528;border-radius:50%;right:7%;top:-90px;box-shadow:0 0 0 22px #e5854509,0 0 0 48px #e5854507}.hero>div:first-child{z-index:1;max-width:500px}.hero h2{font:800 24px Manrope,sans-serif;margin:6px 0}.hero p{font-size:10px;line-height:1.6;color:var(--muted);margin:6px 0 13px}.heroart{z-index:1;width:75px;height:75px;border-radius:23px;background:linear-gradient(145deg,#fff1e5,#ffe2ca);display:grid;place-items:center;color:var(--orange);font-size:34px;margin-right:9%;transform:rotate(4deg)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.metrics article,.panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px}.metrics small,.metrics span{display:block;font-size:8px;color:var(--muted)}.metrics strong{display:block;font:700 21px Manrope,sans-serif;margin:9px 0 3px}.metrics .smallvalue{font-size:15px}.cols{display:grid;grid-template-columns:1.4fr .9fr;gap:12px}.panelhead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.panelhead h3,.panel h3{font:700 12px Manrope,sans-serif;margin:0}.panelhead p{font-size:8px;color:var(--muted);margin:4px 0 0}.panelhead a,.linkbtn{font-size:8px;color:var(--dark);font-weight:700}.gap{margin-top:12px}.row{display:flex;align-items:center;gap:9px;padding:10px 0;border-top:1px solid #f0f0ee;font-size:9px}.row:first-child{border-top:0}.rowmain{flex:1}.rowmain b,.rowmain small{display:block}.rowmain small{font-size:8px;color:var(--muted);margin-top:3px}.badge{border-radius:16px;padding:4px 7px;font-size:8px;font-weight:700;white-space:nowrap}.open{background:#e8f6ef;color:#388366}.booked{background:#edf3fb;color:#5b7297}.blocked{background:#f0f0ef;color:#7d8387}.request{background:#fff0e4;color:#a75825}.quick{display:grid;gap:7px}.quick a{display:flex;align-items:center;gap:9px;border:1px solid #eee;border-radius:10px;padding:9px}.quick b{background:var(--soft);color:var(--dark);border-radius:8px;padding:8px}.quick strong,.quick small{display:block}.quick strong{font-size:8px}.quick small{font-size:8px;color:var(--muted);margin-top:3px}.notice{background:#fff8f2;border:1px solid #f0e2d6;border-radius:10px;padding:10px;color:#8d664a;font-size:8px;line-height:1.6;margin-top:12px}.empty{text-align:center;padding:18px;background:#fbfbfa;border-radius:10px;color:var(--muted);font-size:9px}.days{display:flex;gap:6px;overflow:auto;margin:10px 0}.day{min-width:64px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px;text-align:center;color:#788087}.day strong,.day small{display:block}.day strong{font-size:8px}.day small{font-size:8px;margin-top:3px}.day.active{background:var(--orange);color:white;border-color:var(--orange)}.slotlist{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.slotcard{display:flex;justify-content:space-between;align-items:center;gap:6px;border:1px solid var(--line);border-radius:10px;padding:10px}.slotcard b{font-size:9px}.slotcard small{display:block;color:var(--muted);font-size:8px;margin-top:3px}.booking{display:grid;grid-template-columns:1.3fr .8fr;gap:12px;align-items:start}.step{padding:13px 0;border-top:1px solid #eee}.step:first-child{border-top:0;padding-top:0}.step h3{font:700 10px Manrope,sans-serif;margin:0 0 10px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:7px}.choice{border:1px solid var(--line);background:white;border-radius:10px;padding:10px;text-align:left}.choice.selected{border-color:var(--orange);background:#fff8f2}.choice b,.choice small{display:block}.choice b{font-size:9px}.choice small{font-size:8px;color:var(--muted);margin-top:4px}.field{display:grid;gap:5px;font-size:8px;font-weight:700;margin:7px 0}.field small{font-weight:400;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #dfe2e1;border-radius:8px;padding:8px;font-size:9px;background:white;color:var(--ink)}.slotpick{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.slotpick button{border:1px solid var(--line);border-radius:8px;background:white;padding:8px 4px;font-size:8px}.slotpick button.selected{border-color:var(--orange);background:#fff7f0;color:var(--dark)}.slotpick button:disabled{background:#f5f5f4;color:#aaa;text-decoration:line-through}.summary{position:sticky;top:95px}.summary>div:not(.notice){display:flex;justify-content:space-between;gap:8px;border-top:1px solid #eee;padding:9px 0;font-size:8px}.summary small{color:var(--muted)}.summary b{text-align:right}.info,.faqgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.info article,.faq{background:white;border:1px solid var(--line);border-radius:10px;padding:12px}.info small{font-size:7px;letter-spacing:1px;color:#999;font-weight:800}.info b{display:block;font-size:9px;line-height:1.45;margin-top:6px}.faqgrid{grid-template-columns:1fr 1fr}.faq b{font-size:9px}.faq p{font-size:8px;line-height:1.5;color:var(--muted);margin:5px 0 0}.tabs{display:flex;border-bottom:1px solid var(--line);margin:8px 0 12px}.tabs button{border:0;background:none;padding:9px;color:#777;font-size:8px;font-weight:700;border-bottom:2px solid transparent}.tabs button.active{color:var(--dark);border-color:var(--orange)}.tabs i{font-style:normal;margin-left:4px}.inbox{display:flex;justify-content:space-between;gap:10px;background:white;border:1px solid var(--line);border-radius:10px;padding:11px;margin:7px 0}.inboxmain{flex:1}.inboxmain b{font-size:9px}.inboxmain p{font-size:8px;color:#6d767c}.inboxmain small{font-size:7px;color:#999}.settings{display:grid;grid-template-columns:1fr 1fr;gap:8px}.faqedit{display:grid;grid-template-columns:1fr 1.5fr auto;gap:7px;border-top:1px solid #eee;padding:8px 0;font-size:8px}.faqedit span{color:var(--muted)}.faqedit button{border:0;background:none;color:#b55;font-size:15px}.textbtn{font-size:8px;color:var(--dark);font-weight:700;background:none;border:0;padding:6px 0}.assistantintro{display:flex;align-items:center;justify-content:space-between;background:white;border:1px solid #f0e1d5;border-radius:14px;padding:18px;margin-bottom:12px}.assistantintro h2{font:700 17px Manrope,sans-serif;margin:5px 0}.assistantintro p{font-size:9px;line-height:1.5;color:var(--muted);max-width:470px}.scenarios{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.scenario{background:white;border:1px solid var(--line);border-radius:10px;padding:11px}.scenario b{font-size:9px}.scenario p{font-size:8px;color:var(--muted);line-height:1.4;min-height:24px}.fab{position:fixed;right:20px;bottom:17px;border:0;border-radius:22px;background:var(--orange);color:#fff;padding:11px 15px;font-size:9px;font-weight:700;box-shadow:0 7px 20px #be5b2244;z-index:8}.assistant{position:fixed;right:18px;bottom:70px;width:min(360px,calc(100vw - 24px));height:min(550px,calc(100vh - 100px));background:#fff;border:1px solid #eadfd7;border-radius:16px;box-shadow:0 18px 50px #24282c2b;z-index:9;display:flex;flex-direction:column;opacity:0;pointer-events:none;transform:translateY(8px);transition:.18s}.assistant.open{opacity:1;pointer-events:auto;transform:none}.as-head{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--line)}.as-head>i{font-style:normal;width:30px;height:30px;background:var(--soft);color:var(--orange);border-radius:9px;display:grid;place-items:center}.as-head b,.as-head small{display:block;font-size:9px}.as-head small{color:var(--muted);font-size:8px;margin-top:3px}.as-head button{margin-left:auto;border:0;background:none;font-size:20px}.as-intro{margin:10px;padding:9px;border-radius:9px;background:#fff8f2;color:#78624f;font-size:8px;line-height:1.5}.prompts{display:flex;gap:5px;padding:0 10px 8px;overflow:auto}.prompts button{white-space:nowrap;border:1px solid #f1e1d5;border-radius:18px;background:white;color:#98613c;font-size:8px;padding:6px}.messages{flex:1;overflow:auto;padding:8px 10px;display:flex;flex-direction:column;gap:7px}.bubble{max-width:90%;border-radius:10px 10px 10px 3px;background:#f5f6f5;padding:8px;font-size:8px;line-height:1.5;align-self:flex-start}.bubble.user{background:#fff0e4;color:#805133;align-self:flex-end}.as-foot{padding:9px;border-top:1px solid var(--line)}.as-foot form{display:flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}.as-foot input{flex:1;border:0;min-width:0}.as-foot form button{width:34px;border:0;background:var(--orange);color:white}.as-foot small{display:block;color:#999;font-size:7px;margin-top:5px}.dialogbox{position:relative;border:0;padding:22px;border-radius:15px;max-width:min(430px,calc(100vw - 24px));width:100%}dialog::backdrop{background:#22272a66;backdrop-filter:blur(3px)}.dialogbox h2{font:700 18px Manrope,sans-serif;margin:6px 0}.dialogbox p{font-size:9px;color:var(--muted);line-height:1.5}.dialogbox>label:not(.orange-text){display:grid;gap:5px;margin:11px 0;font-size:8px;font-weight:700}.close{position:absolute;right:12px;top:8px;border:0;background:none;font-size:20px}.actions{display:flex;justify-content:flex-end;gap:7px}.toast{position:fixed;bottom:68px;left:50%;transform:translate(-50%,8px);opacity:0;background:#292d32;color:white;border-radius:9px;padding:9px 12px;font-size:8px;z-index:15;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1000px){.sidebar{width:215px}.main{margin-left:215px}.content{padding:22px}.metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.sidebar{transform:translateX(-105%);transition:.2s;width:250px;box-shadow:0 12px 35px #2222}.sidebar.open{transform:none}.main{margin-left:0}.main header{height:70px;padding:0 13px}.left button{display:block}.content{padding:17px 13px 90px}.right #today{display:none}.cols,.booking{grid-template-columns:1fr}.summary{position:static}.slotlist{grid-template-columns:1fr 1fr}.info{grid-template-columns:1fr 1fr}.scenarios{grid-template-columns:1fr 1fr}}@media(max-width:460px){.head{align-items:flex-start;flex-direction:column}.hero{padding:17px}.hero h2{font-size:20px}.heroart{width:55px;height:55px;font-size:25px;margin-right:0}.metrics{gap:6px}.metrics article{padding:10px}.choices,.settings,.faqgrid,.scenarios{grid-template-columns:1fr}.slotpick{grid-template-columns:repeat(3,1fr)}.info{grid-template-columns:1fr}.assistantintro .heroart{display:none}}@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}
/* Soft, pointer-aware feedback that keeps the clinic's calm orange palette. */
button:not(:disabled),a[href],.panel,.metrics article,.quick a,.scenario,.faq,.info article,.slotcard,.inbox,.hero,.assistantintro{transition:transform .2s cubic-bezier(.2,.7,.2,1),box-shadow .2s ease,border-color .2s ease,background-color .2s ease}
@media (hover:hover) and (pointer:fine){
  button:not(:disabled):hover,a[href]:hover{transform:translateY(-2px);box-shadow:0 7px 18px #c9783420}
  button:not(:disabled):active,a[href]:active{transform:translateY(0) scale(.97);transition-duration:.07s}
  .pointer-lit{background-image:radial-gradient(180px circle at var(--spot-x,50%) var(--spot-y,50%),#f4a46c15,transparent 78%);border-color:#f0d7c4}
}
.tap-flash{animation:tap-pulse .42s ease-out}
@keyframes tap-pulse{0%{box-shadow:0 0 0 0 #e8793240}55%{box-shadow:0 0 0 6px #e8793215}100%{box-shadow:0 0 0 0 transparent}}
.cursor-glow{position:fixed;left:0;top:0;width:128px;height:128px;border-radius:50%;pointer-events:none;z-index:10;opacity:0;background:radial-gradient(circle,#f4a46c22 0%,#f4a46c12 38%,transparent 72%);filter:blur(2px);transition:opacity .24s ease;will-change:transform}
body.cursor-on .cursor-glow{opacity:1}
@media (hover:none),(prefers-reduced-motion:reduce){.cursor-glow{display:none!important}.pointer-lit{background-image:none!important}.tap-flash{animation:none!important}}
/* New page sections settle in; selected controls give a visible click response after rerender. */
.content>*{animation:content-arrive .32s cubic-bezier(.2,.7,.2,1) both}
.choice.selected,.day.active,.slotpick button.selected,.tabs button.active{animation:select-pop .3s cubic-bezier(.2,.7,.2,1)}
@keyframes content-arrive{from{opacity:.75;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes select-pop{0%{transform:scale(.96)}68%{transform:scale(1.035)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.content>*,.choice.selected,.day.active,.slotpick button.selected,.tabs button.active{animation:none!important}}
/* Clear date and time controls for appointment requests. */
.booking-days{padding:2px 0 8px;scroll-snap-type:x proximity}
.booking-days .day{min-width:76px;scroll-snap-align:start}
.slot-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}
.slot-heading h3{margin-bottom:4px}
.slot-heading small,.availability-note{font-size:9px;color:var(--muted)}
.period-switch{display:flex;gap:4px;padding:3px;background:#f7f4f1;border-radius:10px}
.period-switch button{border:0;background:transparent;padding:6px 8px;border-radius:7px;color:#74797d;font-size:8px}
.period-switch button.active{background:white;color:var(--dark);box-shadow:0 1px 4px #2221}
.period-switch i{font-style:normal;margin-left:2px}
.slotpick button{min-height:45px}
.slotpick button b,.slotpick button small{display:block}
.slotpick button small{color:var(--muted);font-size:8px;margin-top:3px}
.ai-connection{margin:12px 0;border-color:#f0ded0}
.ai-connection h3{font:700 14px Manrope,sans-serif;margin:5px 0}
.ai-connection p{font-size:10px;color:var(--muted);line-height:1.5;margin:5px 0 12px;max-width:650px}
.ai-connection form{display:flex;align-items:flex-end;gap:10px;max-width:620px}
.ai-connection form .field{flex:1;margin:0}
.ai-connection input{font-size:12px;padding:10px}
.ai-steps{display:flex;align-items:center;gap:12px;margin:10px 0;font-size:9px;color:var(--muted)}
.privacy-note{display:block;margin-top:10px;max-width:720px;color:var(--muted);font-size:8px;line-height:1.5}
.ai-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#43a879;margin-right:8px}
.assistant #assistantConnect{display:inline-block;margin:0 10px 8px}
.assistant #assistantConnect[hidden]{display:none}
@media(max-width:560px){.slot-heading{align-items:flex-start;flex-direction:column}.period-switch{width:100%}.period-switch button{flex:1}.ai-connection form{align-items:stretch;flex-direction:column}.ai-steps{align-items:flex-start;flex-direction:column;gap:8px}}