/* Dentologie-inspired design applied to the real application; layout and API stay intact. */
@font-face{font-family:Doran;src:url('/fonts/Doran-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Doran;src:url('/fonts/Doran-ExtraBold.woff2') format('woff2');font-weight:800;font-display:swap}
:root{--dento-ink:#292622;--dento-cream:#f6f4ef;--dento-white:#fffefa;--dento-mint:#b7dfcd;--dento-pink:#f1c9b7;--dento-yellow:#f8e9b6;--dento-line:#e5e0d7;--bg:#f6f4ef;--cream:#f6f4ef;--cream2:#efede7;--ivory:#fffefa;--card:#fffefa;--surface-2:#f8f6f1;--forest:#292622;--forest2:#292622;--forest3:#403b36;--ink:#292622;--foreground:#292622;--mut:#6c675f;--muted-foreground:#6c675f;--line:#e5e0d7;--border:#e5e0d7;--gold:#45836c;--gold-l:#b7dfcd;--gold-d:#336957;--accent:#45836c;--glass:#fffefa;--glass-b:#e5e0d7;--sh1:0 1px 3px #2926220c;--sh2:0 8px 24px #29262210}
html{background:#f6f4ef}body{font:500 16px/1.85 Doran,Tahoma,sans-serif;background:#f6f4ef;background-image:none;color:#292622}body:before,body:after{display:none!important}h1,h2,h3,h4,b,strong,th,.btn,.brand{font-family:Doran,Tahoma,sans-serif}h1,h2,h3,h4{font-weight:800;line-height:1.38;letter-spacing:-.02em;background-image:linear-gradient(105deg,currentColor 0%,currentColor 40%,color-mix(in srgb,currentColor 72%,#b7dfcd) 50%,currentColor 60%,currentColor 100%);background-size:220% auto;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:dentologie-heading-shimmer 4s ease-in-out infinite}.kicker{letter-spacing:0;direction:rtl;color:#58534d}.sub,.muted,.meta{color:#665f57}a{color:#336957}:focus-visible{outline:3px solid #336957;outline-offset:3px;box-shadow:none}
.btn,.btn.gold,.btn.primary{display:inline-flex;align-items:center;justify-content:center;background:#292622;color:#fffefa;border:1px solid #292622;border-radius:100px;min-height:47px;padding:8px 22px;box-shadow:none;font-weight:500}.btn:hover,.btn.gold:hover,.btn.primary:hover{background:#403b36;border-color:#403b36;box-shadow:none;color:white}.btn.ghost,.btn.outl{color:#292622;background:transparent;border:1px solid #292622;backdrop-filter:none;box-shadow:none}.btn.ghost:hover,.btn.outl:hover{background:#eeece6;color:#292622}.btn.sm{min-height:43px}.btn.danger{background:#fff5f3;color:#8e3a33;border-color:#be847e}.btn.danger:hover{background:#fce9e6;color:#8e3a33}.test-banner{background:#e5efe6;color:#373a33;border-bottom:1px solid #d5e4d6}.test-banner p{white-space:normal;overflow:visible;text-overflow:clip;min-width:0}.test-banner .bx{color:#383b35;border-color:#bfcfbe}
.pub-head,.pub-head.scrolled{background:#f6f4efed;border-bottom:1px solid #e9e4da;backdrop-filter:blur(16px);box-shadow:none;color:#292622}.pub-head .in{max-width:1230px}.pub-head .brand{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;min-width:0}.pub-head .brand-mark,.pub-head .brand-mark span{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:#b7dfcd;color:#314b3b;font:800 23px/1 Doran,Tahoma,sans-serif}.pub-head .brand-copy{display:flex;flex-direction:column;align-items:flex-start;gap:0;line-height:1.25;color:#292622}.pub-head .brand-copy b{font-size:.96rem;font-weight:800;color:#292622}.pub-head .brand-copy small{font-size:.68rem;font-weight:500;color:#635e55;line-height:1.55}.brand img{filter:none}.pub-nav{background:#ebe9e4;border-radius:100px;padding:4px;gap:5px}.pub-nav a:not(.btn){color:#292622;opacity:1;font-weight:500;padding:8px 13px;border-radius:100px}.pub-nav a:not(.btn):hover,.pub-nav a:not(.btn)[aria-current=page]{background:#fffefa;color:#292622;box-shadow:none}.pub-nav a[aria-current=page]:after{display:none}.pub-nav .btn.outl{border:0;background:transparent;color:#292622}.nav-toggle{background:#fffefa;color:#292622;border-color:#e5e0d7}.pub-foot{background:#292622;color:#f7f4ef;padding-block:65px}.pub-foot p,.pub-foot strong{color:#f7f4ef}.pub-foot p{opacity:.85}
.home{max-width:none;padding:0;gap:0;display:block}.home-bar{position:sticky;top:0;z-index:104;max-width:1120px;margin:auto;padding:15px 26px;border-bottom:1px solid #e5e0d7;background:#f6f4efed;backdrop-filter:blur(16px)}.home-bar .brand-mark{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:#b7dfcd;color:#314b3b;font:800 23px/1 Doran,Tahoma,sans-serif}.home-bar .who b{font-weight:800}.home-hero{max-width:none;margin:0;min-height:0;display:block;text-align:center;border-radius:0;background:#f6f4ef;box-shadow:none;color:#292622;padding:105px 20px 85px}.home-hero:before{display:none}.home-hero .overline{font-size:.78rem;color:#645d53;margin:0 auto 13px}.home-hero h1{font-size:clamp(2.5rem,5.2vw,5rem);font-weight:800;line-height:1.35;max-width:1000px;color:#292622;text-shadow:none;letter-spacing:-.03em;margin:0 auto 22px}.home-hero h1 em{font-style:normal;font-weight:800;position:relative;white-space:nowrap}.home-hero h1 em:after{content:'';height:.14em;position:absolute;right:0;left:0;bottom:-.05em;background:#acd9c2;border-radius:50%}.home-hero .home-lead{font-size:1.11rem;color:#665f57;max-width:650px;margin:0 auto 26px;line-height:2}.home-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.home-hero .hero-sub{font-size:.78rem;color:#716b64;margin:15px 0 0}.home .shortcuts{max-width:1120px;margin:0 auto;padding:25px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.home .sc{background:#fffefa;border:1px solid #e5e0d7;box-shadow:none;border-radius:17px;min-height:118px;padding:18px}.home .sc:hover{background:#f2f7f0;box-shadow:none}.home .sc svg{color:#45836c}.home>section:not(.home-hero):not(.doc-card):not(.home-services){background:#b7dfcd;padding:92px max(26px,calc((100vw - 1068px)/2))}.home .sec-h h2{font-size:clamp(2rem,3.9vw,3.7rem)}.home .steps-lux{grid-template-columns:repeat(3,1fr);gap:28px}.home .steps-lux li{display:block;border:0;border-top:1px solid #7aa88e;background:transparent;box-shadow:none;backdrop-filter:none;border-radius:0;padding:12px 0}.home .steps-lux .n{display:block;width:auto;height:auto;background:transparent;border:0;color:#416c58;text-align:start;margin-bottom:14px}.home .steps-lux h3{font-size:1.3rem;font-weight:800}.home .steps-lux p{color:#393632}.home .doc-card{max-width:1120px;margin:auto;padding:92px 26px;background:transparent;border:0;box-shadow:none;backdrop-filter:none;grid-template-columns:110px 1fr;gap:30px}.home .doc-card .temp-doctor-thumb{width:105px;height:105px}.home .doc-card h2{font-size:clamp(2rem,3vw,3rem)}.home-services{background:#f8e9b6;padding:92px max(26px,calc((100vw - 1068px)/2))}.home-services-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}.home-services-head h2{font-size:clamp(2rem,3.9vw,3.7rem);margin:0 0 12px}.home-services-head p{color:#393632;margin:0}.home-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.home-service-card{background:#fffefa;border:1px solid #e4ded5;border-radius:17px;overflow:hidden;min-width:0}.home-service-card .visual{height:175px;position:relative;overflow:hidden;background:#d4e8dd}.home-service-card:nth-child(3n+2) .visual{background:#f7dfc7}.home-service-card .visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.7)}.home-service-card .visual span{position:absolute;bottom:10px;right:10px;background:#fffefaee;padding:3px 9px;border-radius:100px;font-size:.7rem}.home-service-card .body{padding:19px}.home-service-card h3{font-size:1.25rem;margin:0 0 8px}.home-service-card p{font-size:.86rem;color:#625d57;margin:0 0 18px}.home-service-card a{font-size:.86rem;color:#292622;border-bottom:1px solid #292622}.home .hero-meta{max-width:1120px;margin:20px auto;color:#625d57}
.page-pad.wrap{padding-top:68px;padding-bottom:95px}.page-pad>h1,.profile-page h1{font-size:clamp(2rem,3.9vw,3.7rem);font-weight:800}.page-pad>.sub{max-width:670px}.svc-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.svc-row{background:#fffefa;border:1px solid #e5e0d7;border-radius:15px;box-shadow:none;backdrop-filter:none}.svc-row:hover{background:#f8f6f1;box-shadow:none}.svc-row h3{font-weight:800}.svc-row p{color:#625d57}.svc-hero{background:#f6f4ef}.svc-hero h1,.svc-hero .lead,.svc-hero .back,.svc-hero .kgold{color:#292622}.svc-side,.faq details,.case-photo-missing,.clinic-info{background:#fffefa;border-color:#e5e0d7;box-shadow:none;backdrop-filter:none}.svc-copy p,.svc-side p,.reveal-text,.faq details p{color:#504b45}.profile-portrait,.clinic-scene,.svc-photo{box-shadow:none;border-radius:18px}
.book-layout{background:#f6f4ef;border:1px solid #e5e0d7;border-radius:18px;box-shadow:none}.book-banner{background:#b7dfcd;color:#292622;min-height:160px}.book-banner p{color:#3d5547}.book-panel{background:#fffefa;border-radius:0;box-shadow:none}.book-steps li[aria-current=step]{color:#292622;border-color:#292622}.book-steps [aria-current=step] .book-step-num,.book-steps .done .book-step-num{background:#292622}.book-service,.book-calendar,.book-time,.book-selection,.patient-appt-card{background:#fffefa;color:#292622;border-color:#e5e0d7}.book-service[aria-checked=true],.book-time[aria-pressed=true],.book-calendar-day[aria-pressed=true] .book-calendar-number{background:#e4f3e7;border-color:#3d755b;color:#213b2b;box-shadow:none}
.card,.item,.stat,.tbl-wrap,.auth,.cal .day,.chart-wrap,.visit,.picked-row,.faq details,.case-card,details,dialog,.patient-appt-card,.my-rec-next,.my-rec-appt,.my-rec-visit,.my-rec-image,.my-rec-note,.followup-row{background:#fffefa;border:1px solid #e5e0d7;box-shadow:none;backdrop-filter:none}.card,.item,.stat,.auth,.case-card{border-radius:16px}.card:hover,.item:hover{border-color:#b2cdbc;box-shadow:none}.stat{border-top:3px solid #b7dfcd}.stat b{color:#292622}.empty{background:#fffefa;border:1px dashed #9f9c91;color:#5d5851}.chip{background:#fffefa;color:#292622;border-color:#e5e0d7}.chip[aria-pressed=true],.chip[aria-checked=true]{background:#292622;color:#fff;border-color:#292622}.badge.pending,.badge.new,.badge.planned{background:#f8e9b6;color:#654e22}.badge.confirmed,.badge.reviewing,.badge.done,.badge.paid{background:#dcf0dd;color:#27543b}.badge.cancelled,.badge.failed{background:#f7e0dc;color:#793d35}.tbl-wrap{overflow-x:auto}th{background:#f1efe9;color:#46413b}tbody tr:hover{background:#f7f6f2}input,select,textarea{background:#fffefa;color:#292622;border:1px solid #cfc9bf;border-radius:10px}input:focus,select:focus,textarea:focus{border-color:#427e61;box-shadow:0 0 0 3px #b7dfcd88}.field label{color:#292622}dialog{background:#fffefa;color:#292622}dialog::backdrop{background:#1a291e80}.alert.info{background:#eaf4eb;color:#24432e}.toast{background:#292622;color:#fff}
.portal-shell{background:#f6f4ef;color:#292622}.side-nav{background:#f4f2ed;color:#292622;border-inline-end:1px solid #e5e0d7;box-shadow:none}.side-nav .brand,.side-nav .brand span{color:#292622}.side-nav .brand,.side-foot{border-color:#e5e0d7}.side-nav a.nav{color:#4d4942;border-radius:100px}.side-nav a.nav:hover{background:#eae8e0}.side-nav a.nav[aria-current=page]{background:#d9eee0;color:#213c2c}.side-nav details.nav-group{margin:4px 10px;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none}.side-nav details.nav-group summary{list-style:none;cursor:pointer;padding:8px 12px;color:#336957;font-size:1.05rem;font-weight:800}.side-nav details.nav-group summary::-webkit-details-marker{display:none}.side-nav details.nav-group summary::before{content:'⌄';display:inline-block;margin-inline-end:7px;transition:transform .2s ease}.side-nav details.nav-group:not([open]) summary::before{transform:rotate(90deg)}.side-nav .nav-group-items{display:grid;gap:3px}.side-nav .nav-group-items .nav{margin:0;font-size:.85rem}.side-nav .nav-group[open] summary{color:#336957}.side-nav .nav-group-title{display:none}.side-foot small{color:#6b655b}.side-nav .btn,.side-nav .btn.ghost{background:transparent;color:#292622;border-color:#a5a097}.portal-shell .content{background:#f6f4ef;color:#292622}.portal-shell .content>h1{font-weight:800;font-size:clamp(1.6rem,2.5vw,2.7rem)}.portal-top{background:#f6f4efeb;border-color:#e5e0d7}.top-brand,.top-brand b{color:#292622}.top-brand small{color:#625c55}.top-bell{background:#fffefa;border-color:#e5e0d7;color:#292622}.tabbar,.portal-tabbar{background:#fffef9ed;border:1px solid #e5e0d7;box-shadow:0 6px 20px #29262214}.tabbar a,.tabbar button.tab-more{color:#605c54}.tabbar a[aria-current=page],.tabbar button.tab-more[aria-current=page]{background:#e5f1e8;color:#244a35}
@media(max-width:860px){.test-banner{padding:8px 14px;gap:8px;align-items:flex-start}.test-banner .bx{position:static;transform:none;flex:none;margin:0;width:30px;height:30px}.pub-nav{background:transparent}.pub-nav.open{background:#f6f4ef;border-inline-end:1px solid #e5e0d7;box-shadow:-12px 0 35px #29262224}.pub-nav.open a,.pub-nav.open a:not(.btn){color:#292622}.pub-menu-scrim:not([hidden]){background:#1b2a2080}.home-bar{padding:14px 18px}.home .shortcuts{grid-template-columns:repeat(2,1fr);padding:16px 18px}.home .sc{min-height:102px}.home-hero{padding:85px 18px 62px}.home-hero h1{font-size:clamp(2.2rem,8vw,3.4rem)}.home-hero .home-lead{font-size:.94rem}.home>section:not(.home-hero):not(.doc-card):not(.home-services),.home-services{padding:65px 18px}.home .steps-lux{grid-template-columns:1fr;gap:14px}.home .doc-card{grid-template-columns:85px 1fr;padding:65px 18px;gap:14px}.home .doc-card .temp-doctor-thumb{width:76px;height:76px}.home-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-services-head{display:block}.home-services-head .btn{margin-top:18px}.svc-list{grid-template-columns:1fr}.book-layout{border-radius:0;border-inline:0}.portal-shell .side-nav{background:#f6f4ef}.portal-top{background:#f6f4efed}}
@media(max-width:520px){.home-hero{padding:58px 18px 52px}.home-hero h1{font-size:clamp(2rem,9vw,2.9rem);line-height:1.5}.home-hero h1 em{white-space:normal}.home-service-grid{grid-template-columns:1fr}.home .doc-card{grid-template-columns:1fr}.home .doc-card .temp-doctor-thumb{width:92px;height:92px}.home-services-head h2,.home .sec-h h2{font-size:2rem}.page-pad.wrap{padding:40px 18px 100px}.book-panel{padding:22px 18px 32px}}
@media(prefers-reduced-motion:reduce){.home-hero *,.btn{transition:none!important}}
/* Admin sees every destination at once; keep the existing grouped menus for other roles. */
.side-nav .side-nav-links{display:grid;gap:4px;padding:8px 10px}
.side-nav .side-nav-links .nav{margin:0}

/* The handoff is private; keep its label and body on separate lines in RTL. */
.billing-work-card{display:grid;gap:8px;text-align:start}
.billing-work-card .row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.billing-work-card p{margin:0}
.billing-work-private,.billing-work-handoff{padding:9px 12px;border-radius:10px;background:#f7f5ee;border:1px solid #e5e0d7;line-height:1.8}
.billing-work-private b,.billing-work-handoff b{display:block;color:#336957;margin-bottom:3px}
.billing-work-private span,.billing-work-handoff span{display:block;white-space:pre-wrap;overflow-wrap:anywhere;unicode-bidi:plaintext}
.billing-work-handoff p{margin:5px 0}

/* Ambient Velaris layer: cream-based, quiet enough behind readable surfaces. */
body:has(.pub-head),body:has(.home-bar){background:#f6f4ef}
.ambient-canvas{position:fixed;inset:0;width:100vw;height:100dvh;z-index:0;pointer-events:none;display:block;background:radial-gradient(ellipse at 20% 22%,#b7dfcd 0%,transparent 52%),radial-gradient(ellipse at 82% 68%,#f1c9b7 0%,transparent 55%),radial-gradient(ellipse at 68% 8%,#f8e9b6 0%,transparent 48%),#f6f4ef;animation:velarisFlow 24s ease-in-out infinite alternate;transform-origin:center}
body:has(.pub-head) .ambient-canvas,body:has(.home-bar) .ambient-canvas{opacity:.28}
body:has(.pub-head) #root>div,body:has(.home-bar) .home{background:transparent;min-height:100dvh}
@keyframes velarisFlow{from{background-position:0 0,0 0,0 0;filter:hue-rotate(0deg)}to{background-position:35px -45px,-40px 20px,28px 38px;filter:hue-rotate(5deg)}}
#root{position:relative;z-index:1}
body>*:not(.ambient-canvas){position:relative;z-index:1}
.home-hero{background:rgba(246,244,239,.72)}
.portal-shell,.portal-shell .content,.svc-hero{background:transparent}
@media(prefers-reduced-motion:reduce){.ambient-canvas{animation:none!important}}

.home-bar{position:sticky;top:0;border-bottom:1px solid #e5e0d7}
@media(max-width:860px){
  body:has(.home-bar).public-menu-open .pub-head{display:none!important}
  .home-bar{max-width:none;background:#f6f4ef;z-index:103}

  body.public-menu-open .pub-head{display:flex!important;position:sticky;top:0;z-index:103;background:#f6f4ef!important;border-bottom:1px solid #e5e0d7!important;box-shadow:none!important}
  body.public-menu-open .pub-head .in{display:flex!important;justify-content:space-between;width:100%;max-width:none;padding-inline:12px}
  body.public-menu-open .pub-head .brand,body.public-menu-open .pub-head .nav-toggle{display:flex!important}
  body.public-menu-open .pub-head .nav-toggle{z-index:104}
  body.public-menu-open .pub-menu-scrim:not([hidden]){background:#29262255;backdrop-filter:none;z-index:100}
  body.public-menu-open .tabbar,body.public-menu-open .bottom-nav{z-index:0;pointer-events:none}
  body.public-menu-open .pub-nav.open{position:fixed;inset:auto 0 auto 0;top:var(--public-menu-top,62px);width:100%;max-height:calc(100dvh - var(--public-menu-top,62px) - 16px);z-index:102;display:flex;flex-direction:column;gap:0;overflow-y:auto;background:#f6f4ef;border:0;border-top:1px solid #e5e0d7;border-bottom:1px solid #e5e0d7;border-radius:0;box-shadow:0 16px 35px #29262220;padding:8px 18px 18px}
  body.public-menu-open .pub-nav.open a,body.public-menu-open .pub-nav.open a:not(.btn){display:flex;align-items:center;justify-content:flex-start;min-height:44px;width:100%;padding:9px 12px;border-bottom:1px solid #e5e0d7;border-radius:0;background:transparent;color:#292622;text-align:start;font-size:.94rem}
  body.public-menu-open .pub-nav.open a[aria-current=page],body.public-menu-open .pub-nav.open a:hover{background:#eaf2e9;color:#292622}
  body.public-menu-open .pub-nav.open a:last-child{border-bottom:0}
}
@media(max-width:860px){
  body:has(.home) .test-banner{display:none!important}
  body:has(.home){overflow:hidden;padding-bottom:0}
  body:has(.home)>.skip{position:absolute}
  body:has(.home) .home-bar{border-bottom:0}
  body:has(.home) .home-hero h1 em:after{display:block;height:11px;width:96%;left:2%;right:2%;bottom:-9px;background:none;border-bottom:4px solid #acd9c2;border-radius:0 0 50% 50%;transform:rotate(-1deg)}
  body:has(.home) .home-bar{padding:8px 14px;min-height:62px}
  body:has(.home) .home{padding-top:30px;min-height:0;display:flex;flex-direction:column;align-items:stretch}
  body:has(.home) .home-bar,body:has(.home) .home .shortcuts{width:100%}
  body:has(.home) .home-hero{flex:1;display:flex;flex-direction:column;justify-content:flex-start;gap:0}
  body:has(.home) .home-hero{padding:18px 16px 18px}
  body:has(.home) .home-hero .overline{margin-bottom:7px;font-size:.7rem}
  body:has(.home) .home-hero h1{font-size:clamp(1.85rem,8vw,2.35rem);line-height:1.28;margin-bottom:12px}
  body:has(.home) .home-hero .home-lead{font-size:.82rem;line-height:1.65;margin-top:10px;margin-bottom:12px}
  body:has(.home) .home-actions{gap:7px}
  body:has(.home) .home-actions .btn{min-height:39px;padding:6px 15px;font-size:.82rem}
  body:has(.home) .home-hero .hero-sub{font-size:.66rem;margin-top:7px}
  body:has(.home) .home .shortcuts{padding:12px 14px;gap:8px}
  body:has(.home) .home .sc{min-height:77px;padding:9px 8px;gap:5px;border-radius:14px}
  body:has(.home) .home .sc svg{width:24px;height:24px}
  body:has(.home) .home .sc span{font-size:.72rem}
}

@media(max-width:520px){
  .home-hero{padding-top:58px}
  .home-hero h1{font-size:clamp(2rem,9vw,2.65rem);line-height:1.38;margin-bottom:26px}
  .home-hero h1 em{display:block;width:max-content;max-width:100%;margin-inline:auto;white-space:nowrap}
  .home-hero h1 em:after{height:11px;width:96%;left:2%;right:2%;bottom:-9px;background:none;border-bottom:5px solid #acd9c2;border-radius:0 0 50% 50%;transform:rotate(-1deg)}
  .home{background:transparent}
  .home-bar{background:transparent;backdrop-filter:none}
  .home-bar .brand-mark{background:#b7dfcd}
  .home-hero{background:transparent}
  .home .shortcuts{background:transparent!important}
}
@media(max-width:860px) and (min-height:651px){
  body:has(.home) .home .shortcuts{margin-top:clamp(0px,calc((100dvh - 667px)*.35),65px)!important}
}
@media(max-width:860px) and (max-height:740px){
  body:has(.home){overflow:auto;padding-bottom:96px}
}
@media(max-width:520px){
  body:has(.home) .home-hero h1{font-size:clamp(1.85rem,8vw,2.35rem);line-height:1.28;margin-bottom:12px}
}
/* The phone composition follows the concept's evenly spaced intro, cards and tabs. */
@media(max-width:520px) and (min-height:741px){
  body:has(.home) .home-hero{padding-top:clamp(32px,5dvh,46px)}
  body:has(.home) .home .shortcuts{margin-top:clamp(14px,2.5dvh,24px)!important;padding:8px 26px;gap:7px}
  body:has(.home) .home .sc{min-height:68px;padding:7px 8px;gap:3px}
  body:has(.home) .home .sc svg{width:22px;height:22px}
}
@media(max-width:520px) and (max-height:740px){
  body:has(.home) .home .shortcuts{margin-top:clamp(0px,2dvh,18px)!important}
  body:has(.home) .home-hero{padding-top:18px}
}
/* Keep the ambient layer continuous; avoid a second cream veil that ends at the page edge. */
body:has(.pub-head):not(:has(.home)) .test-banner{background:transparent;border-bottom:0;box-shadow:none}
/* Booking shares the quiet page surface; the mobile sticky brand needs glass over scrolling cards. */
.pub-head,.pub-head.scrolled{background:transparent;border-bottom:0;box-shadow:none;backdrop-filter:none}
@media(max-width:860px){
  .pub-head{background:transparent;border-bottom:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  .pub-head.scrolled{background:rgba(246,244,239,.86);border-bottom:0;box-shadow:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
}
.book-banner{background:transparent;color:#292622}
.book-banner h2,.book-banner p,.book-banner-icon{color:#292622}
.portal-top.scrolled{background:rgba(246,244,239,.88);border-bottom:1px solid #e5e0d7;box-shadow:0 8px 24px rgba(41,38,34,.08);-webkit-backdrop-filter:blur(18px) saturate(1.15);backdrop-filter:blur(18px) saturate(1.15)}
@media(max-width:860px){
  .portal-top{background:transparent;border-bottom:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  .top-brand .brand-mark{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:#b7dfcd;color:#314b3b;font:800 23px/1 Doran,Tahoma,sans-serif}
  .top-brand .top-brand-copy{display:grid;min-width:0;line-height:1.4}
}
.portal-shell .portal-tabbar{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch;justify-items:stretch;max-width:1120px;margin-inline:auto;width:min(100% - 48px,1120px);padding:5px 12px;gap:4px}
.portal-shell .portal-tabbar>a,.portal-shell .portal-tabbar>button{min-width:0;justify-content:center;text-align:center}
.clinical-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.clinical-catalog-panel{padding:20px}.clinical-catalog-panel h2{margin:0}.clinical-catalog-add{display:flex;gap:10px;margin:16px 0}.clinical-catalog-add .inp{flex:1;min-width:0}.clinical-catalog-list{display:grid;gap:8px}.clinical-catalog-item{padding:10px 13px;border:1px solid #e5e0d7;border-radius:10px;background:#fffefa}
@media(min-width:861px){.portal-shell .portal-tabbar{position:sticky;bottom:18px;border:1px solid #e5e0d7;border-radius:18px;background:rgba(255,254,250,.94);box-shadow:0 10px 28px rgba(41,38,34,.10);backdrop-filter:blur(14px)}}
@media(max-width:860px){.portal-shell .portal-tabbar{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;margin:0;padding:5px 8px}.clinical-catalog-grid{grid-template-columns:1fr}.clinical-catalog-add{align-items:stretch;flex-direction:column}}

.portal-shell .side-nav .brand img{filter:brightness(0);opacity:1}
.portal-shell .side-foot .sidebtn.btn{background:#292622;color:#fffefa;border:1px solid #292622;min-height:47px}
.portal-shell .side-foot .sidebtn.btn:hover{background:#403b36;color:#fffefa;border-color:#403b36}
/* Service detail titles share the same Doran ExtraBold scale as other public titles. */
.svc-hero h1{font-family:Doran,Tahoma,sans-serif;font-weight:800;font-size:clamp(2rem,3.9vw,3.7rem)}
/* Service detail: remove stacked hero and image gutters on phones. */
@media(max-width:860px){
  .svc-hero{padding:0}
  .svc-hero .in{padding:24px 18px 18px}
  .svc-hero .back{margin-bottom:8px}
  .svc-hero + .page-pad.wrap{padding-top:12px}
  .svc-photo{margin:8px 0 10px}
  .svc-main{margin-top:0;padding:8px 0 8px;gap:18px}
}

.svc-copy .acts{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
/* Doctor profile: concise credentials first, then the complete supplied résumé. */
.profile-page{max-width:850px;gap:22px}
.profile-intro{padding:clamp(22px,5vw,42px);border:1px solid #e5e0d7;border-radius:24px;background:#fffefa;text-align:center}
.profile-intro .kicker{font-size:.72rem;color:#617a67}
.profile-intro h1{margin:8px 0 2px}
.profile-specialty{margin:0;color:#292622;font-weight:800}
.profile-english{margin:0;color:#69655e;font-size:.84rem}
.profile-tagline{margin:16px auto 22px;max-width:52ch;color:#504b45}
.profile-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:16px 0;border-block:1px solid #e5e0d7}
.profile-highlights>div{display:grid;align-content:start;gap:3px;padding:3px 8px;border-inline-end:1px solid #e5e0d7}
.profile-highlights>div:last-child{border:0}
.profile-highlights strong{font-size:clamp(.85rem,2.8vw,1.2rem);color:#315e48}
.profile-highlights span{font-size:.72rem;line-height:1.55;color:#625d57}
.profile-jumps{display:grid;gap:0;margin-top:16px;text-align:start}
.profile-jumps button{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:8px 6px;border:0;border-bottom:1px solid #e5e0d7;background:transparent;color:#292622;font:inherit;font-size:.86rem;text-align:start;cursor:pointer}
.profile-jumps button:last-child{border:0}
.profile-jumps button:hover,.profile-jumps button:focus-visible{background:#f2f7f0}
.profile-jumps span{color:#45836c;font-size:1.2rem}
.profile-section{scroll-margin-top:78px;padding:clamp(20px,4vw,34px);border:1px solid #e5e0d7;border-radius:20px;background:#fffefa}
.profile-section h2{margin:0 0 14px;font-size:clamp(1.25rem,4vw,1.7rem)}
.profile-section h3{font-size:1.06rem;margin:24px 0 8px}
.profile-section p{margin:0 0 12px;color:#504b45;line-height:1.9}
.profile-list{margin:0;padding-inline-start:22px;color:#504b45;line-height:1.9}
.profile-list li{margin-block:5px}
.profile-facts{display:grid;gap:12px}
.profile-facts>div{display:grid;gap:3px;padding:12px 16px;border-radius:12px;background:#f6f4ef}
.profile-facts span{color:#625d57}
.profile-section .profile-note{margin-top:16px;padding:12px 16px;border-radius:12px;background:#f1f6f0;color:#31533e}
.profile-publications{margin:0;padding-left:24px;overflow-wrap:anywhere;text-align:left;line-height:1.75}
.profile-publications li+li{margin-top:18px;padding-top:18px;border-top:1px solid #e5e0d7}
.profile-publications strong,.profile-publications cite,.profile-publications span{display:block}
.profile-publications cite{margin:6px 0;font-style:italic}
.profile-license{margin:0;color:#504b45}
.profile-book{justify-self:start}
/* Quiet text glint on every Doran ExtraBold heading, without moving its layout. */
@keyframes dentologie-heading-shimmer{from{background-position:100% center}to{background-position:-100% center}}
@media(prefers-reduced-motion:reduce){h1,h2,h3,h4{animation:none;background-image:none;-webkit-text-fill-color:currentColor}}
@media(max-width:520px){.profile-highlights{gap:0}.profile-highlights>div{padding-inline:5px}.profile-highlights span{font-size:.66rem}}
/* Patient consultation response: clearly differentiated from the request and readable on a phone. */
.consult-request-card{border-radius:18px;padding:18px;min-width:0}
.consult-request-card .row{align-items:flex-start;gap:12px;flex-wrap:wrap}
.consult-answer-toggle{display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap;border:0;background:transparent;color:#336957;font:700 .8rem/1.6 Doran,Tahoma,sans-serif;cursor:pointer;padding:3px 0;text-align:start}
.consult-answer-toggle:hover{text-decoration:underline;text-underline-offset:3px}
.consult-answer-toggle:focus-visible{outline:3px solid #336957;outline-offset:3px;border-radius:5px}
.consult-answer-toggle .badge.answered,.badge.answered{background:#dcf0dd;color:#27543b;border:1px solid #9bccaa}
.consult-answer-panel{margin-top:17px;padding:19px 20px;background:linear-gradient(135deg,#e8f5ec,#f5faf4);border:1px solid #b7dfcd;border-inline-start:4px solid #45836c;border-radius:16px;color:#292622;line-height:2}
.consult-answer-panel[hidden]{display:none}
.consult-answer-kicker{display:inline-block;color:#27543b;font-weight:800;margin-bottom:6px}
.consult-answer-panel p{margin:0 0 7px;overflow-wrap:anywhere}
.consult-answer-panel small{color:#655f56}
@media(max-width:520px){.consult-answer-panel{padding:15px 16px}.consult-request-card{padding:16px}}
@media(prefers-reduced-motion:reduce){.consult-answer-toggle{transition:none}}
/* Dashboard calendar expands to a readable two-month view. */
.dashboard-calendar{min-width:0;margin-top:24px}
.dashboard-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.dashboard-calendar-head h2{margin:0}
.dashboard-calendar-expanded{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;min-width:0}
.dashboard-calendar-expanded .day{min-width:0;min-height:104px;padding:10px;border:1px solid #e5e0d7;border-radius:12px;background:#fffefa;overflow-wrap:anywhere}
.dashboard-calendar-expanded .day.today{border-color:#45836c;background:#eef7f0}
.dashboard-calendar-expanded .day h4{font-size:.83rem;line-height:1.5;margin:0 0 7px;color:#336957}
.dashboard-calendar-expanded .day div{font-size:.74rem;line-height:1.6;border-top:1px solid #e5e0d7;padding-top:5px}
@media(max-width:860px){.dashboard-calendar-expanded{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:520px){.dashboard-calendar-expanded{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.dashboard-calendar-expanded .day{min-height:96px;padding:9px}.dashboard-calendar-head .btn{min-height:40px}}
/* Staff dashboard only: compact clinical timeline, private to authorized roles. */
.portal-shell .dashboard-priorities .stat:first-child{border-top-color:#e7a969}
.portal-shell .clinical-activity{margin-block:26px 30px;padding:clamp(16px,3vw,26px);border:1px solid #e5e0d7;border-radius:20px;background:#fffefa;min-width:0}
.clinical-activity-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:17px}
.clinical-activity-filter{display:flex;flex-wrap:wrap;align-items:end;gap:9px;margin-bottom:15px}
.clinical-activity-filter label{display:grid;gap:5px;font-size:.81rem;font-weight:700;min-width:180px}
.clinical-activity-filter input{max-width:210px;width:100%}
.clinical-activity-filter-feedback{color:#a53636;font-size:.79rem;flex-basis:100%}
.clinical-activity-filter-feedback:empty{display:none}
.clinical-activity-filter-open{background:#f2a23a;color:#111;border-color:#d8881d}
.clinical-activity-filter-open:hover{background:#e8952c;color:#111}
.clinical-activity-filter-done{background:#2f8f5b;color:#fff;border-color:#247348}
.clinical-activity-filter-done:hover{background:#267b4d;color:#fff}
.clinical-activity-heading h2{font-size:clamp(1.25rem,2vw,1.6rem);margin:2px 0 0}
.clinical-activity-heading p{margin:3px 0 0;font-size:.83rem}
.clinical-activity-eyebrow{color:#39755c;font-size:.72rem;font-weight:800}
.clinical-activity-list{display:grid;gap:8px}
.portal-shell .clinical-activity-row{margin:0;border:1px solid #e7e3dc;border-radius:13px;background:#fcfbf8;box-shadow:none;min-width:0;overflow:hidden}
.clinical-activity-row[open]{border-color:#add0b9;background:#fffefa}
.clinical-activity-row summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 15px;cursor:pointer;list-style:none}
.clinical-activity-row summary::-webkit-details-marker{display:none}
.clinical-activity-row summary:hover{background:#f2f7f1}
.clinical-activity-badge{border-radius:100px;padding:2px 10px;white-space:nowrap;font-size:.73rem;font-weight:800}
.clinical-activity-badge.plan{background:#fff0dc;color:#885225;border:1px solid #f3d3a8}
.clinical-activity-badge.treatment{background:#e3f3e6;color:#276443;border:1px solid #b7dfc3}
.clinical-activity-main{display:grid;min-width:0;line-height:1.5}
.clinical-activity-main strong{font-size:.93rem;overflow-wrap:anywhere}
.clinical-activity-people{color:#625d57;font-size:.77rem;overflow-wrap:anywhere}
.clinical-activity-date{color:#635c52;font-size:.79rem;white-space:nowrap;direction:ltr}
.clinical-activity-chevron{font-size:1.25rem;color:#45836c;transition:transform .2s}
.clinical-activity-row[open] .clinical-activity-chevron{transform:rotate(180deg)}
.clinical-activity-detail{border-top:1px solid #e5e0d7;padding:12px 16px 16px;color:#49433c;font-size:.85rem;overflow-wrap:anywhere}
.clinical-activity-detail p{margin:0 0 8px;white-space:pre-wrap}
.clinical-activity-teeth{display:grid;gap:6px;margin-top:8px}
.clinical-activity-tooth{display:flex;flex-wrap:wrap;gap:4px 14px;padding:8px 12px;border-radius:8px;background:#f4f6f1}
.clinical-activity-feedback .meta{margin:8px 0}
.clinical-activity-feedback .alert{margin:8px 0}
.clinical-activity-actions{display:flex;justify-content:center;margin-top:13px}
@media(max-width:520px){
  .portal-shell .clinical-activity{padding:15px 12px;margin-block:19px 24px;border-radius:16px}
  .clinical-activity-filter label{flex-basis:100%}
  .clinical-activity-filter input{max-width:none}
  .clinical-activity-row summary{grid-template-columns:auto minmax(0,1fr) auto;gap:7px 9px;padding:12px 10px}
  .clinical-activity-date{grid-column:2;grid-row:2;justify-self:start}
  .clinical-activity-chevron{grid-column:3;grid-row:1 / 3}
  .clinical-activity-badge{padding:2px 7px;font-size:.69rem}
  .clinical-activity-people{font-size:.73rem}
  .clinical-activity-detail{padding:12px}
  .clinical-activity-tooth{display:grid;gap:1px}
}
@media(prefers-reduced-motion:reduce){.clinical-activity-chevron{transition:none}}

/* Before/after editor: constrain every layout track to the dialog's phone-width box. */
dialog.case-editor-dialog{box-sizing:border-box;width:min(680px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);margin:auto;padding:clamp(16px,4vw,26px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.case-editor-content,.case-editor-form,.case-editor-form .field{box-sizing:border-box;width:100%;min-width:0;max-width:none}
.case-editor-form input,.case-editor-form select,.case-editor-form textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%}
.case-editor-form .pick{box-sizing:border-box;width:100%;min-width:0;flex-wrap:wrap;gap:10px}
.case-editor-form .pick-side{flex:1 1 180px;min-width:0}
.case-editor-form .pick-side .meta,.case-editor-form .hint,.case-editor-content .meta{overflow-wrap:anywhere}
.case-image-picker-section{min-width:0}
.case-image-pickers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;min-width:0}
.case-image-pickers>.field{min-width:0;margin:0}
.case-image-pick-hint{margin:6px 0 0;line-height:1.55}
.case-editor-form .pick{position:relative;min-height:88px;align-items:center;flex-wrap:nowrap;padding:10px}
.case-editor-form .pick-prev{width:56px;height:56px}
.case-editor-form .pick-side{flex:1 1 0;min-width:0}
.case-editor-form input.sr{position:absolute;top:0;inset-inline-start:0;width:1px;height:1px;min-width:0;max-width:1px;min-height:0;max-height:1px;line-height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
.case-editor-form .pick:has(input.sr:focus-visible){outline:2px solid var(--forest);outline-offset:2px}
@media(max-width:360px){.case-image-pickers{grid-template-columns:minmax(0,1fr)}}
.case-editor-form .rowacts{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.case-editor-form .rowacts .btn{max-width:100%}

