@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap";:root{--primary: #FFC94D;--primary-hover: #F2B936;--background: #0F1410;--surface: #1B211A;--secondary: #3A331E;--text-primary: #E7E7E1;--text-secondary: #A3A99F;--border: #374237;--success: #69D19B;--warning: #FFD166;--danger: #FF8A8A;--on-danger: #0F1410;--info: #83B9F2;--on-primary: #24271F;--button-primary-background: var(--primary);--button-primary-hover-background: var(--primary-hover);--button-primary-color: var(--on-primary);--button-secondary-background: var(--secondary);--button-secondary-color: var(--text-primary);--button-secondary-border: var(--border);--button-danger-background: color-mix(in srgb, var(--danger) 12%, var(--surface));--button-danger-color: var(--danger);--button-danger-border: color-mix(in srgb, var(--danger) 45%, var(--border));--bg: var(--background);--card: var(--surface);--card2: var(--secondary);--text: var(--text-primary);--muted: var(--text-secondary);--line: var(--border);--line-focus: color-mix(in srgb, var(--primary) 42%, transparent);--accent: var(--primary);--accent-rgb: 255, 201, 77;--accent-text: var(--on-primary);--on-accent: var(--accent-text);--accent-teal: var(--success);--warmth: var(--primary);--error: var(--danger);--error-bg: color-mix(in srgb, var(--danger) 12%, transparent);--error-border: color-mix(in srgb, var(--danger) 48%, transparent);--shadow: 0 12px 28px rgba(0, 0, 0, .18);--maxw: 1200px;--blur: 32px;--surface-border: var(--border);--field-bg: var(--secondary);--bg-landing: var(--bg);--bg-gallery: var(--secondary);--bg-whyus: var(--background);--bg-services: var(--secondary);--bg-doctors: var(--background);--bg-feedback: var(--secondary);--bg-intro: var(--background);--bg-promo: var(--secondary);--text-promo: var(--text-primary);--status-success: var(--success);--status-warning: var(--warning);--status-info: var(--info);--status-violet: #B5A0F4;--status-danger: var(--danger);--status-attention: var(--warning);--font-display: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-nav: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--ease-cinematic: cubic-bezier(.16, 1, .3, 1);--ease-cinematic-heavy: cubic-bezier(.25, 1, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-snap: cubic-bezier(.65, 0, .35, 1);--reveal-dist: 40px}html[data-theme=light]{--primary: #FFC94D;--primary-hover: #F2B936;--background: #FAF9F6;--surface: #FFFFFF;--secondary: #FFF3D6;--text-primary: #1B211A;--text-secondary: #6B7280;--border: #E7E1D3;--success: #18764A;--warning: #8A5B00;--danger: #C62836;--on-danger: #FFFFFF;--info: #245FA0;--on-primary: #27251E;--accent-rgb: 255, 201, 77;--accent-text: var(--on-primary);--on-accent: var(--accent-text);--shadow: 0 8px 24px rgba(31, 41, 35, .08);--field-bg: var(--surface);--bg-landing: var(--background);--bg-gallery: var(--secondary);--bg-whyus: var(--background);--bg-services: var(--secondary);--bg-doctors: var(--background);--bg-feedback: var(--secondary);--bg-intro: var(--background);--bg-promo: var(--primary);--text-promo: var(--text-primary);--status-violet: #6248A8}html[data-theme=blue]{--primary: #6EACDA;--primary-hover: #5598CB;--background: #F4F8FD;--surface: #FFFFFF;--secondary: #DDE6F3;--text-primary: #1B2B3A;--text-secondary: #64748B;--border: #CBD5E1;--success: #18764A;--warning: #8A5B00;--danger: #B42332;--on-danger: #FFFFFF;--info: #245FA0;--on-primary: #15334A;--accent-rgb: 110, 172, 218;--accent-text: var(--on-primary);--on-accent: var(--accent-text);--shadow: 0 8px 24px rgba(32, 63, 86, .08);--field-bg: var(--surface);--bg-landing: var(--background);--bg-gallery: var(--secondary);--bg-whyus: var(--background);--bg-services: var(--secondary);--bg-doctors: var(--background);--bg-feedback: var(--secondary);--bg-intro: var(--background);--bg-promo: var(--secondary);--text-promo: var(--text-primary);--status-violet: #6248A8}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth}body{min-height:100vh;background:var(--background);font-family:var(--font-body);font-weight:400;color:var(--text);position:relative;transition:background-color .6s var(--ease-cinematic),color .6s var(--ease-cinematic)}#root{min-height:100vh;background:transparent}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;letter-spacing:-.03em;line-height:1.1}h1{font-weight:700;letter-spacing:normal}button,input[type=button],input[type=submit],.btn,[class*=btn],[class*=button]{font-family:var(--font-display);font-weight:600;letter-spacing:.01em}nav,nav a{font-family:var(--font-nav);font-weight:500}input,textarea,select{font-family:var(--font-body)}.nav{position:sticky;top:0;z-index:1000;width:100%;background:var(--surface);border-bottom:1px solid var(--line);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%)}.navPromoBanner{width:100%;background:var(--bg-promo);color:var(--text-promo);display:flex;align-items:center;justify-content:center;padding:10px 24px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;text-align:center;border-bottom:1px solid var(--line)}.navInner{display:flex;align-items:center;justify-content:space-between;max-width:var(--maxw);margin:0 auto;padding:0 max(32px,4vw);height:84px}.navInner>.brand{flex:0 0 auto}.navInner>.navMenuShell{flex:0 1 auto;min-width:0;margin-left:auto}.navLinksPrimary{justify-content:flex-end}.navInner>.patientLoginButton{flex:0 0 auto;margin-left:24px}.brand{display:flex;align-items:center;gap:5px;flex:1}.brandLogoImage{width:auto;height:60px;object-fit:contain}.logo-text{font-family:var(--font-nav);font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--text)}.navLinks{display:flex;align-items:center;gap:20px;justify-content:center}.navItem{font-family:var(--font-nav);font-size:14px;font-weight:500;color:var(--muted);padding:8px 4px;background:var(--surface);white-space:nowrap}.navItem:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.navItem.active{color:var(--text);font-weight:700}.navLinksUtility{display:flex;align-items:center;gap:8px;flex:1;justify-content:flex-end}.themeChip{width:32px;height:32px;min-height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);cursor:pointer}.themeChip svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.themeChip .themeDot{width:13px;height:13px;border-radius:50%;background:var(--accent)}.themeChip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.themeChip.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}@media(max-width:860px){.navInner{height:68px;padding:0 20px}.navLinks{display:none}.logo-text{font-size:16px}.brandLogoImage{height:50px}}.container{width:100%!important;max-width:var(--maxw)!important;margin:0 auto!important;padding:0 max(40px,5vw)!important}.grid{display:grid;grid-template-columns:repeat(2,minmax(300px,1fr));gap:32px;margin-top:32px}.spacer{margin-left:auto}.badge{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:6px 16px;border:1px solid var(--line);color:var(--text);background:var(--surface)}.btn{font-family:var(--font-body);font-size:14px;font-weight:600;padding:12px 28px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:transparent;border:1px solid var(--text);color:var(--text);border-radius:8px;transition:background-color .3s var(--ease-cinematic),border-color .3s var(--ease-cinematic),color .3s var(--ease-cinematic)}.btn:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn:active{transform:scale(.97)}.input,.inputPlain,select.input{background:var(--card);border:1px solid var(--line);color:var(--text);padding:14px 18px;font-size:14px;border-radius:8px;transition:border-color .3s var(--ease-cinematic),box-shadow .3s var(--ease-cinematic)}.input:hover{border-color:var(--accent)}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.siteFooter{position:relative;padding:64px 0 40px;border-top:1px solid var(--line);background:var(--surface);overflow:hidden}.siteFooter:before{content:"";position:absolute;top:-1px;left:50%;translate:-50% 0;width:120px;height:2px;background:var(--accent);border-radius:2px}.siteFooterInner{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 max(32px,5vw);display:grid;grid-template-columns:.9fr 1.3fr;align-items:start;gap:40px}.footerLinksGroup{display:flex;flex-direction:column;gap:14px;padding:0}.footerLabel{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.footerLink{position:relative;font-family:var(--font-nav);font-size:14.5px;font-weight:600;letter-spacing:-.01em;color:var(--muted);padding:0;border:none;border-radius:0;background:none;transition:color .25s var(--ease-cinematic)}.footerLink:hover{color:var(--accent);opacity:1}.footerLink:focus-visible{color:var(--accent);outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.footerThemeSwitcher{display:inline-flex;align-items:center;gap:7px}.footerThemeSwitcher .themeChip{width:34px;height:34px;min-height:34px;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--muted)}.footerThemeSwitcher .themeChip svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.footerThemeSwitcher .themeChip:hover:not(.active){background:color-mix(in srgb,var(--text) 5%,var(--bg));color:var(--text)}.footerThemeSwitcher .themeChip.active{border-color:var(--accent);border-radius:50%;background:var(--accent);color:var(--accent-text)}.footerThemeSwitcher .themeChip:focus-visible{outline:2px solid var(--line-focus);outline-offset:2px}.footerCopy{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);opacity:.55;margin:0}.footerBrandGroup{grid-column:1;justify-self:start;align-items:flex-start;text-align:left;gap:22px}.footerLogoRow{display:flex;align-items:center;gap:10px}.footerLogoImg{width:40px;height:40px;object-fit:contain;flex-shrink:0}.footerBrand{display:flex;flex-direction:column;font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:.02em;color:var(--text);margin:0;line-height:1.3}.footerBrandSub{font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.footerContactGroup{grid-column:2;justify-self:start;align-items:flex-start;text-align:left;gap:16px;max-width:320px}.footerContactList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;width:100%}.footerContactItem{display:flex;align-items:flex-start;gap:10px;font-family:var(--font-nav);font-size:13.5px;font-weight:500;line-height:1.4;letter-spacing:-.01em;color:var(--muted);text-align:left}.footerContactItem svg{flex-shrink:0;margin-top:2px;color:var(--accent)}.footerSocialLink{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--card);border:1px solid var(--line);color:var(--muted);margin-top:2px;transition:color .25s var(--ease-cinematic),background-color .25s var(--ease-cinematic)}.footerSocialLink:hover,.footerSocialLink:focus-visible{color:var(--accent);background:var(--surface)}.footerCopyBottom{width:100%;max-width:var(--maxw);margin:48px auto 0;padding:20px max(32px,5vw) 0;border-top:1px solid var(--line);text-align:center}@media(max-width:860px){.siteFooterInner{grid-template-columns:1fr;justify-items:center;text-align:center;gap:36px}.footerBrandGroup,.footerContactGroup{grid-column:1;justify-self:center;align-items:center;text-align:center;max-width:none}.footerLogoRow{justify-content:center}.footerContactItem{justify-content:center;text-align:left}.footerBrandGroup+.footerContactGroup{border-top:1px solid var(--line);padding-top:32px}}@media(prefers-reduced-motion:reduce){html[data-dashboard=true] .adminAppMain .adminSurface *,html[data-dashboard=true] .adminSidebar,html[data-dashboard=true] .adminTopbar *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media(max-width:480px){.siteFooter{padding:56px 0 32px}.footerCopyBottom{margin-top:36px}}.homePage{overflow-x:hidden}.innerWrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.heroEyebrow{display:inline-block;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}section h2{font-family:var(--font-display);font-weight:500;color:var(--text);font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.2}section h2 span{color:var(--accent)}section>.innerWrap>p,.homeWhyUsContent>p,.homeServicesIntro p,.homeDoctorsIntro p{color:var(--muted);font-size:1rem;line-height:1.6;max-width:640px;margin-top:10px}.homeLanding{background:var(--background);padding:clamp(72px,8vw,96px) 0}.homeLandingInner{display:grid;grid-template-columns:.95fr 1.15fr;gap:56px;align-items:center}.homeLandingCopy h1{font-family:var(--font-display);font-weight:500;font-size:clamp(2.4rem,4.5vw,3.6rem);line-height:1.12;color:var(--text);margin:0 0 20px}.homeLandingCopy h1 span{color:var(--accent);font-style:italic}.homeLandingCopy>p{color:var(--muted);font-size:1.05rem;line-height:1.65;max-width:460px;margin-bottom:32px}.homeLandingActions{display:flex;gap:16px;flex-wrap:wrap}.btnPrimary16,.btnOutline16{display:inline-block;padding:15px 30px;border-radius:16px;font-family:var(--font-nav);font-weight:600;font-size:.95rem;text-decoration:none;transition:transform .2s var(--ease-cinematic),opacity .2s var(--ease-cinematic)}.btnPrimary16{background:var(--button-primary-background);color:var(--button-primary-color);border:2px solid var(--button-primary-background)}.btnOutline16{background:var(--button-secondary-background);color:var(--button-secondary-color);border:2px solid var(--button-secondary-border)}.btnPrimary16:hover,.btnOutline16:hover{transform:translateY(-2px)}.homeLandingVisual{position:relative}.homeShowcasePrimary{max-width:520px;margin:0 auto;border-radius:999px 999px 0 0;overflow:hidden}.homeShowcasePrimary img{width:100%;aspect-ratio:5 / 6;height:auto;object-fit:cover;object-position:center;display:block;border-radius:999px 999px 0 0}@media(max-width:860px){.homeLandingInner{grid-template-columns:1fr}}.homeOffers{padding:clamp(40px,5vw,68px) 0;background:var(--surface)}.homeOffersHeading{margin:0 0 clamp(20px,2.4vw,30px);font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.25rem);font-weight:800;line-height:1.1;color:var(--text)}.homeOffersHeadingContent{display:inline-flex;align-items:center;gap:12px}.homeOffersGiftIcon{width:40px;height:40px;flex:0 0 40px;color:var(--accent)}.homeOffersGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:clamp(16px,2vw,24px);min-width:0}.homeOffersGrid.singlePromo{grid-template-columns:minmax(0,min(100%,780px));justify-content:center}.homeOffersGrid.promoCarouselTrack{--promo-card-gap: clamp(16px, 2vw, 24px);display:flex;flex-flow:row nowrap;gap:var(--promo-card-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch}.homeOffersGrid.promoCarouselTrack::-webkit-scrollbar{display:none}.homeOfferCard{min-width:0;padding:0;scroll-snap-align:start}.homeOffersGrid.promoCarouselTrack>.homeOfferCard{flex:0 0 calc((100% - var(--promo-card-gap)) / 2)}.homeOffersGrid.singlePromo>.homeOfferCard{min-width:0}.homeOffers .promoBanner{position:relative;display:grid;grid-template-columns:minmax(0,52fr) minmax(0,48fr);aspect-ratio:1.45 / 1;min-width:0;overflow:hidden;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.homeOffers .promoVisual{position:relative;grid-column:2;grid-row:1;z-index:0;min-width:0;min-height:100%;overflow:hidden;background:var(--surface);isolation:isolate}.homeOffers .promoVisual:before{position:absolute;z-index:1;top:-8%;bottom:-8%;left:-55px;width:110px;content:"";background:var(--accent);border-radius:50%;pointer-events:none}.homeOffers .promoVisual:after{position:absolute;z-index:2;top:-8%;bottom:-8%;left:-64px;width:110px;content:"";background:var(--surface);border-radius:50%;pointer-events:none}.homeOffers .homeOfferImage{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}.homeOffers .homeOfferDiscount{position:absolute;z-index:3;top:14px;right:14px;display:grid;place-content:center;width:clamp(60px,6vw,76px);aspect-ratio:1;padding:6px;font-family:var(--font-display);font-weight:800;font-size:clamp(1rem,1.8vw,1.35rem);line-height:1;text-align:center;color:var(--text);background:var(--surface);border:4px solid var(--accent);border-radius:50%}.homeOffers .homeOfferDiscount[data-long]{font-size:clamp(.78rem,1.4vw,1rem)}.homeOffers .homeOfferDiscount small{margin-bottom:.25em;font-family:var(--font-body);font-weight:700;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase}.homeOffers .homeOfferContent{position:relative;grid-column:1;grid-row:1;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(5px,.8vw,10px);min-width:0;padding:clamp(16px,2vw,28px);background:var(--surface)}.homeOffers .promoLabel{display:inline-flex;align-items:center;min-height:22px;padding:4px 8px;font-family:var(--font-body);font-weight:700;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:999px}.homeOffers .promoHeadline{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(1.3rem,2.5vw,2rem);line-height:1.04;letter-spacing:-.02em;text-transform:uppercase;text-wrap:balance;color:var(--text)}.homeOffers .promoHeadline span{color:var(--accent)}.homeOffers .promoScript{margin:0;font-family:Segoe Script,Bradley Hand,Brush Script MT,cursive;font-weight:600;font-size:clamp(.95rem,1.5vw,1.2rem);line-height:1.3;color:var(--text);white-space:nowrap}.homeOffers .promoTaglineUnderline{display:block;width:40px;height:3px;background:var(--accent);border-radius:999px}.homeOffers .promoDesc{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:42ch;margin:0;font-family:var(--font-body);font-size:.78rem;line-height:1.4;color:var(--muted)}.homeOffers .promoCategory{display:flex;flex-wrap:wrap;gap:4px 8px;min-width:0;margin:0;padding:0;list-style:none}.homeOffers .promoCategory li{font-family:var(--font-body);font-weight:600;font-size:.62rem;line-height:1.35;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);overflow-wrap:anywhere}.homeOffers .homeOfferContent .btnPrimary16{margin-top:2px;padding:9px 18px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--button-primary-color);background:var(--button-primary-background);border:1px solid var(--button-primary-background);border-radius:999px;transition:transform .2s var(--ease-cinematic),background-color .2s ease;cursor:pointer}.homeOffers .homeOfferContent .btnPrimary16:hover{background:var(--button-primary-hover-background);border-color:var(--button-primary-hover-background)}.homeOffers .homeOfferContent .btnPrimary16:active{transform:scale(.97)}.homeOffers .homeOfferContent .btnPrimary16:focus-visible,.homeOffers .promoSocialLink:focus-visible,.homeOffers .promoPhone:focus-visible,.homeOffers .promoPaginationDot:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.homeOffers .promoFooter{position:relative;display:grid;gap:6px;width:100%;min-width:0;margin-top:auto;padding-top:10px;font-family:var(--font-body);font-size:.72rem;color:var(--muted)}.homeOffers .promoFooter:before{position:absolute;top:0;left:0;width:70%;height:1px;content:"";background:var(--line)}.homeOffers .promoContact{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.homeOffers .promoSocialLink{display:grid;flex:0 0 30px;place-items:center;width:28px;aspect-ratio:1;color:var(--accent);background:var(--surface);border:1px solid var(--accent);border-radius:50%;transition:color .2s ease,background-color .2s ease,border-color .2s ease}.homeOffers .promoSocialLink:hover{color:var(--accent-text);background:var(--accent);border-color:var(--accent)}.homeOffers .promoSocialLink svg{width:50%;height:50%}.homeOffers .promoPhone{min-width:0;font-weight:700;font-size:.72rem;letter-spacing:.02em;color:var(--text);text-decoration:none;overflow-wrap:anywhere}.homeOffers .homeOfferDates{font-family:var(--font-body);font-weight:600;font-size:.68rem;line-height:1.4;color:var(--muted)}.promoPagination{display:flex;justify-content:center;align-items:center;gap:9px;margin-top:18px}.promoPaginationDot{width:8px;height:8px;padding:0;background:var(--line);border:0;border-radius:999px;cursor:pointer;transition:width .2s ease,background-color .2s ease}.promoPaginationDot.active{width:24px;background:var(--accent)}@media(max-width:900px){.homeOffersGrid.promoCarouselTrack>.homeOfferCard{flex-basis:100%}.homeOffers .promoHeadline{font-size:clamp(1.5rem,3vw,2rem)}}@media(max-width:560px){.homeOffers .promoBanner{aspect-ratio:auto;min-height:430px}.homeOffers .promoScript{white-space:normal}.homeOffers .promoFooter{width:100%}}@media(max-width:760px){.homeOffers{padding:38px 0}}@media(max-width:420px){.homeOffersGrid.promoCarouselTrack{--promo-card-gap: 12px}.homeOffers .promoBanner{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}.homeOffers .homeOfferContent{gap:7px;padding:14px 12px}.homeOffers .promoHeadline{font-size:clamp(1.15rem,5vw,1.35rem)}.homeOffers .promoScript{font-size:.92rem;white-space:normal}.homeOffers .promoFooter:before{width:70%}.homeOffers .promoContact{gap:6px}.homeOffers .promoSocialLink{flex-basis:26px;width:26px}.homeOffers .promoPhone{font-size:.65rem}}@media(prefers-reduced-motion:reduce){.homeOffers .homeOfferContent .btnPrimary16,.homeOffers .promoSocialLink,.promoPaginationDot{transition:none}.homeOffers .homeOfferContent .btnPrimary16:active{transform:none}}.homeWhyUs{background:var(--background);padding:clamp(72px,8vw,96px) 0}.homeWhyUsInner{display:grid;grid-template-columns:1fr 1.1fr 1fr;grid-template-rows:auto auto auto auto;column-gap:20px;row-gap:20px}.homeWhyUsContent,.homeWhyUsGrid{display:contents}.homeWhyUsVisual{grid-column:2;grid-row:3 / span 2;padding:0;position:relative;border-radius:28px;overflow:hidden}.homeWhyUsVisual img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;border:none;border-radius:28px}.homeWhyUs .homeWhyUsContent h2{grid-column:1 / -1;grid-row:1;font-family:var(--font-display);font-weight:500;font-size:clamp(1.75rem,3.2vw,2.5rem)!important;line-height:1.15;letter-spacing:-.02em;color:var(--text);margin:0 auto 4px;max-width:24ch;text-align:center;text-wrap:balance}.homeWhyUsContent h2 span{background:none;color:var(--accent);padding:0}.homeWhyUsContent>p{grid-column:1 / -1;grid-row:2;font-size:.9rem;line-height:1.65;color:var(--muted);max-width:52ch;margin:0 auto 28px;text-align:center}.whyUsCard{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:16px;background:color-mix(in srgb,var(--text) 6%,var(--bg-whyus));border:1px solid transparent;border-radius:20px;padding:24px;-webkit-backdrop-filter:none;backdrop-filter:none}.whyUsCard:nth-child(1){grid-column:1;grid-row:3}.whyUsCard:nth-child(2){grid-column:1;grid-row:4}.whyUsCard:nth-child(3){grid-column:3;grid-row:3}.whyUsCard:nth-child(4){grid-column:3;grid-row:4}.homeWhyUsGrid .whyUsCard{transition:opacity .7s var(--ease-cinematic-heavy),transform .7s var(--ease-cinematic-heavy),border-color .25s ease,background-color .25s ease}.homeWhyUsGrid .whyUsCard:hover,.homeWhyUsGrid .whyUsCard:focus-within{border-color:color-mix(in srgb,var(--accent) 50%,transparent);background-color:color-mix(in srgb,var(--accent) 8%,var(--bg-whyus))}.whyUsIcon{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--accent);color:var(--on-accent, #1a1a1a)}.whyUsIcon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.whyUsText h3{font-family:var(--font-body);font-weight:600;font-size:1rem;line-height:1.3;color:var(--text);margin:0 0 6px}.whyUsText p{font-size:.875rem;line-height:1.6;color:var(--muted);margin:0}@media(max-width:860px){.homeWhyUs{padding:72px 0}.homeWhyUsInner{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto}.homeWhyUsVisual{grid-column:1 / -1;grid-row:3}.homeWhyUsVisual img{position:static;height:auto;aspect-ratio:16 / 11}.whyUsCard:nth-child(n){grid-column:auto;grid-row:auto}}@media(max-width:560px){.homeWhyUsInner{grid-template-columns:1fr}.whyUsCard{gap:16px}}.homeGalleryBand{background:var(--surface);padding:clamp(72px,8vw,96px) 0}.homeGalleryIntro{text-align:center;max-width:620px;margin:0 auto 48px}.homeGalleryBand .homeGalleryIntro h2{display:block;font-family:var(--font-display);font-weight:500;font-size:clamp(1.5rem,2.5vw,1.875rem)!important;line-height:1.15;letter-spacing:-.02em;color:var(--text);margin:0 0 12px;text-wrap:balance}.homeGalleryIntro p{margin:0;color:var(--muted)}.homeGalleryGrid{width:100%;overflow:hidden}.homeGalleryTrack{display:flex;width:max-content;animation:homeGalleryScroll 72s linear infinite;will-change:transform}.homeGalleryGrid:hover .homeGalleryTrack{animation-play-state:paused}.homeGallerySequence{--home-gallery-gap: clamp(12px, 1.5vw, 20px);display:flex;flex:0 0 auto;gap:var(--home-gallery-gap);padding-right:var(--home-gallery-gap)}.homeGalleryImage{display:block;width:clamp(180px,22vw,280px);aspect-ratio:4 / 5;flex:0 0 clamp(180px,22vw,280px);object-fit:cover;border-radius:var(--radius, 12px)}@keyframes homeGalleryScroll{to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.homeGalleryGrid{overflow-x:auto;overscroll-behavior-inline:contain}.homeGalleryTrack{animation:none;will-change:auto}.homeGallerySequence[aria-hidden=true]{display:none}}.homeSmile{background:var(--background);padding:clamp(72px,8vw,96px) 0;overflow:hidden}.smileIntro{text-align:center;max-width:620px;margin:0 auto 40px}.homeSmile .smileIntro h2{display:block;font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,3.5vw,2.75rem)!important;line-height:1.15;letter-spacing:-.02em;color:var(--text);margin:0 0 12px;text-wrap:balance}.homeSmile .smileIntro h2 span{color:var(--accent)}.smileIntro p{margin:0;color:var(--muted);font-size:1rem;line-height:1.6}.smileGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.smileCard{min-width:0;margin:0;border:1px solid var(--accent);border-radius:14px;overflow:hidden;background:var(--surface)}.smileComparisonImage{position:relative;width:100%;aspect-ratio:2 / 3;overflow:hidden;border-radius:13px;background:var(--surface)}.smileComparisonImage img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.smileImageLabel{position:absolute;left:10px;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-width:68px;min-height:28px;padding:5px 11px;border-radius:999px;font-family:var(--font-body);font-size:.72rem;font-weight:700;line-height:1;letter-spacing:.04em;text-transform:uppercase}.smileBeforeLabel{top:10px;color:var(--text);background:var(--secondary)}.smileAfterLabel{top:calc(50% + 10px);color:var(--on-accent);background:var(--accent)}@media(max-width:1000px){.smileGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.smileGrid{grid-template-columns:minmax(0,1fr);max-width:420px;margin:0 auto}}@media(max-width:520px){.homeSmile{padding:72px 0}}.homeServices{background:var(--surface);padding:clamp(72px,8vw,96px) 0}.homeServicesIntro{text-align:center;max-width:620px;margin:0 auto 48px}.homeServices .homeServicesIntro h2{display:block;font-family:var(--font-display);font-weight:500;font-size:clamp(1.5rem,2.5vw,1.875rem)!important;line-height:1.15;letter-spacing:-.02em;color:var(--text);margin:0 0 12px;text-wrap:balance}.homeServicesIntro p{margin:0}.homeServicesGrid{display:grid;grid-template-columns:repeat(5,1fr);column-gap:32px;row-gap:0}.serviceCardIcon{display:flex;flex-direction:column;gap:8px;background:none;border:none;border-radius:0;padding:24px 0 36px;text-align:left}.serviceIcon{width:48px;height:48px;display:grid;place-items:center;margin-bottom:16px;border-radius:16px;border:1px solid var(--line)}.serviceIcon img{width:100%;height:100%;object-fit:contain;display:block}.serviceCardIcon h3{font-family:var(--font-body);font-weight:600;font-size:1.125rem;line-height:1.3;color:var(--text);margin:0 0 8px}.serviceCardIcon p{color:var(--muted);font-size:.95rem;line-height:1.6;margin:0}.homeServicesFooter{display:flex;justify-content:center;margin-top:48px}.exploreServicesLink{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-family:var(--font-body);font-weight:600;text-decoration:none}.exploreServicesLink:hover{opacity:1}.exploreServicesLink svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .25s ease}.exploreServicesLink:hover svg{transform:translate(4px)}@media(max-width:1100px){.homeServicesGrid{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.homeServicesGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.homeServices{padding:72px 0}.homeServicesGrid{grid-template-columns:1fr}}.homeDoctors{background:var(--surface);padding:clamp(72px,8vw,96px) 0}.homeDoctorsIntro{text-align:center;max-width:620px;margin:0 auto 48px}.homeDoctors .homeDoctorsIntro h2{display:block;font-family:var(--font-display);font-weight:500;font-size:clamp(1.5rem,2.5vw,1.875rem)!important;line-height:1.15;letter-spacing:-.02em;color:var(--text);margin:0 0 12px;text-wrap:balance}.homeDoctorsIntro p{margin:0}.homeDoctorsGrid{display:flex;flex-direction:column;gap:24px}.doctorCard{position:relative;display:flex;align-items:center;min-height:220px;background:none;border:none;border-radius:0;overflow:visible}.doctorInfo{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:190px;margin:0;padding:36px 264px 36px 44px;background:var(--accent);border:none;border-radius:20px}.doctorCard.reverse .doctorInfo{padding:36px 44px 36px 264px}.doctorPhoto{position:absolute;top:50%;right:0;transform:translateY(-50%);width:220px;height:220px;margin:0;aspect-ratio:1 / 1;overflow:hidden;border-radius:50%;border:6px solid var(--bg);box-shadow:0 0 0 3px var(--accent)}.doctorCard.reverse .doctorPhoto{right:auto;left:0}.doctorPhoto img{display:block;width:100%;height:100%;object-fit:cover}.doctorInfo h3{font-family:var(--font-body);font-weight:700;font-size:1.25rem;line-height:1.3;color:var(--bg);margin:0 0 4px}.doctorSpecialty{display:block;color:var(--bg);font-family:var(--font-body);font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.04em;padding:0;margin-bottom:12px;border:none}.doctorInfo p{color:var(--bg);font-size:.95rem;line-height:1.6;margin:0;max-width:52ch}@media(max-width:820px){.homeDoctors{padding:72px 0}.doctorCard,.doctorCard.reverse{flex-direction:column;min-height:0}.doctorPhoto,.doctorCard.reverse .doctorPhoto{position:relative;top:auto;left:auto;right:auto;transform:none;width:180px;height:180px;margin-bottom:-90px;z-index:1}.doctorInfo,.doctorCard.reverse .doctorInfo{width:100%;min-height:0;align-items:center;padding:110px 24px 28px;text-align:center}.doctorInfo p{margin:0 auto}}.homeFeedback{background:var(--background);padding:clamp(72px,8vw,96px) 0}.homeFeedbackIntro{text-align:center;margin:0 0 48px}.homeFeedback .homeFeedbackIntro h2{font-family:var(--font-display);font-weight:500;font-size:clamp(1.5rem,2.5vw,1.875rem)!important;line-height:1.05;letter-spacing:-.02em;color:var(--text);max-width:28ch;margin:0 auto;text-wrap:balance}.homeFeedbackGrid{--fb-1: color-mix(in srgb, var(--accent) 30%, var(--bg));--fb-2: var(--card);--fb-3: var(--card2);--fb-4: color-mix(in srgb, var(--accent) 16%, var(--bg));--fb-5: var(--card);--fb-ink: var(--text);display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feedbackCardText{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:20px;min-height:300px;padding:36px 36px 32px;background-color:var(--fb-1);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");border:none;border-radius:12px;color:var(--fb-ink);text-decoration:none}.feedbackCardText:nth-child(5n+1){background-color:var(--fb-1)}.feedbackCardText:nth-child(5n+2){background-color:var(--fb-2)}.feedbackCardText:nth-child(5n+3){background-color:var(--fb-3)}.feedbackCardText:nth-child(5n+4){background-color:var(--fb-4)}.feedbackCardText:nth-child(5n+5){background-color:var(--fb-5)}.feedbackCardText:nth-child(3){border-top-right-radius:140px}.feedbackCardText:nth-child(4){border-bottom-left-radius:140px}.feedbackStars{display:flex;gap:4px}.feedbackStars svg{width:22px;height:22px;fill:var(--fb-ink);stroke:none}.feedbackQuote{font-family:var(--font-body);font-style:normal;font-weight:400;font-size:1.0625rem;line-height:1.6;color:var(--fb-ink);margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:8;line-clamp:8;overflow:hidden}.feedbackName{font-family:var(--font-mono);font-weight:500;font-size:.85rem;color:var(--fb-ink);opacity:.8}@media(max-width:960px){.homeFeedbackGrid{grid-template-columns:repeat(2,1fr)}.feedbackCardText:nth-child(n){border-radius:12px}.feedbackCardText:nth-child(2){border-top-right-radius:100px}.feedbackCardText:nth-child(5){border-bottom-left-radius:100px}}@media(max-width:620px){.homeFeedback{padding:72px 0}.homeFeedbackGrid{grid-template-columns:1fr}.feedbackCardText{min-height:0;padding:28px 24px}.feedbackCardText:nth-child(n){border-radius:12px}.feedbackCardText:nth-child(1){border-top-right-radius:80px}.feedbackCardText:nth-child(4){border-bottom-left-radius:80px}}.homePromo{background:var(--background);color:var(--text);padding:56px 0;border-radius:16px}html[data-theme=light] .homePromo,html[data-theme=blue] .homePromo{background:var(--secondary)}.homePromoInner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.homePromo .homePromoInner p{font-family:var(--font-display);font-weight:500;font-size:1.3rem;line-height:1.25;letter-spacing:-.02em;color:var(--text);max-width:32ch;margin:0;text-wrap:balance}.homePromoInner p>span,.homePromoInner p strong{display:block}.homePromoInner p strong{font-weight:700}.homePromo .homePromoInner>.btnPrimary16{display:inline-flex;align-items:center;justify-content:center;padding:15px 30px;border:0;border-radius:16px;background:var(--button-primary-background);color:#fff}.homePromo .btnPrimary16:hover{opacity:1;background:var(--button-primary-hover-background)}@media(max-width:640px){.homePromo{padding:44px 0}.homePromoInner{flex-direction:column;align-items:flex-start}.homePromo .homePromoInner>.btnPrimary16{align-self:flex-end}}.publicAnimationScope .publicScrollReveal{opacity:0;transform:translateY(12px);transition:opacity .42s var(--ease-cinematic) var(--reveal-delay, 0ms),transform .42s var(--ease-cinematic) var(--reveal-delay, 0ms)}.publicAnimationScope .publicScrollReveal.visible{opacity:1;transform:translateY(0)}.publicAnimationScope img.publicScrollReveal{transition-delay:calc(var(--reveal-delay, 0ms) + 40ms)}.publicAnimationScope .btn:hover:not(:disabled):not(:active),.publicAnimationScope .btnPrimary16:hover,.publicAnimationScope .btnOutline16:hover,.publicAnimationScope .exploreServicesLink:hover svg{transform:none}.homeLandingCopy>:nth-child(2){--reveal-delay: 70ms}.homeLandingCopy>:nth-child(3){--reveal-delay: .14s}.homeLandingCopy>:nth-child(4){--reveal-delay: .21s}.homeLandingVisual img{--reveal-delay: .12s}.homeOffersGrid>.homeOfferCard:nth-child(2){--reveal-delay: 80ms}.homeOffersGrid>.homeOfferCard:nth-child(3){--reveal-delay: .16s}.homeOffersGrid>.homeOfferCard:nth-child(4){--reveal-delay: .24s}.homeWhyUsVisual img{--reveal-delay: 60ms}.homeWhyUsContent>p{--reveal-delay: 60ms}.homeGalleryIntro>:nth-child(2),.smileIntro>:nth-child(2),.homeServicesIntro>:nth-child(2),.homeDoctorsIntro>:nth-child(2),.homeFeedbackIntro>:nth-child(2){--reveal-delay: 60ms}.homePromoInner>:nth-child(2){--reveal-delay: 70ms}.serviceCardIcon:nth-child(2){--reveal-delay: 80ms}.serviceCardIcon:nth-child(3){--reveal-delay: .16s}.serviceCardIcon:nth-child(4){--reveal-delay: .24s}.serviceCardIcon:nth-child(5){--reveal-delay: .32s}.whyUsCard:nth-child(2){--reveal-delay: 40ms}.whyUsCard:nth-child(3){--reveal-delay: 80ms}.whyUsCard:nth-child(4){--reveal-delay: .12s}.homeGalleryCard:nth-child(2),.doctorCard:nth-child(2){--reveal-delay: 50ms}.homeGalleryCard:nth-child(3),.doctorCard:nth-child(3){--reveal-delay: .1s}.homeGalleryCard:nth-child(4){--reveal-delay: .15s}.smileCard:nth-child(2){--reveal-delay: 50ms}.smileCard:nth-child(3){--reveal-delay: .1s}.feedbackCard:nth-child(2){--reveal-delay: 40ms}.feedbackCard:nth-child(3){--reveal-delay: 80ms}.feedbackCard:nth-child(4){--reveal-delay: .12s}.feedbackCard:nth-child(5){--reveal-delay: .16s}.feedbackCard:nth-child(6){--reveal-delay: .2s}.svxCard:nth-child(2){--reveal-delay: 40ms}.svxCard:nth-child(3){--reveal-delay: 80ms}.svxCard:nth-child(4){--reveal-delay: .12s}.svxCard:nth-child(5){--reveal-delay: .16s}.contactInfo .iconRow:nth-child(2){--reveal-delay: 50ms}.contactInfo .iconRow:nth-child(3){--reveal-delay: .1s}.publicAnimationScope.publicPageEnter{animation:publicPageEnter .22s var(--ease-cinematic) both}@keyframes publicPageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes publicPageFadeIn{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.publicAnimationScope .publicScrollReveal{transform:none;transition:opacity .12s ease-out;transition-delay:0ms}.publicAnimationScope img.publicScrollReveal{transition-delay:0ms}.aboutPage .revealOnScroll{--reveal-delay: 0ms}.publicAnimationScope.publicPageEnter{animation:publicPageFadeIn .12s ease-out both}}.svxPage{--svx-card-bg: var(--card2);--svx-card-text: var(--text);--svx-card-border: color-mix(in srgb, var(--text) 35%, transparent);--svx-pill-bg: var(--accent);--svx-pill-text: var(--accent-text);width:100%;max-width:var(--maxw);margin:0 auto;padding:56px max(40px,5vw) 96px;color:var(--text)}.svxHeader{max-width:720px;margin:0 auto 40px;text-align:center}.svxEyebrow{display:inline-block;padding:6px 16px;border:1px solid var(--line);background:rgba(var(--accent-rgb),.06);color:var(--text);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.svxTitle{margin:20px 0 0;font-size:clamp(2rem,4.5vw,3.25rem)}.svxCarousel{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;column-gap:12px;row-gap:18px;width:100%}.svxCarouselArrow{display:grid;width:40px;height:40px;place-items:center;padding:0 0 3px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--text);font:500 25px/1 var(--font-body);cursor:pointer;transition:background-color .18s ease,border-color .18s ease,opacity .18s ease}.svxCarouselArrow:hover:not(:disabled){border-color:var(--accent);background:var(--accent)}.svxCarouselArrow:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.svxCarouselArrow:disabled{opacity:.4;cursor:default}.svxTrack{display:flex;grid-column:2;align-items:stretch;min-width:0;gap:20px;padding:6px 2px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.svxTrack::-webkit-scrollbar{display:none}.svxScrollIndicator{position:relative;grid-column:2;height:3px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,transparent)}.svxScrollIndicatorThumb{position:absolute;top:0;bottom:0;border-radius:inherit;background:var(--accent)}.svxCard{flex:0 0 calc((100% - 40px) / 3);min-width:0;display:flex;flex-direction:column;gap:22px;padding:24px 26px 26px;border:1px solid var(--svx-card-border);border-radius:16px;background:var(--svx-card-bg);color:var(--svx-card-text);text-align:center;scroll-snap-align:start;transition:opacity .42s var(--ease-cinematic) var(--reveal-delay, 0ms),transform .42s var(--ease-cinematic)}.svxCardName{margin:0;font-size:1.15rem;font-weight:700;letter-spacing:.03em;line-height:1.25;text-transform:uppercase}.svxCardMedia{width:100%;aspect-ratio:292 / 199;overflow:hidden;background:color-mix(in srgb,var(--svx-card-text) 8%,transparent)}.svxImg{display:block;width:100%;height:100%;object-fit:cover}.svxImg.isScary{filter:saturate(1.2) contrast(1.05)}.svxCardDesc{display:-webkit-box;margin:0;overflow:hidden;font-size:1.05rem;line-height:1.5;-webkit-box-orient:vertical}.svxCardTypes{margin:-8px 0 0;font-size:.85rem;font-weight:600;opacity:.85}.svxCardPrice{margin:auto 0 0;padding-top:16px;border-top:1px solid color-mix(in srgb,var(--svx-card-text) 18%,transparent);font-size:1.05rem;font-weight:700;line-height:1.4}.svxPill{display:flex;align-items:center;justify-content:center;width:100%;padding:17px 24px;border-radius:999px;background:var(--svx-pill-bg);color:var(--svx-pill-text);font-family:var(--font-display);font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:background-color .3s var(--ease-cinematic),transform .3s var(--ease-cinematic)}.svxPill:hover{background:var(--svx-card-text);color:var(--svx-card-bg)}.svxPill:active{transform:scale(.97)}.svxPill:focus-visible{outline:2px solid var(--svx-card-text);outline-offset:3px}@media(max-width:860px){.svxPage{padding:40px 20px 72px}.svxCard{flex-basis:calc((100% - 20px)/2)}}@media(max-width:560px){.svxCarousel{grid-template-columns:34px minmax(0,1fr) 34px;column-gap:8px;row-gap:14px}.svxCarouselArrow{width:34px;height:34px;font-size:22px}.svxCard{flex-basis:100%}}@media(prefers-reduced-motion:reduce){.svxCard,.svxImg{transition:none}.publicAnimationScope .svxCard.publicScrollReveal{opacity:1;transform:none}}.contactPage{padding-bottom:160px}.contactGrid{display:flex;flex-direction:column;margin-top:40px;margin-bottom:100px}.contactMapCard{width:100vw;margin-left:calc(50% - 50vw);padding:0;border:0;border-radius:0;background:transparent}.contactMapFrame{position:relative;width:100%;height:clamp(380px,62vh,580px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.mapFrame{width:100%;height:100%;border:0;display:block;filter:grayscale(.15) contrast(1.02)}html[data-theme=light] .mapFrame,html[data-theme=blue] .mapFrame{filter:none}.contactInfo{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:44px}.iconRow{display:flex;align-items:center;gap:18px}.iconBubble{flex:0 0 auto;width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.iconRow b{display:block;font-family:var(--font-nav);font-size:15px;font-weight:600;color:var(--text);margin-bottom:2px}.smallMuted{font-size:13.5px;color:var(--muted);line-height:1.65}.contactLink{display:block;text-decoration:none;transition:color .2s ease}@media(hover:hover)and (pointer:fine){.contactLink:hover{color:var(--accent)}}@media(max-width:860px){.contactInfo{grid-template-columns:1fr;gap:22px;margin-top:32px}.contactMapFrame{height:420px}}@media(prefers-reduced-motion:reduce){.iconBubble{transition:none!important}.mascotCurseCollectible{transition:none!important;transform:none!important}}.googleGate{max-width:380px;margin:40px auto;padding:28px 24px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);text-align:center}.googleGateLogo{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:#fff;box-shadow:0 2px 10px #0003;display:grid;place-items:center}.googleGateLogo img{width:32px;height:32px}.googleGateSub{color:var(--muted);font-size:14px;margin:6px 0 18px}.googleGateBtn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--card2);color:var(--text);font-weight:600;cursor:pointer}.googleGateBtn img{width:20px;height:20px}.googleGateDivider{display:flex;align-items:center;gap:12px;margin:18px 0;font-size:12px;color:var(--muted)}.googleGateDivider:before,.googleGateDivider:after{content:"";flex:1;height:1px;background:var(--line)}.googleGatePerks{list-style:none;margin:0 0 16px;padding:0;text-align:left;display:grid;gap:10px;font-size:14px;background:none}.googleGateTerms{font-size:12px;color:var(--muted)}.googleGateTerms a{color:var(--text);font-weight:600;text-decoration:underline}.aboutPage *,.aboutPage *:before,.aboutPage *:after{box-sizing:border-box}.aboutPage{--about-muted: color-mix(in srgb, var(--text) 62%, transparent);--about-tint: color-mix(in srgb, var(--text) 6%, transparent);--about-line: color-mix(in srgb, var(--text) 18%, transparent);--about-ease: cubic-bezier(.2, .7, .2, 1);--about-arch: 50% 50% 24px 24px / 38% 38% 24px 24px;--about-team-gap: 24px}.aboutPage .aboutSection{width:100%;max-width:100%;padding:96px 0 0}.aboutPage .title{margin:0;font-size:clamp(20px,2.2vw,26px);font-weight:600;line-height:1.15;letter-spacing:-.02em;color:var(--text)}.aboutPage .sub{margin:12px 0 0;max-width:42ch;font-size:14px;line-height:1.7;color:var(--about-muted)}.aboutPage .detailLabel{font-size:12px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--about-muted)}.aboutPage .aboutHero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px 80px;align-items:center;padding:56px 0 0}.aboutHeroText{min-width:0}.aboutSince{display:block;margin-bottom:14px;font-size:13px;font-weight:500;color:var(--about-muted);animation:aboutFadeIn .9s var(--about-ease) both}.aboutHeroText h1{margin:0;max-width:20ch;font-size:clamp(28px,4vw,46px);font-weight:600;line-height:1.1;letter-spacing:-.03em;color:var(--text);animation:aboutFadeIn .9s var(--about-ease) .08s both}.aboutHeroStory{display:flex;flex-direction:column;gap:16px;margin-top:24px;max-width:52ch;animation:aboutFadeIn .9s var(--about-ease) .16s both}.aboutHeroStory p{margin:0;font-size:16px;line-height:1.7;color:var(--text)}.aboutPage .aboutHeroText .sub{margin-top:20px;max-width:38ch;font-size:16px}.aboutPhotos{min-width:0}.aboutPhotoFrame{width:100%;max-width:420px;margin-left:auto;aspect-ratio:4 / 5;border-radius:var(--about-arch);overflow:hidden;background:var(--about-tint);animation:aboutReveal 1.1s var(--about-ease) both}.aboutClinicImage{display:block;width:100%;height:100%;max-width:100%;object-fit:cover}.aboutSplit{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:40px 96px;align-items:start}.aboutSplit>*{min-width:0}.aboutSplitIntro{position:sticky;top:96px}.aboutHighlights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:28px}.aboutHighlight{padding-top:16px;border-top:1px solid var(--about-line)}.aboutHighlight strong{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--text)}.aboutTeamGroup{width:100%;min-width:0;margin-top:48px}.aboutPage .aboutTeamGroupLabel{display:block;text-align:center}.aboutTeamGrid{display:flex;flex-wrap:wrap;justify-content:center;gap:36px var(--about-team-gap);width:100%;margin-top:16px}.aboutTeamCard{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;width:calc((100% - 3 * var(--about-team-gap)) / 4);text-align:center}.aboutTeamCardPhoto{width:100%;aspect-ratio:3 / 4;margin-bottom:12px;border-radius:12px;overflow:hidden;background:var(--about-tint)}.aboutTeamCardPhoto img{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center 20%}.aboutTeamCard strong{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--text);overflow-wrap:break-word}.aboutPage .revealOnScroll{--reveal-delay: var(--d, 0ms)}.aboutPolicyList{width:100%}.aboutPolicyItem+.aboutPolicyItem{margin-top:4px}.aboutPolicyItem summary{display:grid;grid-template-columns:150px minmax(0,1fr) 20px;gap:24px;align-items:baseline;padding:14px 0;cursor:pointer;list-style:none}.aboutPolicyItem summary::-webkit-details-marker{display:none}.aboutPolicyItem summary:after{content:"+";font-size:20px;font-weight:400;line-height:1;text-align:right;color:var(--text)}.aboutPolicyItem[open] summary:after{content:"−"}.aboutPolicyItem summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.aboutPolicyItem summary strong{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--text)}.aboutPolicyBody{margin:0;padding:0 44px 18px 174px;font-size:14px;line-height:1.75;color:var(--about-muted);overflow-wrap:break-word}@keyframes aboutFadeIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes aboutReveal{0%{opacity:0;clip-path:inset(12% 0 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}@media(max-width:960px){.aboutPage .aboutSection{padding:72px 0 0}.aboutPage .aboutHero{grid-template-columns:minmax(0,1fr);padding:40px 0 0}.aboutPhotoFrame{max-width:360px;margin-left:0}.aboutSplit{grid-template-columns:minmax(0,1fr);gap:28px}.aboutSplitIntro{position:static}.aboutTeamCard{width:calc((100% - var(--about-team-gap)) / 2)}}@media(max-width:640px){.aboutPage{--about-team-gap: 14px}.aboutPage .aboutSection{padding:56px 0 0}.aboutPage .aboutHero{padding:28px 0 0}.aboutHighlights{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.aboutTeamGroup{margin-top:36px}.aboutTeamGrid{gap:24px var(--about-team-gap)}.aboutPolicyItem summary{grid-template-columns:minmax(0,1fr) 20px;gap:4px 16px;align-items:start}.aboutPolicyItem summary>*{grid-column:1}.aboutPolicyItem summary:after{grid-column:2;grid-row:1 / span 2;align-self:center}.aboutPolicyBody{padding:0 0 18px}}@media(prefers-reduced-motion:reduce){.aboutSince,.aboutHeroText h1,.aboutHeroStory,.aboutPhotoFrame{animation:none}}.authWrap{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:40px 20px;background-color:var(--bg)}.loginCard{width:100%;max-width:420px;padding:36px;border-radius:20px;border:1.5px solid var(--accent);background-color:transparent;box-shadow:none}.loginHeader{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:24px}.pill{display:inline-flex;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:4px 12px}.loginHeader h1{font-size:24px;font-weight:600;color:var(--text);margin:0}.loginHeader p{font-size:13.5px;color:var(--muted);margin:0}.loginForm{display:flex;flex-direction:column;gap:18px}.inputGroup{display:flex;flex-direction:column;gap:8px}.label{font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.radioGroup{display:flex;gap:10px;flex-wrap:wrap}.radioOption{display:flex;align-items:center;gap:8px;padding:10px 14px;background:rgba(var(--accent-rgb),.06);border:1px solid var(--line);border-radius:8px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s ease,border-color .2s ease;flex:1}.radioOption:hover{background:rgba(var(--accent-rgb),.12);border-color:var(--accent)}.radioOption.active{background:rgba(var(--accent-rgb),.15);border-color:var(--accent)}.radioInput{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.customRadio{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--muted);display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.radioOption.active .customRadio{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 2.5px var(--bg)}.radioText{font-size:13px;font-weight:500;color:var(--muted);transition:color .2s ease}.radioOption.active .radioText{color:var(--text)}.input{width:100%;height:44px;padding:0 14px;background:transparent;border:1px solid var(--line);border-radius:10px;color:var(--text);font-size:14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--line-focus)}.authWrap .input{background:transparent}.authWrap .input:-webkit-autofill,.authWrap .input:-webkit-autofill:hover,.authWrap .input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);caret-color:var(--text);transition:background-color 9999s ease-out}.passwordWrapper{position:relative;display:flex;align-items:center;width:100%}.passwordInput{padding-right:44px}.eyeButton{position:absolute;right:12px;background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .2s ease}.eyeButton:hover{color:var(--text)}.eyeButton svg{width:18px;height:18px}.error{font-size:15px;font-weight:600;color:var(--error);background:var(--error-bg);border:1.5px solid var(--error-border);border-radius:10px;padding:14px 16px;text-align:center;display:flex;align-items:center;justify-content:center;gap:10px;animation:shakeError .3s ease-in-out}.error svg{flex-shrink:0}@keyframes shakeError{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.btn{height:44px;border:none;border-radius:10px;font-weight:600;font-size:14px;cursor:pointer;transition:opacity .2s ease,background .2s ease}.btnWide{width:100%;background:var(--button-primary-background);border:1.5px solid var(--button-primary-background);color:var(--button-primary-color)}.btnWide:hover:not(:disabled){background:var(--button-primary-hover-background);border-color:var(--button-primary-hover-background);opacity:1}.btnWide:disabled{opacity:.5;cursor:not-allowed}.btnOutline{background:var(--button-secondary-background);border:1.5px solid var(--button-secondary-border);color:var(--button-secondary-color)}.btnOutline:hover:not(:disabled){background:var(--button-secondary-background);border-color:var(--button-secondary-border)}.btnSolid{background:var(--button-primary-background);border:1.5px solid var(--button-primary-background);color:var(--button-primary-color)}.backButton{background:none;border:none;color:var(--muted);font-size:13px;cursor:pointer;padding:8px;text-align:center;transition:color .2s ease}.backButton:hover{color:var(--text)}.loginFooter{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.authWrap:has(.verificationCard){min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;background:var(--bg)}.authWrap .authCard.verificationCard{width:100%;max-width:440px;padding:32px;border:3px solid var(--accent);border-radius:16px;background:var(--surface);box-shadow:none;color:var(--text);display:flex;flex-direction:column;gap:24px}.verificationCard .verificationHeader{display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left}.verificationCard .verificationHeader h2{margin:0;font-size:25px;font-weight:700;color:var(--text)}.verificationCard .verificationHeader p{margin:0;font-size:13.5px;color:var(--muted)}.verificationCard .verificationHeader strong{font-size:13.5px;font-weight:600;color:var(--text);overflow-wrap:anywhere}.verificationCard .verificationForm{display:flex;flex-direction:column;gap:16px}.verificationCard .inputGroup{display:flex;flex-direction:column;gap:8px}.verificationCard .inputGroup label{font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.verificationCard .verificationDigits{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;width:100%}.verificationCard .verificationDigit{width:100%;min-width:0;height:52px;padding:0;border:1px solid var(--accent);border-radius:9px;background:color-mix(in srgb,var(--accent) 6%,var(--surface));color:var(--text);font-family:var(--font-mono);font-size:22px;font-weight:600;text-align:center;caret-color:var(--accent);outline:none;box-shadow:none;transition:none}.verificationCard .verificationDigit:focus{border:1px solid var(--accent);background:var(--surface);box-shadow:none}.verificationCard .verificationDigit:hover{border:1px solid var(--accent);box-shadow:none;transform:none}.verificationCard .verificationDigit[aria-invalid=true]{border:1px solid var(--accent)}.verificationCard .verificationDigit:disabled{opacity:.65;cursor:not-allowed}.verificationCard .successBanner,.verificationCard .error{padding:10px 14px;border-radius:8px;font-size:13.5px;line-height:1.5;color:var(--text)}.verificationCard .successBanner{border:1px solid color-mix(in srgb,var(--success) 42%,var(--line));background:color-mix(in srgb,var(--success) 9%,var(--surface));color:var(--success)}.verificationCard .error{border:1px solid color-mix(in srgb,var(--danger) 42%,var(--line));background:color-mix(in srgb,var(--danger) 8%,var(--surface));color:var(--danger)}.verificationCard .btn.btnWide{width:100%;height:44px;padding:0 20px;border:1px solid var(--button-primary-background);border-radius:8px;background:var(--button-primary-background);font-size:14px;font-weight:600;color:var(--button-primary-color);cursor:pointer;transition:none;box-shadow:none;transform:none}.verificationCard .btn.btnWide:hover:not(:disabled){filter:none;opacity:1;background:var(--button-primary-background);border-color:var(--button-primary-background);color:var(--button-primary-color);box-shadow:none;transform:none}.verificationCard .btn.btnWide:disabled{opacity:.6;cursor:not-allowed}.verificationCard .textButton,.verificationCard .cancelButton{font:inherit;font-size:13px;font-weight:600;background:transparent;border:0;cursor:pointer;text-align:center;color:var(--muted);padding:8px;transition:none;box-shadow:none;transform:none}.verificationCard .textButton:hover:not(:disabled),.verificationCard .cancelButton:hover{color:var(--muted);background:transparent;box-shadow:none;transform:none}.verificationCard .cancelButton:disabled{opacity:.5;cursor:not-allowed}.verificationCard .textButton:disabled{opacity:.5;cursor:not-allowed}.verificationCard .textButton:focus-visible,.verificationCard .cancelButton:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:480px){.authWrap:has(.verificationCard){padding:20px 14px}.authWrap .authCard.verificationCard{padding:26px 18px}.verificationCard .verificationHeader h2{font-size:22px}.verificationCard .verificationDigits{gap:clamp(5px,2.2vw,8px)}.verificationCard .verificationDigit{height:46px;border-radius:8px;font-size:19px}}.adminMobileBar{display:none;position:sticky;top:0;z-index:1200;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--bg);border-bottom:1px solid var(--line)}.adminMobileBrand{display:flex;align-items:center;gap:10px}.adminMobileBrand .brandLogoImage{height:32px}.adminMobileBrand strong{display:block;font-family:var(--font-nav);font-size:13.5px;font-weight:700;letter-spacing:-.01em;color:var(--text)}.adminMobileBrand span{display:block;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:1px}.menuToggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:38px;height:38px;border-radius:8px;border:1px solid var(--line);background:none;cursor:pointer;transition:border-color .25s ease}.menuToggle:hover{border-color:var(--accent)}.menuToggle span{display:block;width:16px;height:1.5px;border-radius:2px;background:var(--text);transition:transform .3s var(--ease-cinematic),opacity .3s var(--ease-cinematic)}.menuToggle.active span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}.menuToggle.active span:nth-child(2){opacity:0}.menuToggle.active span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}.adminSidebar{position:fixed;top:0;left:0;bottom:0;width:260px;z-index:1100;background:var(--bg);border-right:1px solid var(--line);transform:translate(0);transition:transform .35s var(--ease-cinematic);overflow-y:auto}.adminSidebarInner{display:flex;flex-direction:column;height:100%;padding:28px 18px;gap:16px}.adminSidebarBrand{display:flex;align-items:center;gap:11px;padding:0 4px}.adminSidebarLogo{height:36px;width:auto;object-fit:contain}.adminSidebarBrand strong{display:block;font-family:var(--font-nav);font-size:14.5px;font-weight:700;letter-spacing:-.01em;color:var(--text)}.adminSidebarBrand span{display:block;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:1px}.adminSidebarMeta{padding:0 4px 20px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:3px}.adminSidebarMeta strong{font-family:var(--font-nav);font-size:13px;font-weight:600;color:var(--text)}.adminSidebarMeta p{font-size:11.5px;color:var(--muted);margin:0;word-break:break-word;line-height:1.5}.adminSidebarNav{display:flex;flex-direction:column;gap:2px;flex:1}.adminSidebarLink{position:relative;display:flex;align-items:center;gap:12px;padding:11px 12px 11px 16px;border-radius:0;font-family:var(--font-nav);font-size:13px;font-weight:500;letter-spacing:-.005em;color:var(--muted);border-left:2px solid transparent;transition:none}.adminSidebarLink svg{width:16px;height:16px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.7;transition:opacity .2s ease}.adminSidebarLink:hover,.adminSidebarLink:focus-visible{color:var(--text)}.adminSidebarLink:hover svg,.adminSidebarLink:focus-visible svg{opacity:1}.adminSidebarLink:focus-visible{outline:none;border-left-color:var(--accent);background:transparent}.adminSidebarLink.active{color:var(--on-accent);font-weight:600;border-left-color:var(--accent);background:var(--primary)}.adminSidebarLink.active svg{opacity:1}@media(min-width:861px){.container.adminSurface{margin-left:260px!important;margin-right:0!important;max-width:calc(var(--maxw) + 260px)!important;width:calc(100% - 260px)!important;padding-left:32px!important;padding-top:76px!important}.container.adminSurface.bookingManagementPage,.container.adminSurface.patientListSurface{max-width:none!important}}@media(max-width:860px){.adminMobileBar,.adminMobileBar .menuToggle{display:flex}.adminSidebar{transform:translate(-100%)}.adminSidebar.open{transform:translate(0)}.container.adminSurface{margin-left:0!important;padding-top:24px!important}}@media(max-width:860px){.nav .menuToggle{display:flex;width:44px;height:44px}.navMenuShell{position:fixed;top:68px;left:0;right:0;max-height:0;overflow:hidden;background:var(--bg);border-bottom:1px solid var(--line);transition:max-height .4s var(--ease-cinematic);z-index:999}.navMenuShell.open{max-height:480px}.navLinksPrimary{display:flex!important;flex-direction:column;padding:12px 20px 20px;gap:2px}.navLinksPrimary .navItem{padding:14px 8px;border-bottom:1px solid var(--line);width:100%}}.adminTopbar{position:fixed;top:0;left:260px;right:0;height:72px;display:flex;align-items:center;justify-content:flex-end;padding:0 32px;background:var(--bg);border-bottom:1px solid var(--line);z-index:1000}.accountMenu{position:relative;flex-shrink:0;margin-left:12px}.accountTrigger{display:inline-flex;align-items:center;gap:12px;padding:0;background:none;color:var(--text);border:0;border-radius:0;box-shadow:none;cursor:pointer;text-align:left;font-family:var(--font-display);letter-spacing:0}.accountTrigger:focus-visible .accountAvatar{outline:2px solid var(--accent);outline-offset:2px}.accountTrigger:hover .accountChevron,.accountTrigger.open .accountChevron{color:var(--text)}.accountAvatar{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:transparent;border:2px solid var(--accent);color:var(--accent);font-family:var(--font-display);font-size:16px;font-weight:800;overflow:hidden;flex-shrink:0}.accountAvatar.large{width:52px;height:52px;font-size:20px}.accountAvatar img{width:100%;height:100%;object-fit:cover}.accountMeta{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.2}.accountName{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:700;color:var(--text)}.accountStatus{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-size:12px;font-weight:500;color:var(--muted)}.accountStatus i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 18%,transparent)}.accountChevron{display:inline-flex;color:var(--muted);transition:transform .3s var(--ease-cinematic)}.accountTrigger.open .accountChevron{transform:rotate(180deg)}.accountDropdown{position:absolute;top:calc(100% + 10px);right:0;width:min(300px,calc(100vw - 24px));max-height:calc(100vh - 88px);max-height:calc(100dvh - 88px);overflow-y:auto;padding:6px;background:var(--bg);border:1px solid color-mix(in srgb,var(--line) 82%,var(--text) 18%);border-radius:12px;box-shadow:0 4px 14px #00000014;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease,visibility .12s linear;z-index:1000}.accountDropdown.open{opacity:1;visibility:visible;pointer-events:auto}.accountDropdownHead{display:flex;align-items:center;gap:11px;padding:7px 8px 9px}.accountDropdownInfo{display:flex;flex-direction:column;gap:3px;min-width:0}.accountDropdownInfo strong{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accountRole{color:var(--text);font-size:12px;font-weight:500}.accountEmail{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accountDropdownDivider{height:1px;margin:5px 4px;background:var(--line);opacity:.4}.accountDropdownItem{display:flex;align-items:center;gap:12px;width:100%;padding:9px 10px;background:transparent;color:var(--text);border:0;border-radius:8px;cursor:pointer;text-align:left;font-family:var(--font-display);letter-spacing:0;transition:none}.accountDropdownItem:hover{background:color-mix(in srgb,var(--text) 5%,var(--bg));opacity:1}.accountItemIcon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;color:var(--muted);flex-shrink:0;transition:none}.accountItemIcon svg{width:22px;height:22px}.accountDropdownItem:hover .accountItemIcon{color:var(--text)}.accountItemText{display:flex;flex-direction:column;gap:2px;min-width:0}.accountItemText strong{font-size:14.5px;font-weight:700}.accountItemText small{font-family:var(--font-body);font-size:12.5px;font-weight:400;color:var(--muted)}.accountDropdownItem.danger{color:var(--danger)}.accountDropdownItem.danger .accountItemIcon,.accountDropdownItem.danger:hover .accountItemIcon{background:none;color:var(--danger)}.accountDropdownItem.danger:hover{background:color-mix(in srgb,var(--danger) 7%,var(--bg))}.patientLoginButton.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 16px;border:1px solid var(--button-primary-background);border-radius:8px;background:var(--button-primary-background);color:var(--button-primary-color);text-decoration:none;white-space:nowrap}.patientLoginButton.btn:hover{border-color:var(--button-primary-hover-background);background:var(--button-primary-hover-background);color:var(--button-primary-color)}.patientLoginButton svg{width:18px;height:18px;flex:0 0 18px}.auditPageHeading{margin:0 0 18px}.auditPageHeading h1{margin:0;color:var(--text);font-family:var(--font-display);font-size:clamp(24px,3vw,32px)}.addPatientModal .fieldGroupLabel{grid-column:1 / -1;margin-top:6px;padding-top:12px;border-top:1px solid var(--line);color:var(--text);font-family:var(--font-display);font-size:14px;font-weight:700}.addPatientModal .walkInAppointmentError{grid-column:1 / -1;margin:0}.addPatientModal .walkInAvailabilityError{color:var(--danger);font-size:12px;line-height:1.4}@media(max-width:860px){.adminTopbar{top:11px;left:auto;right:70px;height:auto;padding:0;background:none;border-bottom:0;z-index:1300}.nav .accountMenu{position:absolute;top:12px;right:70px;margin-left:0}.accountTrigger{width:44px;height:44px;padding:0;justify-content:center;gap:0;-webkit-tap-highlight-color:transparent}.nav .patientLoginButton{position:absolute;top:12px;right:70px;margin-left:0;padding:8px 11px}.accountTrigger .accountAvatar{width:38px;height:38px}.accountTrigger .accountMeta,.accountTrigger .accountChevron{display:none}.accountDropdown{right:0;width:min(300px,calc(100vw - 24px))}.accountDropdownItem{min-height:44px}}@media(prefers-reduced-motion:reduce){.adminSidebar,.adminSidebarLink,.menuToggle span{transition:none!important;transform:none!important}.accountTrigger,.accountChevron,.accountDropdown,.accountDropdownItem,.accountItemIcon,.accountAppearanceOption{transition:none!important}}.ovPage svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.ovMuted{color:var(--muted)}.ovHeadTools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-bottom:10px}.ovPeriod{display:flex;gap:8px}.ovPeriod button{padding:8px 16px;font:inherit;font-size:.85rem;color:var(--muted);background:none;border:1px solid var(--line);border-radius:999px;cursor:pointer}.ovPeriod button.active{font-weight:700;color:var(--text);border-color:var(--accent);background:transparent;box-shadow:inset 0 -2px 0 var(--accent)}.ovBell{position:relative}.ovBellBtn{position:relative;display:grid;place-items:center;width:44px;height:44px;padding:11px;color:var(--accent);background:none;border:1px solid var(--accent);border-radius:50%;cursor:pointer}.ovBadge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;font-size:.7rem;font-weight:700;line-height:1;color:var(--text);background:var(--bg);border:1.5px solid var(--accent);border-radius:999px}.ovPanel{position:absolute;top:calc(100% + 10px);right:0;z-index:30;width:min(360px,90vw);max-height:440px;overflow-y:auto;background:var(--bg);border:1px solid var(--line);border-radius:16px}.ovPanelHead{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}.ovPanel ul{margin:0;padding:0;list-style:none}.ovNote{display:flex;flex-direction:column;gap:2px;width:100%;padding:12px 16px;text-align:left;color:var(--text);background:none;border:none;border-bottom:1px solid var(--line);cursor:pointer}.ovNote strong{font-size:.9rem;font-weight:700}.ovNote span{font-size:.8rem;color:var(--muted)}.ovNote.read strong{font-weight:500;color:var(--muted)}.ovPanelEmpty{padding:20px 16px;margin:0}.ovLink{padding:0;font-size:.8rem;font-weight:600;color:var(--accent);background:none;border:none;cursor:pointer}.ovLink:disabled{color:var(--muted);cursor:default}.ovTop{display:grid;grid-template-columns:1fr 340px;gap:24px;margin-bottom:24px}.ovLeft{display:flex;flex-direction:column;gap:24px;min-width:0}.ovStats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.ovStatCard{display:flex;align-items:center;gap:16px;padding:22px;border:1px solid var(--line);border-radius:20px;background:none}.ovIcon{flex:none;width:56px;height:56px;padding:15px;border-radius:50%;color:var(--accent);background:none;border:1.5px solid var(--accent)}.ovStatLabel{display:block;font-size:.85rem;font-weight:600;color:var(--text)}.ovStatValue{display:block;margin:2px 0 4px;font-size:1.9rem;font-weight:700;line-height:1.1;color:var(--text)}.ovDelta{font-size:.75rem;color:var(--muted)}.ovDelta b{font-weight:700}.ovDelta .up{color:var(--status-success)}.ovDelta .down{color:var(--status-danger)}.ovCard{background:var(--surface);border:1px solid var(--line);border-radius:20px}.ovPeopleRow{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ovPeopleCard{padding:18px 20px 20px}.ovCardHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-weight:700;color:var(--text);text-decoration:none}.ovHeadTitle{display:inline-flex;align-items:center;gap:10px}.ovIconSm{display:grid;place-items:center;width:34px;height:34px;padding:8px;border-radius:50%;color:var(--accent);background:none;border:1.5px solid var(--accent)}.ovPeople{display:flex;flex-wrap:wrap;gap:18px;margin:0;padding:0;list-style:none}.ovPeople li{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:64px;font-size:.8rem;font-weight:600;color:var(--text)}.ovAvatar{display:grid;place-items:center;width:46px;height:46px;font-weight:700;color:var(--text);background:none;border:1.5px solid var(--accent);border-radius:50%}.ovCalendar{align-self:start;padding:20px}.ovCalHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;color:var(--text)}.ovCalHead button{width:32px;height:32px;font-size:1.3rem;line-height:1;color:var(--text);background:none;border:none;cursor:pointer}.ovCalGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px 0;text-align:center}.ovWeekday{padding-bottom:8px;font-size:.68rem;font-weight:600;letter-spacing:.06em;color:var(--muted)}.ovDay{position:relative;width:36px;height:36px;margin:0 auto;font-size:.85rem;color:var(--text);background:none;border:1px solid transparent;border-radius:50%;cursor:pointer}.ovDay.has{font-weight:700;border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.ovDay.today{font-weight:700;border:2px solid var(--accent)}.ovDay.selected{border-color:var(--text)}.ovHistory{padding:20px 24px 8px}.ovHistoryHead{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:16px}.ovSearchRow{display:flex;align-items:center;gap:10px;flex:1 1 320px;justify-content:flex-start}.ovSearch{display:flex;align-items:center;flex:1 1 280px;min-width:0}.ovFilterBtn{display:grid;place-items:center;width:42px;height:42px;padding:11px;color:var(--text);background:none;border:1px solid var(--line);border-radius:12px;cursor:pointer}.ovFilterRow{display:flex;align-items:center;gap:20px;margin-bottom:12px}.ovFilterRow label{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--muted)}.ovFilterRow select{font:inherit;color:var(--text);background:none;border:1px solid var(--line);border-radius:8px;padding:6px 10px}.ovTableWrap{overflow-x:auto}.ovTable{width:100%;border-collapse:collapse;font-size:.85rem;color:var(--text)}.ovTable th{padding:12px 10px;text-align:left;font-size:.75rem;font-weight:500;color:var(--muted);white-space:nowrap}.ovTable td{padding:16px 10px;border-top:1px solid var(--line);white-space:nowrap}.ovName{font-weight:700}.ovDots{display:inline-block;padding:0 8px;font-size:1.2rem;font-weight:700;color:var(--text);text-decoration:none}.ovTableEmpty{text-align:center;padding:28px 10px}@media(max-width:1100px){.ovTop{grid-template-columns:1fr}.ovCalendar{max-width:420px}}@media(max-width:860px){.ovStats,.ovPeopleRow{grid-template-columns:1fr}}.adminAppMain{min-height:100vh;min-height:100dvh;background:var(--bg)}.adminSurface{width:100%;max-width:var(--maxw);margin:0 auto;padding:24px 20px 60px;color:var(--text);font-family:var(--font-body)}.notice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding:12px 16px;border-radius:12px;font-size:15px;border:1px solid rgba(var(--accent-rgb),.45);background:transparent;color:var(--text)}.notice-success{border-color:color-mix(in srgb,var(--success) 55%,transparent);background:color-mix(in srgb,var(--success) 8%,var(--surface))}.notice-error{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--surface))}.noticeClose{border:0;background:transparent;color:var(--muted);font-size:22px;line-height:1;cursor:pointer}.noticeClose:hover{color:var(--text)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 20px;border-radius:999px;border:1px solid transparent;font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:transform .3s var(--ease-cinematic),background-color .3s var(--ease-cinematic),border-color .3s var(--ease-cinematic),opacity .3s var(--ease-cinematic)}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btnPrimary{background:var(--button-primary-background);color:var(--button-primary-color);border-color:var(--button-primary-background)}.btnPrimary:hover:not(:disabled){background:var(--button-primary-hover-background);border-color:var(--button-primary-hover-background)}.btnSecondary{background:var(--button-secondary-background);color:var(--button-secondary-color);border-color:var(--button-secondary-border)}.btnSecondary:hover:not(:disabled){border-color:var(--button-secondary-border);background:var(--button-secondary-background)}.btnDanger,.btnDangerSolid{background:var(--button-danger-background);color:var(--button-danger-color);border-color:var(--button-danger-border)}.btnDanger:hover:not(:disabled),.btnDangerSolid:hover:not(:disabled){background:var(--button-danger-background);border-color:var(--button-danger-border)}.btnSmall{min-height:34px;padding:6px 14px;font-size:14px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.fieldLabel{font-size:14px;font-weight:600;color:var(--muted)}.patientFieldError{color:var(--danger);font-size:12px;line-height:1.4}.patientDetailsPage .field .input[aria-invalid=true],.addPatientModal .field .input[aria-invalid=true]{border-color:var(--error-border);box-shadow:0 0 0 1px var(--error-border)}.input{width:100%;padding:11px 14px;border-radius:12px;border:1px solid rgba(var(--accent-rgb),.45);background:transparent;color:var(--text);font:inherit;font-size:15px;outline:none;transition:border-color .3s var(--ease-cinematic),box-shadow .3s var(--ease-cinematic)}.input::placeholder{color:var(--muted)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.18)}textarea.input{resize:vertical;min-height:110px}select.input option{background:var(--bg);color:var(--text)}select.input{height:48px;line-height:1.2;padding-top:0;padding-bottom:0}input[type=date].input{min-height:48px}.checkField{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--text);cursor:pointer}.checkField input{width:18px;height:18px;accent-color:var(--accent)}.formActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.twoCol{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.panel{padding:22px;border-radius:20px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow, none)}.adminAppMain .adminSurface .panel{border-color:var(--line);background:var(--surface);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.panelHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.panelHeadActions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.panelTitle{margin:0;font-size:22px;color:var(--text)}.panelSub{margin:4px 0 0;font-size:15px;color:var(--muted)}.countLabel{flex:none;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:600;color:var(--muted);border:1px solid rgba(var(--accent-rgb),.45);background:transparent}.patientToolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px}.topSearchBar{position:relative;flex:1 1 280px;display:flex;align-items:center}.topSearchIcon{position:absolute;left:14px;color:var(--muted);pointer-events:none}.searchClearBtn{position:absolute;right:12px;border:0;background:transparent;color:var(--accent);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.patientTypeFilter{display:flex;gap:8px}.patientTableWrap{overflow-x:auto}.patientTableCount{margin:0 14px 4px;color:var(--muted);font-size:13px;font-weight:400;text-align:right}.patientTable{width:100%;border-collapse:collapse}.patientTable th{padding:10px 14px;text-align:left;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid rgba(var(--accent-rgb),.45)}.patientTable td{padding:14px;font-size:15px;color:var(--text);border-bottom:1px solid rgba(var(--accent-rgb),.45)}.patientRow:last-child td{border-bottom:0}.patientRow{cursor:pointer}.patientRow:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.patientName{font-weight:600;font-size:15.5px;color:var(--text)}.patientListPage .patientTable th,.patientListPage .patientTable td{white-space:normal;overflow-wrap:anywhere}.patientListPage .patientTable{width:100%;min-width:0;table-layout:fixed}.patientListPage .patientTable th:nth-child(1),.patientListPage .patientTable td:nth-child(1){width:24%}.patientListPage .patientTable th:nth-child(2),.patientListPage .patientTable td:nth-child(2){width:27%}.patientListPage .patientTable th:nth-child(3),.patientListPage .patientTable td:nth-child(3){width:17%}.patientListPage .patientTable th:nth-child(4),.patientListPage .patientTable td:nth-child(4){width:8%}.patientListPage .patientTable th:nth-child(5),.patientListPage .patientTable td:nth-child(5){width:24%}.patientListPage .patientTable td:nth-child(2){color:var(--muted)}.patientListPage .typeBadge{padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:600;line-height:1.35}.patientListPage .typeBadge.regular{border-color:var(--line);background:color-mix(in srgb,var(--surface) 92%,var(--muted));color:var(--muted)}.patientListPage .typeBadge.ortho{border-color:color-mix(in srgb,var(--accent) 54%,var(--line));background:color-mix(in srgb,var(--surface) 84%,var(--accent));color:var(--text)}.typeSelect{width:auto;min-width:140px;border-radius:999px;cursor:pointer}.typeBadge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:700;border:1px solid rgba(var(--accent-rgb),.45)}.typeBadge.regular{color:var(--muted);background:transparent}.typeBadge.ortho{color:var(--text);background:color-mix(in srgb,var(--primary) 18%,transparent);border-color:color-mix(in srgb,var(--primary) 50%,transparent)}.statusPill{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:700;white-space:nowrap;color:var(--text);background:color-mix(in srgb,var(--primary) 16%,transparent);border:1px solid rgba(var(--accent-rgb),.4)}.statusPill.active,.statusPill.approved,.statusPill.completed,.statusPill.checked-in{background:color-mix(in srgb,var(--success) 12%,transparent);border-color:color-mix(in srgb,var(--success) 50%,transparent)}.statusPill.in-progress,.statusPill.rescheduled{background:color-mix(in srgb,var(--info) 12%,transparent);border-color:color-mix(in srgb,var(--info) 50%,transparent)}.statusPill.archived{background:transparent;border-color:rgba(var(--accent-rgb),.45);color:var(--muted)}.statusPill.cancelled,.statusPill.rejected,.statusPill.no-show{background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:color-mix(in srgb,var(--danger) 50%,transparent)}.recordPage{display:flex;flex-direction:column;gap:18px}.backLink{align-self:flex-start;padding:0;border:0;background:transparent;color:var(--muted);font:inherit;font-size:15px;font-weight:600;cursor:pointer}.backLink:before{content:"← "}.backLink:hover{color:var(--accent)}.recordHeader{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.recordIdentity{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0}.recordBadges{display:flex;flex-wrap:wrap;gap:6px}.recordName{margin:0;font-size:clamp(21px,3vw,26px);line-height:1.2;color:var(--text);overflow-wrap:anywhere}.recordTabs{display:flex;gap:2px;overflow-x:auto;padding-bottom:0;border-bottom:1px solid var(--line)}.recordTab{flex:none;padding:9px 13px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font:inherit;font-size:13.5px;font-weight:550;cursor:pointer;transition:none}.recordTab:hover{color:var(--muted)}.recordTab.active{color:var(--text);font-weight:650;border-bottom-color:var(--accent)}.pdl{display:flex;flex-direction:column}.pdlList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.pdlRow{display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0;min-height:66px;padding:11px 13px;border:1px solid var(--line);border-radius:8px;background:var(--card)}.pdlRow dt{font-size:12px;font-weight:500;color:var(--muted)}.pdlRow dd{margin:0;font-size:14px;font-weight:550;color:var(--text);overflow-wrap:anywhere}.pdlForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:4px}.pdlFull{grid-column:1 / -1}.pdlActions{display:flex;flex-wrap:wrap;gap:10px}.infoBlock{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:14px;background:transparent;border:1px solid rgba(var(--accent-rgb),.45)}.infoBlock p{margin:0;font-size:15px;line-height:1.55;color:var(--text)}.detailLabel{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.chartLayout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:22px;align-items:start}.chartCol,.chartForm{display:flex;flex-direction:column;gap:14px;min-width:0}.toothViewer{display:flex;flex-direction:column;gap:12px}.toothChartFrame{width:min(100%,420px,44vh);margin-inline:auto;border-radius:18px;border:1px solid rgba(var(--accent-rgb),.45);background:var(--surface);overflow:hidden}.patientDetailsPage .toothChartFrame{width:min(100%,600px)}.toothImageSurface{position:relative;width:100%}.toothReferenceImage{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none;pointer-events:none}.toothViewerOverlay{position:absolute;z-index:1;inset:0;pointer-events:none}.toothMarker{position:absolute;z-index:1;display:block;transform:translate(-50%,-50%);width:clamp(18px,5.5%,30px);padding:0;aspect-ratio:1;border-radius:50%;border:1.5px solid transparent;background:transparent;cursor:pointer;pointer-events:auto;transition:border-color .25s var(--ease-cinematic),background-color .25s var(--ease-cinematic),transform .25s var(--ease-cinematic)}.patientDetailsPage .toothMarker,.patientDetailsPage .toothMarker.focused{transform:translate(-50%,-50%);transition:none}.toothMarker:hover,.toothMarker:focus-visible{border-color:var(--accent);background:color-mix(in srgb,var(--primary) 12%,transparent)}.patientDetailsPage .toothMarker:hover:not(.active){border-color:transparent;background:transparent}.toothMarker:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.toothMarker.hasNote{border-color:rgba(var(--accent-rgb),.5);background:color-mix(in srgb,var(--primary) 8%,transparent)}.toothMarker.focused{transform:translate(-50%,-50%) scale(1.15);border-color:var(--accent)}.toothMarker.active{border-color:var(--accent);background:color-mix(in srgb,var(--primary) 22%,transparent)}.toothViewerLegend{display:flex;align-items:baseline;gap:10px;padding:12px 16px;border-radius:14px;background:transparent;border:1px solid rgba(var(--accent-rgb),.45);color:var(--muted);font-size:14px}.toothViewerLegend strong{font-size:20px;color:var(--accent)}.toothViewerLegend small{color:var(--text);font-size:14px}.toothSelectedChips{display:flex;flex-wrap:wrap;gap:8px}.toothSelectedChip{padding:6px 13px;border-radius:999px;border:1px solid rgba(var(--accent-rgb),.45);background:transparent;color:var(--text);font:inherit;font-size:14px;cursor:pointer}.toothSelectedChip.active{background:color-mix(in srgb,var(--primary) 20%,transparent);border-color:var(--primary)}.selectedToothNotesList{display:flex;flex-direction:column;gap:10px;margin-top:4px}.selectedToothNoteItem{padding:10px 12px;border-radius:12px;border:1px solid rgba(var(--accent-rgb),.45);background:transparent}.selectedToothNoteItem strong{display:block;font-size:14px}.selectedToothNoteItem span{font-size:13px;color:var(--muted)}.selectedToothNoteItem p{margin:4px 0 0;font-size:14px}.patientDetailsPage .dentalChartPanel{min-width:0;padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.patientDetailsPage .dentalChartHeader{align-items:center;margin-bottom:20px}.patientDetailsPage .dentalChartActions{flex:none;margin-top:0}.patientDetailsPage .dentalChartLayout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"diagram pending" "diagram form";align-items:start;gap:16px;min-width:0}.patientDetailsPage .dentalChartLayout>.chartCol{display:contents}.patientDetailsPage .dentalChartLayout .toothViewer{grid-area:diagram;min-width:0;align-self:start;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.patientDetailsPage .dentalChartLayout .toothChartFrame{width:100%;max-width:600px;border:0;border-radius:0;background:transparent}.patientDetailsPage .dentalChartLayout .pendingProceduresSection{grid-area:pending;min-width:0;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.patientDetailsPage .dentalChartLayout .chartForm{grid-area:form;min-width:0}.patientDetailsPage .dentalChartSectionHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.patientDetailsPage .dentalChartSectionTitle{margin:0;color:var(--text);font-size:15px;font-weight:600}.patientDetailsPage .dentalChartProcedureForm{gap:12px;padding:16px;border-color:var(--line);border-radius:12px;background:var(--surface)}.patientDetailsPage .procedureHistorySection{min-width:0;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.patientDetailsPage .dentalChartTableWrap{max-width:100%;overflow-x:auto}.patientDetailsPage .dentalChartTable{min-width:520px}.patientDetailsPage .dentalChartEmpty{margin:0;padding:14px 0 2px;color:var(--muted);font-size:14px}.patientDetailsPage .toothMarker:disabled{cursor:default}@media(max-width:900px){.patientDetailsPage .dentalChartLayout{grid-template-columns:minmax(0,1fr);grid-template-areas:"diagram" "pending" "form"}}.planForms{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:18px;margin-bottom:26px;align-items:start}.planForm{display:flex;flex-direction:column;gap:18px;padding:24px;border-radius:16px;background:transparent;border:1px solid rgba(var(--accent-rgb),.45)}.blockHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.blockTitle{margin:0;font-size:18px;color:var(--text)}.planLists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.planColumn{min-width:0}.itemList{display:flex;flex-direction:column;gap:12px}.itemCard{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:16px;background:transparent;border:1px solid rgba(var(--accent-rgb),.45)}.itemTop{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.itemTop strong{color:var(--text);font-size:15.5px;overflow-wrap:anywhere}.itemMeta{margin:0;font-size:14px;color:var(--muted)}.itemText{margin:0;font-size:15px;line-height:1.55;color:var(--text)}.itemActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.emptyBlock{padding:22px;border-radius:16px;border:1px dashed rgba(var(--accent-rgb),.45);text-align:center;color:var(--muted)}.emptyBlock strong{display:block;color:var(--text);margin-bottom:4px;font-size:15.5px}.emptyBlock p{margin:0;font-size:15px}.photoGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.photoGrid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.photoCard{margin:0;padding:8px;border-radius:14px;border:1px solid rgba(var(--accent-rgb),.45);background:transparent}.photoCard figcaption{margin-bottom:6px;font-size:13px;font-weight:600;color:var(--muted)}.photoCard img{display:block;width:100%;max-height:220px;object-fit:cover;border-radius:10px}.photoGridActions{grid-column:1 / -1}.timelineStack{position:relative;margin:0;padding:0;list-style:none}.timelineStack:before{content:"";position:absolute;top:8px;bottom:8px;left:6px;width:2px;background:rgba(var(--accent-rgb),.45)}.timelineRow{position:relative;display:flex;gap:16px;padding:0 0 20px}.timelineRow:last-child{padding-bottom:0}.timelineDot{position:relative;z-index:1;flex:none;width:14px;height:14px;margin-top:4px;border-radius:50%;background:var(--accent);border:3px solid var(--bg);box-shadow:0 0 0 1px var(--accent)}.timelineDot.approved,.timelineDot.completed,.timelineDot.checked-in{background:var(--success);box-shadow:0 0 0 1px var(--success)}.timelineDot.cancelled,.timelineDot.rejected{background:var(--danger);box-shadow:0 0 0 1px var(--danger)}.timelineDot.rescheduled,.timelineDot.in-progress{background:var(--info);box-shadow:0 0 0 1px var(--info)}.timelineBody{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.timelineTopRow{width:100%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.timelineTopRow strong{color:var(--text);font-size:15.5px}.timelineTime{font-size:13px;color:var(--muted)}.timelineBody p{margin:0;font-size:15px;color:var(--muted)}.modalOverlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#0009;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modalCard{width:100%;max-width:520px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;border-radius:22px;background:var(--bg);border:1px solid rgba(var(--accent-rgb),.45);box-shadow:0 30px 80px #00000073;overflow:hidden}.modalHead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid rgba(var(--accent-rgb),.45)}.modalTitle{margin:0;font-size:20px;color:var(--text)}.iconBtn{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(var(--accent-rgb),.45);background:transparent;color:var(--muted);font-size:20px;cursor:pointer}.iconBtn:hover{color:var(--text);border-color:var(--accent)}.modalBody{display:flex;flex-direction:column;gap:14px;padding:20px 22px;overflow-y:auto}.modalFoot{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid rgba(var(--accent-rgb),.45)}.patientDetailsPage{width:100%;max-width:1600px;min-width:0;margin:0 auto}.patientDetailsPage .recordPage{gap:12px}.patientDetailsPage .backLink.paymentsBackLink:before{content:none}.patientDetailsPage .backLink.paymentsBackLink{color:var(--text);font-size:13px;font-weight:450;text-decoration:none}.patientDetailsPage .backLink.paymentsBackLink:hover,.patientDetailsPage .backLink.paymentsBackLink:focus-visible{color:var(--text);background:transparent;outline:none;box-shadow:none}.patientDetailsPage .backLink.paymentsBackLink:focus{outline:none;box-shadow:none}.patientDetailsPage .input{padding:8px 12px;font-size:14.5px}.patientDetailsPage .pdlAgeInput{width:4.25em;max-width:100%}.patientDetailsPage select.input,.patientDetailsPage input[type=date].input{height:40px;min-height:40px;padding-top:0;padding-bottom:0}.patientDetailsPage textarea.input{min-height:64px}.patientDetailsPage .fieldLabel{font-size:13.5px}.patientDetailsPage .btn{min-height:36px;padding:7px 13px;border-radius:7px;font-size:13.5px;transition:none}.patientDetailsPage .recordHeader>.btnPrimary{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:6px 12px;color:var(--button-primary-color);background:var(--button-primary-background);border:1px solid var(--button-primary-background);border-radius:7px;font-size:13px;font-weight:550}.patientDetailsPage .patientEditButton svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.patientDetailsPage .btnSuccess{color:var(--text);background:color-mix(in srgb,var(--accent) 12%,var(--card));border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.patientDetailsPage .btnWarning{color:var(--text);background:var(--card);border-color:color-mix(in srgb,var(--accent) 38%,var(--line))}.patientDetailsPage .recordFooter .btnWarning{color:var(--danger);background:var(--card);border-color:color-mix(in srgb,var(--danger) 45%,var(--line))}.patientDetailsPage .btnInfo,.patientDetailsPage .btnSecondary{color:var(--button-secondary-color);background:var(--button-secondary-background);border-color:var(--button-secondary-border)}.patientDetailsPage .btnDanger{color:var(--button-danger-color);background:var(--button-danger-background);border-color:var(--button-danger-border)}.patientDetailsPage .btnTeal{color:var(--accent-teal);background:var(--card);border-color:color-mix(in srgb,var(--accent-teal) 45%,var(--line))}.patientDetailsPage .btn:hover:not(:disabled){transform:none;opacity:1}.patientDetailsPage .recordHeader>.btnPrimary:hover:not(:disabled){color:var(--button-primary-color);background:var(--button-primary-hover-background);border-color:var(--button-primary-hover-background)}.patientDetailsPage .btnSuccess:hover:not(:disabled){color:var(--text);background:color-mix(in srgb,var(--accent) 12%,var(--card));border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.patientDetailsPage .btnWarning:hover:not(:disabled){color:var(--text);background:var(--card);border-color:color-mix(in srgb,var(--accent) 38%,var(--line))}.patientDetailsPage .recordFooter .btnWarning:hover:not(:disabled){color:var(--danger);background:var(--card);border-color:color-mix(in srgb,var(--danger) 45%,var(--line))}.patientDetailsPage .btnInfo:hover:not(:disabled),.patientDetailsPage .btnSecondary:hover:not(:disabled){color:var(--button-secondary-color);background:var(--button-secondary-background);border-color:var(--button-secondary-border)}.patientDetailsPage .btnDanger:hover:not(:disabled){color:var(--button-danger-color);background:var(--button-danger-background);border-color:var(--button-danger-border)}.patientDetailsPage .btnTeal:hover:not(:disabled){color:var(--accent-teal);background:var(--card);border-color:color-mix(in srgb,var(--accent-teal) 45%,var(--line))}.patientDetailsPage .recordTab,.patientDetailsPage .backLink{transition:none}.patientDetailsPage .recordTab:hover,.patientDetailsPage .backLink:hover{color:var(--muted)}.patientDetailsPage .backLink.paymentsBackLink:hover,.patientDetailsPage .backLink.paymentsBackLink:focus-visible{color:var(--text)}.patientDetailsPage .recordTab.active:hover{color:var(--text)}.patientDetailsPage .recordHeader{align-items:flex-start;margin-top:2px}.patientDetailsPage .recordIdentity{gap:5px}.patientDetailsPage .recordName{font-size:clamp(20px,2.2vw,24px);font-weight:650;letter-spacing:-.02em}.patientDetailsPage .recordBadges{gap:8px;align-items:center}.patientDetailsPage .recordTabs{gap:10px;border-bottom-color:var(--line)}.patientDetailsPage .recordTab{padding:8px 10px;font-size:13px}.patientDetailsPage .recordTab.active{color:var(--accent);border-bottom-color:var(--accent)}.patientDetailsPage .patientDetailsSections{display:grid;min-width:0;gap:16px}.patientDetailsPage .patientInformationContainer{display:flex;min-width:0;flex-direction:column;gap:16px;padding:22px 24px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.patientDetailsPage .patientInfoSectionHeader{display:flex;align-items:center;justify-content:space-between;gap:16px}.patientDetailsPage .patientInfoTitle{margin:0;color:var(--text);font-size:17px;font-weight:600;letter-spacing:-.01em}.patientDetailsPage .patientEditButton{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:6px 12px;color:var(--button-primary-color);background:var(--button-primary-background);border:1px solid var(--button-primary-background);border-radius:7px;font-size:13px;font-weight:550}.patientDetailsPage .patientEditButton:hover:not(:disabled){color:var(--button-primary-color);background:var(--button-primary-hover-background);border-color:var(--button-primary-hover-background)}.patientDetailsPage .patientInfoMissing{color:var(--muted);font-weight:400}.patientDetailsPage .patientAppointmentEmpty{margin:0;padding:12px 0;color:var(--muted);font-size:14px}.patientDetailsPage .pdlForm{display:flex;width:100%;max-width:440px;flex-direction:column;gap:12px;align-self:center;padding-top:0}.patientDetailsPage .pdlForm>.field{width:100%}.patientDetailsPage .pdlActions{justify-content:flex-start;margin-top:4px}.patientDetailsPage .pdlList{display:flex;flex-direction:column;gap:0;width:100%;max-width:none}.patientDetailsPage .pdlRow{display:grid;grid-template-columns:minmax(110px,180px) minmax(0,1fr);align-items:baseline;gap:20px;min-height:0;padding:11px 0;border:0;border-bottom:1px solid color-mix(in srgb,var(--line) 76%,transparent);border-radius:0;background:transparent}.patientDetailsPage .pdlRow:first-child{border-top:1px solid color-mix(in srgb,var(--line) 76%,transparent)}.patientDetailsPage .pdlRow dt{color:var(--muted);font-size:13px;font-weight:450}.patientDetailsPage .pdlRow dd{color:var(--text);font-size:13.5px;font-weight:500}.patientDetailsPage .recordFooter{margin-top:10px;padding-top:0;border:0}.patientDetailsPage .recordFooter .patientDownloadAction{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 12px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--accent) 9%,var(--surface));color:var(--text);font-size:12.5px;font-weight:500;text-decoration:none}.patientDetailsPage .recordFooter .patientDownloadAction:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 48%,var(--line));background:color-mix(in srgb,var(--accent) 13%,var(--surface));color:var(--text);text-decoration:none}.patientDetailsPage .patientDownloadAction svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.patientDetailsPage .planForms{gap:14px;margin-bottom:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}.patientDetailsPage .planForm{padding:16px;gap:10px}.patientDetailsPage .panelHead{margin-bottom:12px}.patientDetailsPage .recordTab{padding:8px 12px;font-size:13.5px}.patientDetailsPage .panel{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.patientDetailsPage .recordTabs{margin-bottom:4px}@media(max-width:640px){.patientDetailsPage .recordHeader{align-items:flex-start}.patientDetailsPage .recordFooter .btn{flex:0 1 auto}.patientDetailsPage .patientInformationContainer{padding:16px}.patientDetailsPage .patientInfoSectionHeader{align-items:flex-start}.patientDetailsPage .pdlRow{grid-template-columns:100px minmax(0,1fr);gap:12px;padding:10px 0}.confirmActions .btn{flex:1}}@media(max-width:520px){.patientDetailsPage .pdlList{grid-template-columns:1fr}}.recordFooter{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(var(--accent-rgb),.45)}.confirmOverlay{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:20px;background:#0009;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.confirmCard{width:100%;max-width:420px;padding:24px;border-radius:20px;background:var(--bg);border:1px solid rgba(var(--accent-rgb),.45);box-shadow:0 30px 80px #00000073}.confirmCard.confirm-danger{border-color:var(--error-border)}.confirmTitle{margin:0 0 8px;font-size:20px;color:var(--text)}.confirmMessage{margin:0;font-size:15px;line-height:1.55;color:var(--muted)}.confirmActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:22px}@media(max-width:900px){.chartLayout,.planLists{grid-template-columns:1fr}}@media(max-width:640px){.adminSurface{padding:16px 14px 48px}.panel{padding:16px;border-radius:16px}.panelHead{flex-direction:column}.recordName{font-size:24px}.twoCol{grid-template-columns:1fr}.pdlRow{grid-template-columns:1fr;gap:4px;padding:14px 0}.pdlForm{grid-template-columns:1fr}.patientTable thead{display:none}.patientTable,.patientTable tbody,.patientTable tr,.patientTable td{display:block;width:100%}.patientTable tr{padding:10px 0;border-bottom:1px solid rgba(var(--accent-rgb),.45)}.patientTable td{display:flex;justify-content:space-between;gap:12px;padding:6px 4px;border:0}.patientTable td:before{content:attr(data-label);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.patientListPage .patientTable td:nth-child(2){white-space:normal;overflow-wrap:anywhere;text-align:right}}.hero.adminHero{position:relative;overflow:hidden;padding:28px;border:1px solid rgba(var(--accent-rgb),.45);border-radius:18px;background:transparent}.adminHeroGlow{position:absolute;top:-80px;right:-60px;width:260px;height:260px;border-radius:50%;background:none;pointer-events:none}.adminHeroContent{position:relative;max-width:640px}.adminHeroContent h1{margin:6px 0 8px;font-size:30px;color:var(--text)}.adminHeroContent p{margin:0;color:var(--muted);line-height:1.55}.heroEyebrow{display:inline-block;font-size:12.5px;font-weight:600;color:var(--accent)}.statsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.statCard{padding:16px 18px;border:1px solid rgba(var(--accent-rgb),.45);border-left-width:4px;border-radius:14px;background:transparent}.statLabel{display:block;font-size:12.5px;color:var(--muted)}.statValue{display:block;margin-top:4px;font-size:26px;color:var(--text)}.statCard.accentTeal{border-left-color:var(--accent-teal)}.statCard.accentBlue{border-left-color:var(--status-info)}.statCard.accentGold{border-left-color:var(--status-warning)}.statCard.accentRose{border-left-color:var(--status-attention)}.adminSubnav{display:flex;flex-wrap:wrap;gap:8px}.stickySubnav{position:sticky;top:0;z-index:10;padding:10px 0;background:var(--bg)}.subnavItem{padding:8px 16px;border:1px solid rgba(var(--accent-rgb),.45);border-radius:999px;background:transparent;font-size:13.5px;color:var(--muted);text-decoration:none;transition:none}.subnavItem:hover{border-color:var(--line);color:var(--text)}.subnavItem.active{border-color:var(--accent);background:transparent;color:var(--text)}.card{padding:20px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.cardHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.cardHeader .title{margin:0;font-size:18px;color:var(--text)}.cardHeader .sub{margin:4px 0 0;font-size:13.5px;color:var(--muted);line-height:1.5}.badge{flex:0 0 auto;padding:4px 12px;border:1px solid rgba(var(--accent-rgb),.45);border-radius:999px;background:transparent;font-size:12.5px;color:var(--muted);white-space:nowrap}.formError{margin-bottom:14px;padding:10px 14px;border:1px solid var(--error-border);border-radius:10px;background:transparent;font-size:13.5px;color:var(--danger)}.btn{padding:9px 16px;border:1px solid var(--button-primary-background);border-radius:10px;background:var(--button-primary-background);font:inherit;font-size:13.5px;font-weight:600;color:var(--button-primary-color);cursor:pointer;transition:transform .15s var(--ease-cinematic),filter .2s var(--ease-cinematic),border-color .2s var(--ease-cinematic)}.btn:hover{filter:brightness(1.08)}.btn.btnPrimary:hover:not(:disabled),.btn.btnShine:hover:not(:disabled),.btn.btnSolid:hover:not(:disabled),.btn.btnWide:hover:not(:disabled){border-color:var(--button-primary-hover-background);background:var(--button-primary-hover-background);color:var(--button-primary-color);filter:none}.btn.btnDanger:hover:not(:disabled),.btn.btnDangerSolid:hover:not(:disabled){border-color:var(--button-danger-border);background:var(--button-danger-background);color:var(--button-danger-color);filter:none}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.secondary,.btn.btnSoft,.btn.btnGhost,.btn.btnSecondary,.btn.btnInfo{border-color:var(--button-secondary-border);background:var(--button-secondary-background);color:var(--button-secondary-color)}.btn.secondary:hover,.btn.btnSoft:hover,.btn.btnGhost:hover,.btn.btnSecondary:hover,.btn.btnInfo:hover{border-color:var(--button-secondary-border);background:var(--button-secondary-background);color:var(--button-secondary-color);filter:none}.btn.danger,.btn.archiveButton{border-color:var(--button-danger-border);background:var(--button-danger-background);color:var(--button-danger-color)}.btn.danger:hover,.btn.archiveButton:hover{border-color:var(--button-danger-border);background:var(--button-danger-background);color:var(--button-danger-color);filter:none}.adminAppMain .adminSurface .btn,.dentistModal .btn{color:var(--text);background:var(--surface);border:1px solid var(--line);min-height:38px;padding:8px 14px;border-radius:7px;font:inherit;font-size:13.5px;font-weight:600;transition:none}.adminAppMain .adminSurface :is(button,a,input,select,textarea),.dentistModal :is(button,a,input,select,textarea),.adminAppMain .adminSurface :is(.patientRow,.bookingRow,.patientTableRow,.calendarCell,.bookingShowcase,.promoItem,.acctRow,.auditTableRow,.archiveRow),.adminSidebarLink,.adminSidebarLink svg,.accountTrigger,.accountTrigger .accountChevron,.accountDropdownItem,.accountDropdownItem .accountItemIcon{transition:none}.adminAppMain .adminSurface .btn:hover:not(:disabled),.adminAppMain .adminSurface .btn:active,.dentistModal .btn:hover:not(:disabled),.dentistModal .btn:active{transform:none;filter:none;opacity:1}.adminAppMain .adminSurface .btnPrimary,.adminAppMain .adminSurface .btn.btnSolid,.adminAppMain .adminSurface .btn.btnWide,.adminAppMain .adminSurface .btn.btnShine,.adminAppMain .adminSurface form .btn[type=submit],.dentistModal .btn.btnShine{color:var(--button-primary-color);background:var(--button-primary-background);border:1px solid var(--button-primary-background)}.adminAppMain .adminSurface .btnPrimary:hover:not(:disabled),.adminAppMain .adminSurface .btn.btnSolid:hover:not(:disabled),.adminAppMain .adminSurface .btn.btnWide:hover:not(:disabled),.adminAppMain .adminSurface .btn.btnShine:hover:not(:disabled),.adminAppMain .adminSurface form .btn[type=submit]:hover:not(:disabled),.dentistModal .btn.btnShine:hover:not(:disabled){background:var(--button-primary-hover-background);border-color:var(--button-primary-hover-background)}.adminAppMain .patientDetailsPage .patientEditButton,.adminAppMain .patientDetailsPage .recordFooter .btnInfo,.adminAppMain .patientDetailsPage .recordFooter .btnSecondary,.adminAppMain .patientDetailsPage .pdlActions .btnSecondary{color:var(--button-secondary-color);background:var(--button-secondary-background);border-color:var(--button-secondary-border)}.adminAppMain .patientDetailsPage .patientEditButton{color:var(--button-primary-color);background:var(--button-primary-background);border-color:var(--button-primary-background)}.adminAppMain .patientDetailsPage .patientEditButton:hover:not(:disabled){background:var(--button-primary-hover-background);border-color:var(--button-primary-hover-background)}.adminAppMain .patientDetailsPage .recordFooter .patientDownloadAction,.adminAppMain .patientDetailsPage .recordFooter .patientDownloadAction:hover:not(:disabled){color:var(--text);background:color-mix(in srgb,var(--accent) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));text-decoration:none}.adminAppMain .patientDetailsPage .recordFooter .patientDownloadAction:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 48%,var(--line));background:color-mix(in srgb,var(--accent) 13%,var(--surface))}.adminAppMain .patientDetailsPage .recordFooter .btnWarning{color:var(--danger);background:var(--surface);border-color:color-mix(in srgb,var(--danger) 55%,var(--line))}.adminAppMain .adminSurface .btnSuccess,.dentistModal .btnSuccess{color:var(--text);background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.adminAppMain .adminSurface .btnSecondary,.adminAppMain .adminSurface .btn.btnOutline,.adminAppMain .adminSurface .btn.btnGhost,.adminAppMain .adminSurface .btn.secondary,.adminAppMain .adminSurface .btn.btnSoft,.adminAppMain .adminSurface .btn.btnInfo,.dentistModal .btn.secondary,.dentistModal .btn.btnSoft{color:var(--button-secondary-color);background:var(--button-secondary-background);border:1px solid var(--button-secondary-border)}.adminAppMain .adminSurface .btnDanger,.adminAppMain .adminSurface .btn.btnDangerSolid,.adminAppMain .adminSurface .btn.danger,.adminAppMain .adminSurface .btn.archiveButton,.dentistModal .btn.danger{color:var(--button-danger-color);background:var(--button-danger-background);border:1px solid var(--button-danger-border)}.adminAppMain .adminSurface .btn:focus-visible,.dentistModal .btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.adminAppMain .adminSurface :is(.planForm,.itemCard,.detailBox,.luxeBox,.bracesPaymentCard,.adminRecordsCard,.historyRow,.bookingShowcase,.acctCard,.auditTableWrapper){border-color:var(--line)}.adminAppMain .adminSurface :is(.badge,.countLabel,.typeBadge){border-color:var(--line)}.statusPill{display:inline-block;padding:3px 10px;border-radius:999px;background:transparent;border:1px solid rgba(var(--accent-rgb),.45);font-size:12px;font-weight:600;text-transform:capitalize;color:var(--muted)}.statusPill+.statusPill{margin-left:6px}.statusPill.pending{background:transparent;border-color:color-mix(in srgb,var(--warning) 40%,transparent);color:var(--warning)}.statusPill.approved{background:transparent;border-color:color-mix(in srgb,var(--success) 40%,transparent);color:var(--success)}.statusPill.awaiting_payment{background:transparent;border-color:color-mix(in srgb,var(--warning) 40%,transparent);color:var(--warning)}.statusPill.completed{background:transparent;border-color:color-mix(in srgb,var(--success) 40%,transparent);color:var(--success)}.statusPill.cancelled{background:transparent;border-color:color-mix(in srgb,var(--danger) 40%,transparent);color:var(--danger)}.statusPill.attention{background:transparent;border-color:color-mix(in srgb,var(--warning) 40%,transparent);color:var(--warning)}.bookingsTableWrap{overflow-x:auto;border:1px solid rgba(var(--accent-rgb),.45);border-radius:14px}.bookingsTable{width:100%;min-width:860px;border-collapse:collapse;font-size:13.5px}.bookingsTable th{padding:12px 14px;border-bottom:1px solid rgba(var(--accent-rgb),.45);background:transparent;font-size:12.5px;font-weight:600;text-align:left;color:var(--muted);white-space:nowrap}.bookingsTable td{padding:12px 14px;border-bottom:1px solid rgba(var(--accent-rgb),.45);color:var(--text);vertical-align:middle}.bookingsTable tbody tr:last-child td{border-bottom:0}.bookingRow{cursor:default}.bookingNameCell{white-space:nowrap;font-weight:600}.bookingAddressCell{max-width:220px;color:var(--muted)}.bookingRow.clickable{cursor:pointer}.bookingRow.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.bookingRow.notificationHighlight>td{animation:bookingNotificationHighlight 7s ease-out both}@keyframes bookingNotificationHighlight{0%,70%{background-color:color-mix(in srgb,var(--accent) 32%,transparent)}to{background-color:transparent}}.bookingManagementPage{--booking-border: var(--line);min-width:0}.bookingActionError{margin-bottom:14px}.bookingPageHeader{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.bookingPageHeader h1{margin:0;color:var(--text);font-size:clamp(24px,2.8vw,32px)}.bookingPageHeader p{margin:6px 0 0;color:var(--muted);font-size:13px}.bookingWalkInButton{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;min-height:42px;margin:0;padding:9px 16px;border:1px solid var(--button-primary-background);border-radius:9px;background:var(--button-primary-background);color:var(--button-primary-color);font-size:13px;white-space:nowrap}.bookingWalkInButton:hover:not(:disabled){border-color:var(--primary-hover);background:var(--primary-hover);color:var(--button-primary-color)}.bookingWalkInButton svg{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.8}.bookingManagementGrid{display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:22px;min-width:0}.bookingListPanel,.bookingCalendarPanel{min-width:0}.bookingToolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}.bookingSearch{position:relative;display:block;flex:1 1 280px;min-width:0;margin-bottom:14px}.bookingToolbar .bookingSearch{margin-bottom:0}.bookingSortControl{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;min-height:42px;padding:0 32px 0 12px;border:1px solid var(--booking-border);border-radius:9px;background:var(--surface);color:var(--text);font:500 14px/1.3 var(--font-body);cursor:pointer}.bookingSortControl select{position:absolute;inset:0;z-index:1;width:100%;height:100%;opacity:0;cursor:pointer}.bookingSortControl:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--line-focus)}.bookingSortControl svg{position:absolute;right:11px;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.bookingClearSearch,.bookingDateFilter button,.bookingCalendarSummary button{border:0;padding:4px 6px;background:transparent;color:var(--muted);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:none}.bookingClearSearch{position:absolute;top:50%;right:8px;transform:translateY(-50%)}.bookingStatusFilters{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:14px;border-bottom:1px solid var(--booking-border)}.bookingStatusFilter{position:relative;display:inline-flex;align-items:center;min-height:38px;padding:6px 1px 8px;border:0;border-radius:0;background:transparent;color:var(--text);font-family:var(--font-body);font-size:13px;font-weight:400;line-height:1.2;text-decoration:none;transition:none}.bookingStatusFilter:hover{color:var(--text);background:transparent}.bookingStatusFilter.active{color:var(--text)}.bookingStatusFilter.active:after{position:absolute;right:0;bottom:-1px;left:0;height:2px;background:var(--accent);content:""}.bookingStatusTotal{margin-left:auto;padding:0 2px 0 12px;color:color-mix(in srgb,var(--accent) 68%,var(--text));font-size:16px;font-weight:400;font-variant-numeric:tabular-nums}.bookingStatusFilter:focus-visible,.bookingClearSearch:focus-visible,.bookingDateFilter button:focus-visible,.bookingCalendarSummary button:focus-visible,.bookingMonthControls button:focus-visible,.bookingMonthDay:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bookingDateFilter{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;padding:8px 10px;border:1px solid var(--booking-border);border-radius:5px;color:var(--muted);font-size:13px}.bookingDateFilter strong{color:var(--text)}.bookingManagementPage .bookingsTableWrap{overflow-x:auto;border:1px solid var(--booking-border);border-radius:6px}.bookingManagementPage .bookingsTable{width:100%;min-width:0;table-layout:fixed;font-size:13px}.bookingManagementPage .bookingsTable th{padding:10px 14px;border-color:var(--booking-border);background:transparent;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.bookingManagementPage .bookingsTable td{padding:14px;border-color:var(--booking-border);font-size:15px;overflow-wrap:anywhere}.bookingManagementPage .bookingsTable th:nth-child(1){width:25%}.bookingManagementPage .bookingsTable th:nth-child(2){width:17%}.bookingManagementPage .bookingsTable th:nth-child(3){width:18%}.bookingManagementPage .bookingsTable th:nth-child(4){width:20%}.bookingManagementPage .bookingsTable th:nth-child(5){width:20%}.bookingManagementPage .bookingNameCell{white-space:normal}.bookingManagementPage .bookingNameCell strong{display:block;font-size:15px;font-weight:400}.bookingManagementPage .bookingNameCell small,.bookingManagementPage .bookingsTable td>small{display:block;margin-top:3px;color:var(--muted);font-size:13px;line-height:1.4}.bookingManagementPage .bookingTableStatus{display:inline-block;margin:1px 8px 1px 0;padding:0;border:0;border-radius:0;background:transparent;font-size:13px;font-weight:400;text-transform:capitalize}.bookingManagementPage .bookingTableStatus-pending{color:color-mix(in srgb,#b77712 78%,var(--text))}.bookingManagementPage .bookingTableStatus-approved{color:color-mix(in srgb,var(--status-success) 78%,var(--text))}.bookingManagementPage .bookingTableStatus-checked-in{color:var(--info)}.bookingManagementPage .bookingTableStatus-completed{color:color-mix(in srgb,#315fb3 78%,var(--text))}.bookingManagementPage .bookingTableStatus-cancelled{color:color-mix(in srgb,var(--danger) 78%,var(--text))}.bookingCalendarPanel{margin-top:0;padding:18px;border:1px solid var(--booking-border);border-radius:14px;background:var(--surface)}.bookingMonthHeader{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:10px;margin-bottom:18px}.bookingMonthHeader h2{margin:0;color:var(--accent);font-family:var(--font-display);font-size:18px;font-weight:700;text-align:center}.bookingMonthNav{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--booking-border);border-radius:10px;background:var(--surface);color:var(--accent);cursor:pointer;transition:background-color .18s ease,border-color .18s ease}.bookingMonthNav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.bookingMonthNav:hover{border-color:var(--accent);background:var(--secondary)}.bookingMonthNav:focus-visible,.bookingMonthDay:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bookingMonthNav:active{background:var(--secondary)}.bookingMonthNav:disabled{color:var(--muted);cursor:not-allowed}.bookingMonthNav svg{flex:0 0 auto}.bookingMonthGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px 4px}.bookingWeekday{padding:4px 0 8px;color:var(--muted);font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.06em;text-align:center;text-transform:uppercase}.bookingDayBlank{aspect-ratio:1}.bookingMonthDay{position:relative;display:grid;width:38px;height:38px;min-width:0;justify-self:center;align-self:center;place-items:center;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--text);font:500 13px/1 var(--font-body);cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.bookingMonthDay:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--booking-border));background:var(--secondary)}.bookingMonthDay.today,.bookingMonthDay.selected{border-color:var(--accent);background:var(--accent);color:var(--accent-text);font-weight:700}.bookingMonthDay.today:hover,.bookingMonthDay.selected:hover{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.bookingMonthDay i{position:absolute;bottom:3px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.bookingMonthDay.selected i{display:none}.bookingCalendarSummary{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--booking-border)}.bookingCalendarSummary div{display:flex;flex-direction:column;gap:3px;min-width:0}.bookingCalendarSummary strong{color:var(--text);font-size:12.5px;font-weight:650}.bookingCalendarSummary span{color:var(--muted);font-size:11.5px}.bookingCalendarSummary button{border:0;padding:4px 6px;background:transparent;color:var(--accent);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.bookingCalendarSummary button:hover{color:var(--accent);background:var(--secondary)}.bookingWalkInButton{white-space:nowrap}@media(max-width:640px){.bookingPageHeader{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:16px}.bookingPageHeader .bookingWalkInButton{align-self:flex-start}}.walkInServiceField{min-width:0}.walkInServiceField .fieldLabel>span{color:var(--muted);font-weight:400}.walkInServiceOptions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.walkInServiceOption{display:flex;min-width:0;align-items:flex-start;gap:8px;padding:9px 10px;border:1px solid var(--booking-border);border-radius:7px;color:var(--text);font-size:13px;cursor:pointer}.walkInServiceOption input{margin:2px 0 0;accent-color:var(--accent)}.walkInServiceOption span{overflow-wrap:anywhere}.walkInServiceOption:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.bookingActionError.formSuccess{border-color:#9dd9b2;background:#effaf2;color:#216b3c}@media(max-width:480px){.bookingCalendarPanel{padding:14px 12px}.bookingMonthGrid{gap:5px 2px}.bookingMonthDay{width:34px;height:34px}}@media(max-width:1020px){.bookingManagementGrid{grid-template-columns:minmax(0,1fr)}.bookingCalendarPanel{margin-top:0;grid-row:2}}@media(max-width:680px){.bookingManagementGrid{gap:18px}.bookingManagementPage .bookingsTable,.bookingManagementPage .bookingsTable tbody,.bookingManagementPage .bookingsTable tr,.bookingManagementPage .bookingsTable td{display:block;width:100%}.bookingManagementPage .bookingsTable thead{display:none}.bookingManagementPage .bookingsTable tbody{display:flex;flex-direction:column;gap:8px}.bookingManagementPage .bookingsTable tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;padding:9px 10px;border-bottom:1px solid var(--booking-border)}.bookingManagementPage .bookingsTable tbody tr:last-child{border-bottom:0}.bookingManagementPage .bookingsTable td{padding:2px 0;border:0;font-size:12px}.bookingManagementPage .bookingsTable td:not(.bookingNameCell):before{display:block;margin-bottom:2px;content:attr(data-label);color:var(--muted);font-size:12px;font-weight:600}.bookingManagementPage .bookingsTable td.bookingNameCell{grid-column:1 / -1}.bookingManagementPage .statusPill{max-width:100%}}.calendarLegend{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:14px}.calendarLegendItem{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}.calendarLegendSwatch{width:12px;height:12px;border-radius:4px;background:transparent;border:1px solid rgba(var(--accent-rgb),.45)}.calendarLegendSwatch.pending,.calendarItem.pending{background:transparent;color:var(--status-warning);border:1px solid currentColor}.calendarLegendSwatch.approved,.calendarItem.approved{background:transparent;color:var(--status-success);border:1px solid currentColor}.calendarLegendSwatch.awaiting_payment,.calendarItem.awaiting_payment{background:transparent;color:var(--status-violet);border:1px solid currentColor}.calendarLegendSwatch.completed,.calendarItem.completed{background:transparent;color:var(--status-info);border:1px solid currentColor}.calendarLegendSwatch.cancelled,.calendarItem.cancelled{background:transparent;color:var(--status-danger);border:1px solid currentColor}.calendarLegendSwatch.archived,.calendarItem.archived{background:transparent;color:var(--muted);border:1px solid currentColor}.calendarGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.calendarCell{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid rgba(var(--accent-rgb),.45);border-radius:12px;background:transparent;font:inherit;text-align:left;color:var(--text);cursor:default}.calendarCell.interactive{cursor:pointer;transition:none}.calendarCell.interactive:hover{border-color:var(--line);transform:none}.calendarCellHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.calendarCellHeader strong{display:block;font-size:14px}.calendarCellHeader small{color:var(--muted);font-size:12px}.calendarCellCount{font-size:11.5px;color:var(--muted);white-space:nowrap}.calendarItemStack{display:flex;flex-direction:column;gap:4px}.calendarItem{padding:4px 8px;border-radius:6px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendarMoreHint{font-size:12px;color:var(--accent)}.calendarEmpty{font-size:12.5px;color:var(--muted)}.detailGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.detailBox.luxeBox{padding:12px 14px;border:1px solid rgba(var(--accent-rgb),.45);border-radius:12px;background:transparent}.detailLabel{display:block;font-size:12px;color:var(--muted)}.detailBox strong{display:block;margin-top:2px;font-size:13.5px;color:var(--text);overflow-wrap:anywhere}.detailNote{padding:12px 14px;border:1px solid rgba(var(--accent-rgb),.45);border-radius:12px;background:transparent}.detailNote p{margin:4px 0 0;font-size:13.5px;line-height:1.5;color:var(--text)}.detailNote.noteRibbon{border-left:4px solid var(--accent)}.detailNote.reschedulePanel.attention{border-color:#d6457066;background:transparent}.inlineActionRow{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.patientDrawerOverlay{position:fixed;inset:0;z-index:40;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .25s var(--ease-cinematic)}.patientDrawerOverlay.open{opacity:1;pointer-events:auto}.patientDrawer{position:fixed;top:50%;left:50%;z-index:50;width:min(540px,calc(100% - 32px));max-height:calc(100% - 48px);border:1px solid rgba(var(--accent-rgb),.45);border-radius:18px;background:var(--bg);box-shadow:0 24px 60px #00000047;overflow-y:auto;opacity:0;pointer-events:none;transform:translate(-50%,-48%) scale(.97);transition:opacity .25s var(--ease-cinematic),transform .3s var(--ease-cinematic)}.patientDrawer.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.patientDrawerInner{display:flex;flex-direction:column;gap:18px;padding:24px}.patientDrawerHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid rgba(var(--accent-rgb),.45)}.patientDrawerHeader h3{margin:4px 0 8px;font-size:20px;color:var(--text)}.patientDrawerCloseBtn{flex:0 0 auto;width:34px;height:34px;border:1px solid rgba(var(--accent-rgb),.45);border-radius:10px;background:transparent;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;transition:border-color .2s var(--ease-cinematic),color .2s var(--ease-cinematic)}.patientDrawerCloseBtn:hover{border-color:var(--accent);color:var(--accent)}.patientDrawerBody{display:flex;flex-direction:column;gap:16px}.patientRecordPeek{display:flex;flex-wrap:wrap;gap:6px}.patientRecordPeek>span{padding:4px 10px;border:1px solid rgba(var(--accent-rgb),.45);border-radius:999px;background:transparent;font-size:12.5px;color:var(--muted)}.patientRecordPeek>.statusPill.pending{background:transparent;border-color:color-mix(in srgb,var(--status-warning) 40%,transparent);color:var(--status-warning)}.patientRecordPeek>.statusPill.approved{background:transparent;border-color:color-mix(in srgb,var(--status-success) 40%,transparent);color:var(--status-success)}.patientRecordPeek>.statusPill.awaiting_payment{background:transparent;border-color:color-mix(in srgb,var(--status-violet) 40%,transparent);color:var(--status-violet)}.patientRecordPeek>.statusPill.completed{background:transparent;border-color:color-mix(in srgb,var(--status-info) 40%,transparent);color:var(--status-info)}.patientRecordPeek>.statusPill.cancelled{background:transparent;border-color:color-mix(in srgb,var(--status-danger) 40%,transparent);color:var(--status-danger)}.actionColumn.actionColumnFriendly{display:flex;flex-wrap:wrap;gap:8px;padding-top:16px;border-top:1px solid rgba(var(--accent-rgb),.45)}.actionColumn.actionColumnFriendly .patientActionBtn{flex:1 1 auto;width:auto}.patientActionBtn{font-size:13px}.detailList{display:flex;flex-direction:column;margin:0}.detailRow{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid rgba(var(--accent-rgb),.45)}.detailRow:last-child{border-bottom:0}.detailRow dt{font-size:13px;color:var(--muted)}.detailRow dd{margin:0;font-size:14px;color:var(--text);overflow-wrap:anywhere}.drawerNote{padding-left:12px;border-left:3px solid var(--accent)}.drawerNote p{margin:4px 0 0;font-size:13.5px;line-height:1.55;color:var(--text)}.drawerNoteLabel{display:block;font-size:13px;color:var(--muted)}.drawerReschedule{padding:12px 0 0;border-top:1px solid rgba(var(--accent-rgb),.45)}.drawerReschedule p{margin:4px 0 0;font-size:13.5px;line-height:1.5;color:var(--text)}.drawerReschedule.attention{padding:12px 14px;border:1px solid rgba(214,69,112,.4);border-radius:12px;background:transparent}.patientDrawerOverlay.rescheduleOverlay{z-index:70}.patientDrawer.rescheduleModal{z-index:80;width:min(440px,calc(100% - 32px))}.rescheduleFields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rescheduleFields label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.rescheduleFields input,.rescheduleFields select{padding:9px 12px;border:1px solid rgba(var(--accent-rgb),.45);border-radius:10px;background:transparent;font:inherit;font-size:14px;color:var(--text);color-scheme:dark}html[data-theme=light] .rescheduleFields input,html[data-theme=light] .rescheduleFields select,html[data-theme=blue] .rescheduleFields input,html[data-theme=blue] .rescheduleFields select{color-scheme:light}.rescheduleFields input:focus,.rescheduleFields select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.rescheduleHint{margin:0;font-size:13px;color:var(--muted)}.rescheduleModal .btn:disabled{opacity:.6;cursor:not-allowed}.modalOverlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:16px;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.adminAppMain .adminSurface .modalOverlay:has(.confirmModalCard){z-index:1100}.modalCard{width:min(600px,100%);max-height:calc(100vh - 48px);overflow-y:auto;padding:24px;border:1px solid rgba(var(--accent-rgb),.45);border-radius:18px;background:var(--bg);box-shadow:0 24px 60px #00000047}.modalOverlay.addPatientModalOverlay{z-index:1000;overflow-y:auto;padding:20px;background:#00000073;-webkit-backdrop-filter:none;backdrop-filter:none}.modalCard.addPatientModal{width:min(760px,100%);max-width:760px;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);padding:0;overflow:hidden;border-color:var(--line);border-radius:16px;background:var(--surface);box-shadow:0 20px 48px #00000038}.addPatientModal .modalHead{flex:0 0 auto;padding:14px 20px;border-color:var(--line)}.addPatientModal .modalTitle{font-size:20px;line-height:1.1}.addPatientModal .iconBtn{flex:0 0 auto;border-color:var(--line);border-radius:8px}.addPatientModal .iconBtn:hover{border-color:var(--line);color:var(--muted)}.addPatientModal .iconBtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.addPatientModal .modalBody{flex:1 1 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:12px 16px;min-height:0;padding:16px 20px;overflow-y:auto;overscroll-behavior:contain}.addPatientModal .modalFoot{flex:0 0 auto;flex-wrap:wrap;padding:12px 20px;border-color:var(--line);background:var(--surface)}.addPatientModal .btnSecondary:hover:not(:disabled){border-color:var(--button-secondary-border);background:var(--button-secondary-background);color:var(--button-secondary-color)}@media(max-width:640px){.modalOverlay.addPatientModalOverlay{align-items:flex-start;padding:10px}.modalCard.addPatientModal{max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);border-radius:12px}.addPatientModal .modalHead{padding:12px 14px}.addPatientModal .modalBody{grid-template-columns:minmax(0,1fr);gap:10px;padding:14px}.addPatientModal .modalFoot{padding:10px 14px}}.modalHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid rgba(var(--accent-rgb),.45)}.modalTitleGroup h3{margin:4px 0;font-size:20px;color:var(--text)}.modalTitleGroup p{margin:0;font-size:13.5px;color:var(--muted)}.modalClose{flex:0 0 auto;width:34px;height:34px;border:1px solid rgba(var(--accent-rgb),.45);border-radius:10px;background:transparent;color:var(--muted);font-size:20px;line-height:1;cursor:pointer}.modalClose:hover{border-color:var(--accent);color:var(--accent)}.historyList{display:flex;flex-direction:column;gap:8px}.historyRow{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(var(--accent-rgb),.45);border-radius:12px;background:transparent}.historyRow strong{font-size:14px;color:var(--text)}.historyRow p{margin:2px 0 0;font-size:12.5px;color:var(--muted)}.historyMeta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:12.5px;color:var(--muted);text-align:right}@media(max-width:720px){.hero.adminHero{padding:20px}.adminHeroContent h1{font-size:24px}.cardHeader,.historyRow{flex-direction:column}.historyMeta{align-items:flex-start;text-align:left}}@media(max-width:520px){.detailRow{grid-template-columns:90px 1fr}.patientDrawerInner{padding:18px}.rescheduleFields{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.patientDrawer,.patientDrawerOverlay,.calendarCell,.btn{transition:none}}.patientDrawer.bracesWorkspaceModal{position:fixed!important;inset:0!important;margin:auto!important;transform:none!important;box-sizing:border-box;width:calc(100% - 32px)!important;max-width:1000px!important;height:fit-content;max-height:calc(100vh - 32px)!important;overflow-y:auto;border-radius:22px}.bracesWorkspaceModal .patientDrawerInner{padding:24px 28px}.bracesWorkspaceModal .patientDrawerBody{display:flex;flex-direction:column;gap:16px}.bracesWorkspaceModal .bookingFlowGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.bracesWorkspaceModal .bookingFieldCard{min-width:0}.bracesWorkspaceModal .bracesSummaryGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.bracesWorkspaceModal select.input,.bracesWorkspaceModal input[type=date].input,.bracesWorkspaceModal input[type=time].input{height:44px;line-height:1.2;padding-top:0;padding-bottom:0}.bracesWorkspaceModal textarea.input{min-height:80px}.bracesWorkspaceModal .bracesPaymentCard,.bracesWorkspaceModal .adminRecordsCard{padding:20px;gap:14px}@media(max-width:640px){.patientDrawer.bracesWorkspaceModal{width:calc(100% - 16px)!important;max-height:calc(100vh - 16px)!important}.bracesWorkspaceModal .patientDrawerInner{padding:18px 16px}}.patientDrawer.bracesWorkspaceModal{background:var(--bg);color:var(--text);border:1px solid var(--line);box-shadow:0 30px 80px #00000059}.bracesWorkspaceModal .patientDrawerHeader{border-bottom:1px solid var(--line);padding-bottom:14px}.bracesWorkspaceModal .patientDrawerHeader h3{color:var(--text)}.bracesWorkspaceModal .detailSubtitle{color:var(--muted)}.bracesWorkspaceModal .detailLabel{color:var(--muted);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.bracesWorkspaceModal .patientDrawerCloseBtn{border:1px solid var(--line);background:var(--surface);color:var(--muted)}.bracesWorkspaceModal .patientDrawerCloseBtn:hover{color:var(--muted);border-color:var(--line)}.bracesWorkspaceModal .input{background:var(--surface);color:var(--text);border:1px solid var(--line)}.bracesWorkspaceModal .input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.18)}.bracesWorkspaceModal .bookingFieldCard{display:flex;flex-direction:column;gap:6px}.bracesWorkspaceModal .detailBox,.bracesWorkspaceModal .luxeBox{background:var(--surface);border:1px solid var(--line);border-left:2px solid var(--accent);border-radius:8px;padding:12px 16px;display:flex;flex-direction:column;gap:4px}.bracesWorkspaceModal .detailBox strong{font-size:20px;color:var(--text)}.bracesWorkspaceModal .bracesPaymentCard,.bracesWorkspaceModal .adminRecordsCard{background:var(--surface);border:1px solid var(--line);border-radius:8px}.bracesWorkspaceModal .cardHeader .title{color:var(--text)}.bracesWorkspaceModal .cardHeader .sub{color:var(--muted)}.bracesWorkspaceModal .badge{color:var(--muted);background:transparent;border:1px solid var(--line)}.bracesWorkspaceModal .historyRow{background:transparent;border:1px solid var(--line);border-radius:8px;padding:12px 16px}.bracesWorkspaceModal .historyRow p{color:var(--muted)}.bracesWorkspaceModal .bookingPrimaryBtn{background:var(--button-primary-background);color:var(--button-primary-color);border:1px solid var(--button-primary-background);align-self:flex-start}.bracesWorkspaceModal .bookingPrimaryBtn:hover:not(:disabled){opacity:1}.adminSurface .card{padding:22px;border-radius:10px;background:var(--surface);border:1px solid var(--line);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.adminSurface .cardHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.adminSurface .cardHeader .title{margin:0;font-size:20px;color:var(--text)}.adminSurface .cardHeader .sub{margin:4px 0 0;font-size:14.5px;color:var(--muted)}.adminSurface .badge{flex:none;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:600;color:var(--muted);border:1px solid var(--line);background:transparent}.adminSurface .form{display:flex;flex-direction:column;gap:12px}.adminSurface .btn.btnShine,.adminSurface form .btn[type=submit]{background:var(--button-primary-background);color:var(--button-primary-color);border-color:var(--button-primary-background)}html[data-theme=blue] .adminSurface .btn.btnShine,html[data-theme=blue] .adminSurface form .btn[type=submit]{color:var(--button-primary-color)}.adminSurface .btn.secondary{background:var(--button-secondary-background);color:var(--button-secondary-color);border:1px solid var(--button-secondary-border)}.adminSurface .btn.secondary:hover:not(:disabled){border-color:var(--button-secondary-border);background:var(--button-secondary-background)}.adminSurface .btn.danger{background:var(--button-danger-background);color:var(--button-danger-color);border:1px solid var(--button-danger-border)}.adminSurface .btn.danger:hover:not(:disabled){background:var(--button-danger-background)}.adminSurface .btn.archiveButton{background:var(--button-danger-background);color:var(--button-danger-color);border:1px solid var(--button-danger-border)}.adminSurface .btn.archiveButton:hover:not(:disabled){color:var(--button-danger-color);border-color:var(--button-danger-border);background:var(--button-danger-background)}.adminSurface .statsGrid.compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.adminSurface .statsGrid.compact .statCard{display:flex;flex-direction:column;gap:4px;padding:14px 18px;border-radius:8px;background:var(--surface);border:1px solid var(--line)}.adminSurface .statsGrid.compact .statLabel{font-size:14px;color:var(--muted)}.adminSurface .statsGrid.compact .statValue{font-size:28px;color:var(--text)}.dentistManagementPage{width:100%;max-width:100%}.dentistRecordsCard{width:100%;min-width:0;margin-top:0}.dentistRecordsHeader{align-items:center}.dentistRecordsActions{display:flex;flex:0 0 auto;align-items:center;gap:10px}.dentistAddButton{min-height:40px;padding:8px 14px;border-color:var(--accent);border-radius:9px;background:color-mix(in srgb,var(--accent) 18%,var(--surface));color:var(--text);transition:none}.dentistAddButton:hover,.dentistAddButton:active{filter:none;transform:none}.dentistTableWrap{max-width:100%;overflow-x:auto}.dentistTableWrap .patientTable{width:100%;min-width:820px;border-collapse:collapse}.dentistTableWrap .patientTable th{padding:10px 14px;text-align:left;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid rgba(var(--accent-rgb),.45)}.dentistTableWrap .patientTable td{padding:14px;font-size:15px;color:var(--text);border-bottom:1px solid rgba(var(--accent-rgb),.45)}@media(max-width:640px){.dentistRecordsHeader{align-items:stretch;flex-direction:column}.dentistRecordsActions{justify-content:space-between}}.patientTableRow{cursor:pointer}.patientTableRow:last-child td{border-bottom:0}.patientTableRow:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.patientTableNameCell{font-weight:600;font-size:15.5px}.patientTableStatusHead{width:110px}.patientTableStatusCell{text-align:right}.adminSurface .emptyEditorState{padding:22px;border-radius:16px;border:1px dashed rgba(var(--accent-rgb),.45);text-align:center;color:var(--muted)}.adminSurface .emptyEditorState strong{display:block;color:var(--text);margin-bottom:4px}.adminSurface .emptyEditorState p{margin:0}.dentistModalOverlay{position:fixed;inset:0;z-index:1000;background:#0009;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.schedulerPanel.dentistModal{position:fixed;inset:0;z-index:1001;margin:auto;box-sizing:border-box;width:calc(100% - 32px);max-width:880px;height:fit-content;max-height:calc(100vh - 48px);overflow-y:auto;padding:24px 28px;display:flex;flex-direction:column;gap:14px;border-radius:22px;background:var(--bg);color:var(--text);border:1px solid rgba(var(--accent-rgb),.45);box-shadow:0 30px 80px #00000073}.schedulerPanel.dentistModal.addDentistDialog{max-width:520px;gap:16px;padding:22px;border-color:var(--line);border-radius:16px;background:var(--surface);box-shadow:0 18px 48px #00000038}.addDentistForm{display:flex;flex-direction:column;gap:12px}.addDentistForm .input{min-height:44px;border-color:var(--line);border-radius:9px;background:var(--surface);color:var(--text);font:400 14px/1.4 var(--font-body)}.addDentistActions{display:flex;justify-content:flex-end;gap:9px;padding-top:12px;border-top:1px solid var(--line)}.addDentistDialog .btn{transition:none}.addDentistDialog .btn:hover,.addDentistDialog .btn:active{filter:none;transform:none}.dentistModal .patientDrawerHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid rgba(var(--accent-rgb),.45)}.dentistModal .detailTitle{display:block;font-size:22px;color:var(--text)}.dentistModal .detailSubtitle{margin:4px 0 0;font-size:14px;color:var(--muted)}.dentistModal .patientDrawerCloseBtn{flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(var(--accent-rgb),.45);background:transparent;color:var(--muted);font-size:20px;cursor:pointer}.dentistModal .patientDrawerCloseBtn:hover{color:var(--text);border-color:var(--accent)}.dentistModal .detailNote{display:flex;flex-direction:column;gap:4px;padding:12px 16px;border-radius:14px;background:transparent;border:1px solid rgba(var(--accent-rgb),.45);border-left:4px solid var(--accent)}.dentistModal .detailNote p{margin:0;font-size:14.5px;line-height:1.5;color:var(--text)}.dentistModal .detailLabel{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.dentistModal .cardHeader{margin:6px 0 0}.dentistModal .cardHeader .title{font-size:18px}.dentistModal .bookingFlowGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.dentistModal .input{padding:9px 14px;font-size:14.5px}.dentistModal select.input,.dentistModal input[type=date].input,.dentistModal input[type=time].input{height:42px;padding-top:0;padding-bottom:0}.dentistModal .input:disabled{opacity:.5;cursor:not-allowed}.dentistModal .inlineActionRow,.dentistModal .schedulerActions{display:flex;flex-wrap:wrap;gap:10px}.dentistModal .schedulerGrid{display:flex;flex-direction:column;gap:8px}.dentistModal .schedulerRow{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:12px;padding:10px 14px;border-radius:14px;background:transparent;border:1px solid rgba(var(--accent-rgb),.45)}.dentistModal .schedulerDay{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px;cursor:pointer}.dentistModal .schedulerDay input{width:18px;height:18px;accent-color:var(--accent)}.dentistModal .list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.dentistModal .item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:14px;background:transparent;border:1px solid rgba(var(--accent-rgb),.45)}.dentistModal .kv{display:flex;flex-direction:column;gap:2px;min-width:0}.dentistModal .kv strong{font-size:15px;color:var(--text)}.dentistModal .kv span{font-size:14px;color:var(--muted)}.dentistModal .actionColumn{display:flex;justify-content:flex-end;margin-top:6px;padding-top:14px;border-top:1px solid rgba(var(--accent-rgb),.45)}@media(max-width:640px){.schedulerPanel.dentistModal{width:calc(100% - 16px);max-height:calc(100vh - 16px);padding:18px 16px}.schedulerPanel.dentistModal.addDentistDialog{width:calc(100% - 28px);padding:18px 16px}.dentistModal .schedulerRow{grid-template-columns:1fr 1fr}.dentistModal .schedulerDay{grid-column:1 / -1}.adminSurface .card{padding:16px;border-radius:10px}}.schedulerPanel.dentistModal:not(.addDentistDialog){max-width:900px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);padding:20px 22px;gap:12px;border-color:var(--line);border-radius:16px;background:var(--surface);box-shadow:0 18px 48px #00000038}.dentistModal .dentistProfileHeader{align-items:flex-start;gap:18px;margin:0;padding:0 0 12px;border-bottom:1px solid var(--line)}.dentistProfileInfo{min-width:0}.dentistModal .dentistProfileInfo .detailTitle{margin:0 0 8px;font-size:23px;line-height:1.2;font-weight:700}.dentistProfileMeta{display:flex;flex-wrap:wrap;gap:6px 18px}.dentistProfileMeta span{display:flex;flex-wrap:wrap;gap:4px;color:var(--muted);font-size:12.5px;line-height:1.45}.dentistProfileMeta span strong{color:var(--text);font-weight:600}.dentistModal .dentistProfileHeader .patientDrawerCloseBtn{border-color:var(--line);border-radius:9px}.dentistModal .dentistProfileHeader .patientDrawerCloseBtn:hover{background:var(--surface);border-color:var(--line);color:var(--text)}.dentistExceptions{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.dentistExceptions>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:9px 12px;color:var(--text);font-size:13px;font-weight:650;cursor:pointer;list-style:none}.dentistExceptions>summary::-webkit-details-marker{display:none}.dentistExceptions>summary:after{content:"⌄";order:1;color:var(--muted);font-size:16px}.dentistExceptions[open]>summary{border-bottom:1px solid var(--line)}.dentistExceptions>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.dentistExceptionCount{margin-left:auto;color:var(--muted);font-size:12px;font-weight:500}.dentistExceptionEmpty{margin:0;padding:12px;color:var(--muted);font-size:13px}.dentistExceptionForm{display:grid;gap:10px;padding:12px;border-top:1px solid var(--line)}.dentistExceptionFields,.dentistDetailFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dentistExceptionFields label,.dentistDetailFields label{display:flex;min-width:0;flex-direction:column;gap:5px;color:var(--muted);font-size:12px;font-weight:600}.dentistModal .dentistExceptionFields .input,.dentistModal .dentistDetailFields .input{min-width:0;height:40px;min-height:40px;padding:8px 10px;border-color:var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:400 13.5px/1.35 var(--font-body)}.dentistEditorSection{display:flex;flex-direction:column;gap:10px}.dentistModal .dentistEditorSectionHeader{align-items:flex-end;margin:0;padding-bottom:8px;border-bottom:1px solid var(--line)}.dentistModal .dentistEditorSectionHeader .title{font-size:15px;line-height:1.3}.dentistModal .dentistEditorSectionHeader .sub{margin-top:2px;font-size:12px}.dentistModal .dentistDetailFields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dentistModal .schedulerGrid{gap:5px}.dentistModal .schedulerRow{grid-template-columns:minmax(150px,1.25fr) repeat(2,minmax(110px,1fr));gap:10px;padding:6px 10px;border-color:var(--line);border-radius:8px;background:var(--surface)}.dentistModal .schedulerRow.isEnabled{border-left:3px solid var(--accent);background:color-mix(in srgb,var(--surface) 96%,var(--accent))}.dentistModal .schedulerRow.isDisabled{background:color-mix(in srgb,var(--surface) 96%,var(--muted))}.dentistModal .schedulerDay{gap:9px;font-size:13px}.dentistModal .schedulerDay input{flex:0 0 auto;width:16px;height:16px}.dentistModal .schedulerRow .input{width:100%;min-width:0;height:36px;min-height:36px;padding:5px 8px;border-color:var(--line);border-radius:7px;background:var(--surface);color:var(--text);font:400 13px/1.3 var(--font-body)}.dentistModal .schedulerRow .input:disabled{opacity:.55;background:color-mix(in srgb,var(--surface) 90%,var(--muted))}.dentistModal .dentistEditorActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:0}.dentistModal .dentistEditorActions .btn{min-height:36px;padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text)}.dentistModal .dentistEditorActions .btn.btnShine{border-color:var(--button-primary-background);background:var(--button-primary-background);color:var(--button-primary-color)}.dentistModal .dentistEditorActions .btn.secondary{border-color:var(--button-secondary-border);background:var(--button-secondary-background);color:var(--button-secondary-color)}.dentistModal .dentistEditorActions .btn:hover,.dentistModal .dentistEditorActions .btn:active{filter:none;transform:none}.dentistModal .actionColumn.actionColumnFriendly{margin-top:0;padding-top:10px;border-top-color:var(--line)}@media(max-width:640px){.schedulerPanel.dentistModal:not(.addDentistDialog){width:calc(100% - 16px);max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);padding:16px 14px}.dentistProfileMeta{flex-direction:column;gap:3px}.dentistModal .schedulerRow{grid-template-columns:minmax(105px,1fr) repeat(2,minmax(0,1fr));gap:6px;padding:6px}.dentistModal .schedulerDay{grid-column:auto;gap:6px;font-size:12px}.dentistModal .dentistExceptionFields:last-child{grid-template-columns:minmax(0,1fr) repeat(2,minmax(0,.8fr))}}.bookingPage .svcLayout{display:flex;flex-direction:column;gap:28px;width:100%;max-width:min(var(--maxw),760px);margin:0 auto;padding:24px 20px 60px}.svcStageCol{display:flex;flex-direction:column;gap:16px;min-width:0}.svcStage{position:relative;aspect-ratio:16 / 9;border-radius:24px;overflow:hidden;background:transparent;box-shadow:var(--shadow, 0 18px 50px rgba(0, 0, 0, .12))}.svcStageImg{display:block;width:100%;height:100%;object-fit:cover;animation:svcFadeIn .45s var(--ease-cinematic, ease) both}.svcStageImg.serviceMediaScary{object-fit:contain;background:#120a0a}.svcNav{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 14px;pointer-events:none}.svcArrow{pointer-events:auto;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(var(--accent-rgb),.45);background:var(--bg);color:var(--text);font-size:26px;line-height:1;cursor:pointer;box-shadow:0 6px 18px #0000002e;transition:transform .25s ease,background-color .25s ease,color .25s ease}.svcArrow:hover{transform:scale(1.08);background:var(--accent);color:var(--on-accent, #1c1a14)}.svcArrow:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.svcCount{position:absolute;right:16px;bottom:16px;padding:5px 12px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--text);background:var(--bg);border:1px solid rgba(var(--accent-rgb),.45)}.svcDots{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.svcDot{width:10px;height:10px;padding:0;border-radius:999px;border:0;background:rgba(var(--accent-rgb),.45);cursor:pointer;transition:width .3s ease,background-color .3s ease}.svcDot:hover{background:rgba(var(--accent-rgb),.6)}.svcDot.isActive{width:28px;background:var(--accent)}.svcDetail{min-width:0}.svcDetailInner{display:flex;flex-direction:column;align-items:flex-start;gap:16px;animation:svcFadeIn .45s var(--ease-cinematic, ease) both}.svcKind{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.svcName{margin:0;font-size:clamp(30px,4vw,44px);line-height:1.1;color:var(--text)}.svcLead{margin:0;font-size:17px;line-height:1.6;color:var(--muted)}.svcFacts{display:grid;grid-template-columns:1fr 1fr;width:100%;margin:4px 0 0;border:1px solid rgba(var(--accent-rgb),.45);border-radius:18px;background:transparent}.svcFacts>div{display:flex;flex-direction:column;gap:4px;padding:16px 20px}.svcFacts>div+div{border-left:1px solid rgba(var(--accent-rgb),.45)}.svcFacts dt,.svcRows dt,.svcTypesLabel{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.svcFacts dd{margin:0;font-size:18px;font-weight:600;color:var(--text)}.svcTypes{margin:0;font-size:15.5px;font-weight:600;color:var(--text)}.svcTypesLabel{margin-right:12px}.svcRows{width:100%;margin:0}.svcRows>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:12px 0;border-top:1px solid rgba(var(--accent-rgb),.45)}.svcRows dt{padding-top:3px}.svcRows dd{margin:0;font-size:15px;line-height:1.6;color:var(--text)}.svcMore{width:100%}.svcMore summary{list-style:none;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:15.5px;font-weight:600;color:var(--accent)}.svcMore summary::-webkit-details-marker{display:none}.svcMore summary:after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s ease}.svcMore[open] summary:after{transform:rotate(-135deg)}.svcMore summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.svcMore .svcRows{margin-top:10px}.svcActions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:8px}.svcActions .btn{min-height:48px;padding:11px 28px;font-size:16px;text-decoration:none}.svcLink{font-size:15.5px;font-weight:600;color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .25s ease}.svcLink:hover{border-bottom-color:var(--accent)}@keyframes svcFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:640px){.bookingPage .svcLayout{gap:22px;padding:16px 14px 48px}.svcStage{aspect-ratio:4 / 3;border-radius:18px}.svcArrow{width:40px;height:40px;font-size:22px}.svcLead{font-size:16px}.svcRows>div{grid-template-columns:1fr;gap:4px}.svcRows dt{padding-top:0}}.promotionsPage{--promo-primary: var(--accent);--promo-primary-soft: rgba(var(--accent-rgb), .16);--promo-on-primary: var(--accent-text);--promo-bg: transparent;--promo-text: var(--text);--promo-muted: color-mix(in srgb, var(--text) 62%, transparent);--promo-border: rgba(var(--accent-rgb), .45);--promo-radius: 14px;--promo-radius-sm: 10px;--promo-ring: 0 0 0 3px var(--line-focus);display:flex;flex-direction:column;gap:10px}.promotionsPageActions{display:flex;justify-content:flex-end}.promotionsPage .card{background:transparent;border:1px solid var(--promo-border);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.promotionsPage .pageHeader{display:flex;align-items:center;justify-content:space-between;gap:1rem}.promotionsPage .cardHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.promotionsPage .promoEditor{border-color:color-mix(in srgb,var(--promo-primary) 35%,var(--promo-border));animation:promoFadeIn .25s ease-out}@keyframes promoFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.promotionsPage .promoForm{display:flex;flex-direction:column;gap:1.25rem}.promotionsPage .promoGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.promotionsPage .promoField{display:flex;flex-direction:column;gap:.4rem;min-width:0;margin:0;padding:0;border:0}.promotionsPage .detailLabel{padding:0;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--promo-muted)}.promotionsPage .inlineActionRow{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.promotionsPage .promoFormActions{justify-content:flex-end}.promotionsPage .promoPreview{display:block;width:100%;max-width:420px;max-height:280px;object-fit:cover;border-radius:var(--promo-radius);border:1px solid var(--promo-border);background:var(--promo-bg)}.promotionsPage .promoServices{gap:.75rem}.promotionsPage .promoChips{display:flex;flex-wrap:wrap;gap:.5rem}.promotionsPage .promoChip{position:relative;display:inline-flex;cursor:pointer}.promotionsPage .promoChip input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.promotionsPage .promoChip span{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;border:1px solid var(--promo-border);border-radius:999px;font-size:.88rem;font-weight:500;-webkit-user-select:none;user-select:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.promotionsPage .promoChip:hover span{border-color:var(--promo-primary)}.promotionsPage .promoChip input:checked+span{background:transparent;border-color:var(--promo-primary);box-shadow:inset 0 0 0 1px var(--promo-primary);color:var(--promo-text);font-weight:600}.promotionsPage .promoChip input:checked+span:before{content:"✓";font-size:.8rem}.promotionsPage .promoChip input:focus-visible+span{box-shadow:var(--promo-ring)}.promotionsPage .promoList{display:flex;flex-direction:column;gap:1rem}.promotionsPage .promoItem{display:grid;grid-template-columns:160px minmax(0,1fr) auto;gap:1.25rem;align-items:start;padding:1rem;border:1px solid var(--promo-border);border-radius:var(--promo-radius);transition:border-color .18s ease,box-shadow .18s ease}.promotionsPage .promoItem:hover{border-color:var(--promo-primary)}.promotionsPage .promoThumb{width:160px;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--promo-radius-sm);background:var(--promo-bg)}.promotionsPage .promoThumbEmpty{display:grid;place-items:center;background:transparent;border:1px solid var(--promo-primary);color:var(--promo-text);font-family:var(--font-display);font-size:1.75rem;font-weight:800;letter-spacing:-.02em}.promotionsPage .promoBody{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;min-width:0}.promotionsPage .promoBody h3{margin:0;font-size:1.1rem;font-weight:650;line-height:1.3;overflow-wrap:anywhere}.promotionsPage .promoDesc{margin:0;color:var(--promo-muted);font-size:.92rem;line-height:1.55;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.promotionsPage .promoMeta{display:flex;flex-wrap:wrap;gap:.4rem .5rem;margin:.25rem 0 0;padding:0;list-style:none}.promotionsPage .promoMeta li{padding:.25rem .65rem;border:1px solid var(--promo-border);border-radius:8px;background:transparent;color:var(--promo-muted);font-size:.82rem;font-weight:500}.promotionsPage .promoActions{display:flex;flex-direction:column;align-items:stretch;align-self:center;gap:.5rem}.adminAppMain .adminSurface.promotionsPage .promoActions .promoEditButton,.adminAppMain .adminSurface.promotionsPage .promoActions .promoEditButton:hover,.adminAppMain .adminSurface.promotionsPage .promoActions .promoEditButton:focus-visible,.adminAppMain .adminSurface.promotionsPage .promoActions .promoEditButton:active{color:#4a3900;background:#ffd54f;border-color:#e6bd36;filter:none;transition:none}.adminAppMain .adminSurface.promotionsPage .promoActions .promoArchiveButton,.adminAppMain .adminSurface.promotionsPage .promoActions .promoArchiveButton:hover,.adminAppMain .adminSurface.promotionsPage .promoActions .promoArchiveButton:focus-visible,.adminAppMain .adminSurface.promotionsPage .promoActions .promoArchiveButton:active{color:#4a3900;background:#fff;border:1px solid #dc3545;filter:none;transition:none}.promotionsPage .promoBadge{--badge-color: var(--text-secondary);display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .7rem;border-radius:999px;border:1px solid var(--badge-color);background:transparent;color:var(--badge-color);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.promotionsPage .promoBadge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.promotionsPage .promoBadge[data-status=Active]{--badge-color: var(--status-success)}.promotionsPage .promoBadge[data-status=Scheduled]{--badge-color: var(--status-info)}.promotionsPage .promoBadge[data-status=Expired]{--badge-color: var(--danger)}.promotionsPage .promoBadge[data-status=Draft]{--badge-color: var(--promo-muted)}@media(max-width:720px){.promotionsPage .promoItem{grid-template-columns:1fr}.promotionsPage .promoThumb{width:100%;aspect-ratio:16 / 9}.promotionsPage .promoActions .btn,.promotionsPage .inlineActionRow .btn{flex:1 1 auto}.promotionsPage .pageHeader .btn{width:100%}}@media(prefers-reduced-motion:reduce){.promotionsPage *,.promotionsPage *:before,.promotionsPage *:after{animation:none!important;transition:none!important}}.acctPage{--acct-stroke: var(--line);--acct-radius: 20px;--acct-ease: var(--ease-cinematic, ease);display:flex;flex-direction:column;gap:18px;color:var(--text);font-family:var(--font-body)}.acctPage .input{background:transparent;border:1px solid var(--acct-stroke);color:var(--text)}.acctPage .input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.18)}.acctPage select.input option{background:var(--bg);color:var(--text)}.acctBanner{padding:12px 16px;border:1px solid var(--acct-stroke);border-radius:12px;background:transparent;font-size:14.5px;line-height:1.5}.acctPage .error.acctBanner{border-color:var(--danger);color:var(--danger)}.acctToast{position:fixed;top:100px;right:24px;z-index:1200;display:flex;align-items:center;justify-content:space-between;gap:14px;width:min(420px,calc(100% - 32px));border-color:var(--accent-teal);background:var(--bg);color:var(--text);box-shadow:0 18px 50px #00000059;animation:acctToastIn .4s var(--acct-ease) both}.acctToast button{flex:none;padding:0;border:0;background:transparent;color:var(--muted);font-size:16px;line-height:1;cursor:pointer}.acctToast button:hover{color:var(--text)}@keyframes acctToastIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}.acctBar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.acctBarLeft{display:flex;flex:1 1 440px;flex-wrap:nowrap;align-items:center;gap:10px;min-width:0}.acctSearch{position:relative;display:flex;align-items:center;flex:1 1 280px;max-width:none}.acctSearchIcon{position:absolute;left:14px;color:var(--muted);pointer-events:none}.acctSearchClear{position:absolute;right:12px;width:24px;height:24px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:13px;cursor:pointer;transition:color .3s var(--acct-ease)}.acctSearchClear:hover{color:var(--accent)}.acctCount{font-size:14px;font-weight:600;color:var(--muted);white-space:nowrap}.acctBarActions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.acctSort{display:flex;align-items:center;gap:10px}.acctSort span{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.acctSort .input{width:auto;min-width:160px;height:44px;border-radius:999px;cursor:pointer}.acctCard{padding:8px 22px;border:1px solid var(--acct-stroke);border-radius:var(--acct-radius);background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.acctCard>.error{margin:14px 0}.acctEmpty{display:flex;flex-direction:column;align-items:center;gap:8px;margin:0;padding:36px 16px;text-align:center;font-size:15px;color:var(--muted)}.acctEmpty strong{font-size:17px;color:var(--text)}.acctEmpty .btn{margin-top:10px}.acctList{margin:0;padding:0;list-style:none}.acctRow{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--acct-stroke);transition:opacity .3s var(--acct-ease)}.acctListHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0 10px}.acctRow.isDisabled{opacity:.6}.acctAvatar{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--accent);border-radius:50%;background:transparent;font-family:var(--font-display);font-size:15px;font-weight:700;letter-spacing:.02em;color:var(--text)}.acctWho{display:flex;flex-direction:column;gap:2px;min-width:0}.acctWho strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15.5px;color:var(--text)}.acctWho span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:var(--muted)}.acctPills{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.acctRole,.acctMeta{display:inline-flex;align-items:center;padding:4px 12px;border:1px solid var(--acct-stroke);border-radius:999px;background:transparent;font-size:13px;font-weight:700;white-space:nowrap}.acctRole{border-color:var(--accent);color:var(--text)}.acctMeta{color:var(--muted)}.acctMeta.isWarn{border-color:var(--danger);color:var(--danger)}.acctMenuWrap{position:relative;display:flex;justify-content:flex-end;min-width:38px}.acctIconBtn{width:38px;height:38px;display:grid;place-items:center;padding:0;border:1px solid var(--acct-stroke);border-radius:50%;background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;transition:border-color .3s var(--acct-ease),color .3s var(--acct-ease)}.acctIconBtn:hover:not(:disabled),.acctIconBtn[aria-expanded=true]{border-color:var(--accent);color:var(--text)}.acctIconBtn:disabled{opacity:.55;cursor:not-allowed}.acctIconBtn:focus-visible,.acctMenuItem:focus-visible,.acctSearchClear:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.acctMenu{position:absolute;top:calc(100% + 8px);right:0;z-index:30;display:flex;flex-direction:column;gap:2px;min-width:196px;padding:6px;border:1px solid var(--acct-stroke);border-radius:14px;background:var(--bg);box-shadow:0 18px 40px #0000004d;animation:acctMenuIn .18s var(--acct-ease) both}@keyframes acctMenuIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.acctMenuItem{width:100%;padding:10px 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text);font:inherit;font-size:14.5px;font-weight:500;text-align:left;cursor:pointer;transition:border-color .25s var(--acct-ease),color .25s var(--acct-ease)}.acctMenuItem:hover:not(:disabled){border-color:var(--acct-stroke);color:var(--accent)}.acctMenuItem.isDanger{color:var(--danger)}.acctMenuItem.isDanger:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.acctMenuItem:disabled{opacity:.45;cursor:not-allowed}.acctOverlay{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:20px;background:#0009;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:acctFade .25s var(--acct-ease) both}@keyframes acctFade{0%{opacity:0}to{opacity:1}}.acctDialog{display:flex;flex-direction:column;gap:16px;width:100%;max-width:480px;max-height:calc(100vh - 40px);overflow-y:auto;padding:26px 28px;border:1px solid var(--acct-stroke);border-radius:22px;background:var(--bg);box-shadow:0 30px 80px #00000073;animation:acctDialogIn .35s var(--acct-ease) both}@keyframes acctDialogIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.acctDialogHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.acctDialogHead h3{margin:0;font-size:21px;color:var(--text)}.acctHint{margin:-6px 0 0;font-size:14px;line-height:1.55;color:var(--muted)}.acctFields{display:flex;flex-direction:column;gap:14px}.acctField{display:flex;flex-direction:column;gap:6px;min-width:0}.acctField>span{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.acctField select.input{height:46px;padding-top:0;padding-bottom:0}.acctDialogActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:4px;padding-top:18px;border-top:1px solid var(--acct-stroke)}html[data-theme=light] .acctOverlay,html[data-theme=blue] .acctOverlay{background:#1f1a1673}@media(max-width:760px){.acctRow{grid-template-columns:auto minmax(0,1fr) auto;row-gap:10px}.acctPills{grid-column:1 / -1;grid-row:2;justify-content:flex-start;padding-left:60px}.acctCard{padding:4px 16px}.acctBarActions,.acctSort,.acctSort .input,.acctBarActions .btn{width:100%}.acctToast{top:84px;right:16px}}@media(max-width:480px){.acctDialog{padding:22px 18px}.acctDialogActions .btn{flex:1}}@media(prefers-reduced-motion:reduce){.acctPage *,.acctOverlay,.acctDialog{animation:none!important;transition:none!important}}.auditFilterBar{display:grid;grid-template-columns:minmax(200px,1.1fr) minmax(0,2.9fr);align-items:center;gap:8px;margin:0 0 8px;padding:0}.searchWrapper{position:relative;display:flex;align-items:center;width:100%;min-width:0}.clearSearchBtn{position:absolute;right:10px;padding:0;border:0;background:transparent;color:var(--accent);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.clearSearchBtn:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.filterSelectGroup{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:0}.auditTableWrapper{border:0;border-radius:0;background:transparent}.auditTableHeader,.auditTableRow{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.2fr) minmax(0,1.4fr) minmax(0,1.1fr) 130px;align-items:center;gap:16px;padding:0 22px}.auditTableHeader{padding-top:14px;padding-bottom:14px;border-bottom:1px solid var(--line);font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.auditTableRow{position:relative;padding-top:16px;padding-bottom:16px;border-bottom:1px solid var(--line);transition:border-color .14s ease}.auditTableRow:last-child{border-bottom:0}.auditTableRow:hover{border-bottom-color:var(--line)}.auditTableRow:last-child:hover{border-bottom-color:var(--line)}.actorCell,.targetCell{display:flex;flex-direction:column;gap:3px;min-width:0}.actorName,.targetLabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;color:var(--text)}.actorRole,.targetType{font-size:12px;font-weight:600;color:var(--muted)}.actorRole{letter-spacing:.08em}.targetType{text-transform:capitalize}.actionCell{min-width:0}.actionBadge{display:inline-flex;max-width:100%;padding:4px 12px;border:1px solid var(--accent);border-radius:999px;background:transparent;font-size:13px;font-weight:600;line-height:1.35;color:var(--text)}.timeCell{font-size:14px;color:var(--muted)}.detailsCell{display:flex;justify-content:flex-end}.noDetails{color:var(--muted)}.auditDetailsDrawer{position:relative}.detailsSummary{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:600;color:var(--accent);white-space:nowrap;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;transition:border-color .14s ease}.detailsSummary::-webkit-details-marker{display:none}.detailsSummary:after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .14s ease}.detailsSummary:hover,.auditDetailsDrawer[open] .detailsSummary{border-color:var(--accent)}.auditDetailsDrawer[open] .detailsSummary:after{transform:rotate(-135deg) translateY(-2px)}.detailsSummary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.auditDetailsContent{position:absolute;top:calc(100% + 8px);right:0;z-index:20;display:flex;flex-direction:column;gap:10px;width:min(320px,80vw);padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--bg);box-shadow:0 18px 40px #0000004d;text-align:left}.auditDetailRow{display:flex;flex-direction:column;gap:2px;font-size:13.5px;line-height:1.5}.auditDetailRow strong{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.auditDetailRow span{overflow-wrap:anywhere;color:var(--text)}.emptyAuditState{padding:48px 20px;text-align:center}.emptyAuditState strong{display:block;margin-bottom:6px;font-size:17px;color:var(--text)}.emptyAuditState p{margin:0 auto;max-width:420px;font-size:14.5px;line-height:1.55;color:var(--muted)}@media(max-width:980px){.auditTableHeader{display:none}.auditTableRow{grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;padding:16px 18px}.actorCell{grid-column:1}.actionCell{grid-column:2;grid-row:1;justify-self:end}.targetCell{grid-column:1 / -1}.timeCell{grid-column:1}.detailsCell{grid-column:2;grid-row:3}}@media(max-width:640px){.auditDetailsContent{right:0;left:auto}}@media(prefers-reduced-motion:reduce){.auditTableWrapper *{transition:none!important}}.archivePage{--archive-stroke: var(--line);--archive-ease: var(--ease-cinematic, ease);display:flex;flex-direction:column;align-items:stretch;width:100%;min-width:0;gap:18px;color:var(--text);font-family:var(--font-body)}.archivePage .input{background:transparent;border:1px solid var(--archive-stroke);color:var(--text)}.archivePage .input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.18)}.archivePage .error{padding:12px 16px;border:1px solid var(--danger);border-radius:12px;background:transparent;font-size:14.5px;line-height:1.5;color:var(--danger)}.archiveHeading{margin-bottom:18px}.archiveHeading h1{margin:0;color:var(--text);font-size:22px;font-weight:650}.archiveHeading p{margin:5px 0 0;color:var(--muted);font-size:13px}.archiveCategoryTabs{display:flex;align-items:center;gap:8px;width:100%;margin:0 0 20px;padding:0 0 12px;overflow-x:auto;border-bottom:1px solid var(--line)}.archiveCategoryTab{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}.archiveCategoryTab:hover,.archiveCategoryTab.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--text)}.archiveCategoryTab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.archiveCategoryCount{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:color-mix(in srgb,var(--text) 8%,var(--surface));color:inherit;font-size:11px;font-weight:700}.archiveSuccess{padding:11px 0;color:var(--text);font-size:13px}.archiveSection{display:flex;flex-direction:column;width:100%;min-width:0;gap:16px}.archiveIntro{margin:0;font-size:15px;line-height:1.6;color:var(--muted)}.archiveList{display:flex;flex-direction:column;gap:8px;width:100%;min-width:0;margin:0;padding:0;list-style:none}.archiveSelectionToolbar{display:flex;align-items:center;justify-content:flex-start;gap:14px;min-height:38px;flex-wrap:wrap}.archiveSelectionToggle{min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--text);font:inherit;font-size:13px;font-weight:600;text-align:left;cursor:pointer}.archiveSelectionToggle:hover:not(:disabled){background:transparent;color:var(--text);text-decoration:underline;filter:none}.archiveSelectionToggle:active{transform:none}.archiveSelectionToggle:focus-visible{outline:none;text-decoration:underline;text-underline-offset:3px}.archiveSelectAll{display:inline-flex;align-items:center;align-self:flex-start;gap:8px;min-height:32px;color:var(--text);font-size:13px;cursor:pointer}.archiveSelectCheckbox{width:16px;height:16px;margin:0;accent-color:var(--accent);cursor:pointer;flex:0 0 auto}.archiveSelectionCount{color:var(--muted);font-size:12.5px;white-space:nowrap}.archiveRow{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;width:100%;min-width:0;padding:8px 0}.archiveRow.isSelecting{grid-template-columns:18px minmax(0,1fr);gap:14px}.archiveRecordMain{display:flex;align-items:center;gap:14px;width:100%;min-width:0;padding:8px 0;border:0;border-radius:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.archiveRecordMain:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.archiveAvatar{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border:1px solid var(--accent);border-radius:50%;background:transparent;font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--text)}.archiveText{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0;overflow-wrap:normal}.archiveTitle{font-size:14px;font-weight:600;line-height:1.4;color:var(--text);min-width:0;overflow-wrap:break-word}.archiveSub{font-size:12.5px;line-height:1.45;color:var(--muted);overflow-wrap:break-word;word-break:normal}.archiveMeta{display:flex;flex-wrap:wrap;gap:4px 18px;min-width:0;margin:0}.archiveMetaItem{display:flex;flex-wrap:wrap;gap:4px;min-width:0}.archiveMetaLabel{font-size:11px;color:var(--muted)}.archiveMetaValue{min-width:0;font-size:11.5px;color:var(--text);overflow-wrap:anywhere}.archiveDetailOverlay{position:fixed;inset:0;z-index:1150;display:flex;align-items:center;justify-content:center;padding:20px;background:#00000073}.archivePage>.modalOverlay:has(.confirmModalCard){z-index:1200}.archiveDetailModal{display:flex;flex-direction:column;width:min(760px,100%);max-height:min(760px,calc(100dvh - 40px));overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--bg);color:var(--text);box-shadow:0 18px 48px #00000038}.archiveDetailHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px 16px;border-bottom:1px solid var(--line)}.archiveDetailCategory{color:var(--muted);font-size:12px;font-weight:600}.archiveDetailHeader h2{margin:5px 0;font-size:20px}.archiveDetailHeader p{margin:0;color:var(--muted);font-size:13px}.archiveDetailClose{display:grid;flex:0 0 36px;width:36px;height:36px;place-items:center;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--text);font-size:22px;line-height:1;cursor:pointer}.archiveDetailBody{min-height:0;overflow:auto;padding:18px 24px}.archiveDetailSection+.archiveDetailSection{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.archiveDetailSection h3{margin:0 0 12px;color:var(--text);font-size:13px;font-weight:650;letter-spacing:0}.archiveDetailGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:14px 20px;margin:0}.archiveDetailField{min-width:0}.archiveDetailField dt{margin-bottom:3px;color:var(--muted);font-size:11.5px}.archiveDetailField dd{margin:0;color:var(--text);font-size:13px;line-height:1.5;overflow-wrap:anywhere}.archiveDetailEmpty{margin:0;color:var(--muted);font-size:13px}.archiveDetailActions{display:flex;justify-content:flex-end;padding:14px 24px 20px;border-top:1px solid var(--line)}@media(max-width:760px){.archiveRow.isSelecting,.archiveRecordMain{gap:10px}}@media(max-width:420px){.archiveDetailOverlay{padding:12px}.archiveDetailHeader,.archiveDetailBody,.archiveDetailActions{padding-right:16px;padding-left:16px}.archiveAvatar{width:30px;height:30px;flex-basis:30px}}@media(prefers-reduced-motion:reduce){.archivePage *{transition:none!important}}.bookingPage{--appt-stroke: var(--line);--appt-ease: var(--ease-cinematic, ease)}.bookingPage .cardHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.bookingPage .cardHeader .badge{flex:none;padding:4px 12px;border:1px solid var(--appt-stroke);border-radius:999px;background:transparent;font-size:12.5px;font-weight:600;color:var(--muted);white-space:nowrap}.bookingPage .searchClearBtn{flex:none;padding:4px 2px;border:0;background:transparent;color:var(--accent);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.bookingPage .searchClearBtn:focus-visible,.bookingCalendarControls button:focus-visible,.bookingCalendarDay:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.bookingPage .successBanner{display:flex;flex-direction:column;gap:4px;padding:14px 18px;border:1px solid var(--accent-teal);border-radius:14px;background:transparent;font-size:14.5px;color:var(--muted)}.bookingPage .successBanner strong{font-size:15px;color:var(--text)}.bookingPage .error{padding:12px 16px;border:1px solid var(--danger);border-radius:14px;background:transparent;font-size:14.5px;line-height:1.5;color:var(--danger)}.bookingPage .input{width:100%;padding:11px 14px;border:1px solid var(--appt-stroke);border-radius:12px;background:transparent;color:var(--text);font:inherit;font-size:15px;outline:none;transition:border-color .3s var(--appt-ease),box-shadow .3s var(--appt-ease)}.bookingPage .input::placeholder{color:var(--muted)}.bookingPage .input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.18)}.bookingPage textarea.input{resize:vertical;min-height:110px;line-height:1.55}.bookingInputSpecial{height:48px;padding-top:0;padding-bottom:0;color-scheme:dark}html[data-theme=light] .bookingInputSpecial,html[data-theme=blue] .bookingInputSpecial{color-scheme:light}.bookingFlowGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.bookingFieldCard{display:flex;flex-direction:column;gap:6px;min-width:0}.bookingFieldHint{margin:0;font-size:13.5px;color:var(--muted)}.bookingPage .inlineActionRow{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.bookingPage .bookingPrimaryBtn{align-self:flex-start}.bookingPage .emptyEditorState{padding:22px;border:1px dashed var(--appt-stroke);border-radius:16px;background:transparent;text-align:center;font-size:14.5px;line-height:1.55;color:var(--muted)}.bookingServicePreviewCard{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;align-items:start;padding:14px;border:1px solid var(--appt-stroke);border-radius:18px;background:transparent}.bookingServicePreviewMedia{overflow:hidden;aspect-ratio:4 / 3;border:1px solid var(--appt-stroke);border-radius:14px}.bookingServicePreviewMedia img{display:block;width:100%;height:100%;object-fit:cover}.bookingServicePreviewContent{display:flex;flex-direction:column;gap:6px;min-width:0}.bookingServicePreviewContent strong{font-size:18px;color:var(--text)}.bookingServicePreviewContent p{margin:0;font-size:14px;line-height:1.55;color:var(--muted)}.bookingPreviewCounter{font-size:12.5px;color:var(--accent)}.bookingServiceChips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.bookingServiceChips span{padding:3px 11px;border:1px solid var(--appt-stroke);border-radius:999px;background:transparent;font-size:12.5px;font-weight:600;color:var(--muted);transition:border-color .3s var(--appt-ease),color .3s var(--appt-ease)}.bookingServiceChips span.active{border-color:var(--accent);color:var(--text)}.bookingPage .bookingRatesBox{grid-column:1 / -1}.bookingRateList{display:flex;flex-direction:column;gap:6px;margin-top:4px}.bookingRateItem{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:6px;border-bottom:1px dashed var(--appt-stroke);font-size:14px}.bookingRateItem:last-child{padding-bottom:0;border-bottom:0}.bookingRateItem span{color:var(--muted)}.bookingCalendar{margin-top:18px;padding:16px;border:1px solid var(--appt-stroke);border-radius:18px;background:transparent}.bookingCalendarHeader{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:14px}.bookingCalendarHeader strong{display:block;margin-top:2px;font-size:18px;color:var(--text)}.bookingCalendarControls{display:flex;gap:6px}.bookingCalendarControls button{height:34px;padding:0 14px;border:1px solid var(--appt-stroke);border-radius:999px;background:transparent;color:var(--text);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:border-color .3s var(--appt-ease),color .3s var(--appt-ease)}.bookingCalendarControls button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.bookingCalendarControls button:disabled{opacity:.4;cursor:not-allowed}.bookingCalendarWeekdays,.bookingCalendarGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.bookingCalendarWeekdays{margin-bottom:6px}.bookingCalendarWeekdays span{text-align:center;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.bookingCalendarDay{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:58px;padding:6px 2px;overflow:hidden;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--text);font:inherit;cursor:pointer;transition:border-color .25s var(--appt-ease),transform .25s var(--appt-ease)}.bookingCalendarDay strong{position:relative;display:grid;width:34px;height:34px;place-items:center;border-radius:50%;font-size:14.5px}.bookingCalendarDay span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;font-weight:600;color:var(--muted)}.bookingCalendarDay.available{border-color:var(--appt-stroke)}.bookingCalendarDay.available:hover{border-color:var(--accent);transform:translateY(-1px)}.bookingCalendarDay.available span{color:var(--accent-teal)}.bookingCalendarDay.blocked{border-color:transparent;color:var(--muted);opacity:.55;cursor:not-allowed}.bookingCalendarDay.muted{opacity:.3}.bookingCalendarDay.active{border-color:transparent;background:transparent;opacity:1;color:var(--text)}.bookingCalendarDay.active strong{background:color-mix(in srgb,var(--accent) 17%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent)}.bookingCalendarDay.hasAppointments strong:after{position:absolute;bottom:2px;left:50%;width:5px;height:5px;border-radius:50%;background:var(--status-warning);content:"";transform:translate(-50%)}.adminPanelGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:18px;align-items:start}.bookingPage .detailedList{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}.bookingShowcase{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid var(--appt-stroke);border-radius:16px;background:transparent;transition:border-color .3s var(--appt-ease)}.bookingShowcase:hover{border-color:var(--appt-stroke)}.bookingShowcase .detailContent{display:flex;flex-direction:column}.bookingShowcase .detailTopRow{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px 14px;margin-bottom:14px}.bookingShowcase .detailTitle{display:block;font-size:17px;color:var(--text)}.bookingShowcase .detailSubtitle{margin:4px 0 0;font-size:13.5px;line-height:1.5;color:var(--muted)}.bookingShowcase .statusStack{display:flex;gap:6px}.bookingShowcase .actionColumn{display:flex;flex-wrap:wrap;gap:8px;padding-top:14px;border-top:1px solid var(--appt-stroke)}.bookingShowcase .patientActionBtn{flex:1 1 auto;font-size:13px}.bookingPage .detailNote.attention{border-color:color-mix(in srgb,var(--status-attention) 50%,transparent);border-left-color:var(--status-attention)}.bookingPage .statusPill.pending{border-color:var(--status-warning)}.bookingPage .statusPill.rejected{border-color:var(--danger);color:var(--danger)}@media(max-width:640px){.bookingServicePreviewCard{grid-template-columns:1fr}.bookingServicePreviewMedia{aspect-ratio:16 / 9}.bookingCalendar{padding:12px}.bookingCalendarDay{min-height:44px}.bookingCalendarDay span{display:none}.bookingShowcase .patientActionBtn{flex:1 1 100%}}@media(prefers-reduced-motion:reduce){.bookingCalendar *,.bookingShowcase,.bookingServiceChips span{transition:none!important}}.bookingHero{--rec-stroke: rgba(var(--accent-rgb), .45);--rec-ease: var(--ease-cinematic, ease);position:relative;overflow:hidden;padding:clamp(22px,3vw,34px);border:1px solid var(--rec-stroke);border-radius:24px;background:transparent;box-shadow:none;color:var(--text)}.bookingHeroGlow{display:none}.bookingHeroGrid{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px;align-items:center}.bookingHeroGrid:has(>div:only-child){grid-template-columns:minmax(0,1fr)}.bookingHero .heroEyebrow{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.bookingHero h1{margin:8px 0 12px;font-size:clamp(28px,4vw,42px);color:var(--text)}.bookingHero p{max-width:560px;margin:0;font-size:16px;line-height:1.65;color:var(--muted)}.bookingHeroSummary{display:flex;flex-direction:column;gap:10px}.bookingSummaryCard{display:flex;flex-direction:column;gap:4px;padding:12px 16px;border:1px solid var(--rec-stroke);border-left:4px solid var(--accent);border-radius:14px;background:transparent}.bookingSummaryCard strong{font-size:16px;color:var(--text);overflow-wrap:anywhere}.bookingPage{--rec-stroke: rgba(var(--accent-rgb), .45);--rec-ease: var(--ease-cinematic, ease)}.bookingPage .detailLabel{display:block;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.bookingPage .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:18px;align-items:start}.bookingPage .card{padding:clamp(18px,2.5vw,26px);border:1px solid var(--rec-stroke);border-radius:22px;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.bookingPage .cardHeader{margin-bottom:18px}.bookingPage .cardHeader .title{margin:0;font-size:21px;color:var(--text)}.bookingPage .cardHeader .sub{margin:6px 0 0;font-size:14.5px;line-height:1.55;color:var(--muted)}.toothViewerMeta{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}.viewerFocusCard{display:flex;flex-direction:column;gap:4px;padding:12px 16px;border:1px solid var(--rec-stroke);border-left:4px solid var(--accent);border-radius:14px;background:transparent}.viewerFocusCard strong{font-size:17px;color:var(--text)}.viewerFocusCard span:last-child{font-size:14px;color:var(--muted)}.viewerStatusRow{display:flex;flex-wrap:wrap;gap:8px}.viewerStatusPill{padding:4px 12px;border:1px solid var(--rec-stroke);border-radius:999px;background:transparent;font-size:13px;font-weight:600;color:var(--muted)}.viewerStatusPill.active{border-color:var(--accent);color:var(--text)}.toothViewer3d{display:flex;flex-direction:column}.bookingPage .toothChartFrame{position:relative;display:flex;flex-direction:column;gap:12px;border:0;border-radius:0;background:transparent;overflow:visible}.toothViewerHalo{display:none}.bookingPage .toothImageSurface{position:relative;width:100%;overflow:hidden;border:1px solid var(--rec-stroke);border-radius:18px;background:var(--surface)}.bookingPage .toothReferenceImage{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none}.bookingPage .toothViewerOverlay{position:absolute;inset:0}.bookingPage .toothMarker{position:absolute;transform:translate(-50%,-50%);width:clamp(18px,5.5%,30px);aspect-ratio:1;display:grid;place-items:center;padding:0;border:1.5px solid transparent;border-radius:50%;background:transparent;font:inherit;font-size:0;line-height:1;color:var(--text-primary);cursor:pointer;transition:border-color .25s var(--rec-ease),transform .25s var(--rec-ease)}.bookingPage .toothMarker:hover,.bookingPage .toothMarker:focus-visible{border-color:var(--accent);background:transparent}.bookingPage .toothMarker:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bookingPage .toothMarker.hasNote{border-color:rgba(var(--accent-rgb),.75);border-style:dashed;background:transparent}.bookingPage .toothMarker.focused{transform:translate(-50%,-50%) scale(1.15);border-color:var(--accent)}.bookingPage .toothMarker.active{border-style:solid;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:transparent}.bookingPage .toothViewerLegend{display:flex;align-items:baseline;gap:10px;padding:12px 16px;border:1px solid var(--rec-stroke);border-radius:14px;background:transparent;font-size:14px;color:var(--muted)}.bookingPage .toothViewerLegend strong{font-size:20px;color:var(--accent)}.bookingPage .toothViewerLegend small{font-size:14px;color:var(--text)}.bookingPage .toothSelectedChips{display:flex;flex-wrap:wrap;gap:8px}.bookingPage .toothSelectedChip{padding:6px 14px;border:1px solid var(--rec-stroke);border-radius:999px;background:transparent;color:var(--text);font:inherit;font-size:14px;cursor:pointer;transition:border-color .25s var(--rec-ease)}.bookingPage .toothSelectedChip:hover{border-color:var(--accent)}.bookingPage .toothSelectedChip.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:transparent}.bookingPage .detailNote{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--rec-stroke);border-left:4px solid var(--accent);border-radius:14px;background:transparent}.bookingPage .patientDentalNotesCard>.detailNote{padding-right:0;padding-left:0;border:0;border-radius:0}.bookingPage .detailNote p{margin:0;font-size:15px;line-height:1.6;color:var(--text)}.bookingPage .selectedToothNotesList{display:flex;flex-direction:column;gap:10px;margin-top:4px}.bookingPage .selectedToothNoteItem{padding:10px 12px;border:1px solid var(--rec-stroke);border-radius:12px;background:transparent}.bookingPage .selectedToothNoteItem strong{display:block;font-size:14px;color:var(--text)}.bookingPage .selectedToothNoteItem span{font-size:13px;color:var(--muted)}.bookingPage .selectedToothNoteItem p{margin:4px 0 0;font-size:14px}.patientPortalList{display:flex;flex-direction:column;gap:10px;margin-top:4px}.patientPortalListItem{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid var(--rec-stroke);border-radius:12px;background:transparent}.patientPortalListItem p{font-size:14px;color:var(--muted)}.patientPortalListTop{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}.patientPortalListTop strong{font-size:15px;color:var(--text)}.patientPortalListTop span{font-size:13px;color:var(--accent)}.patientPortalPhotoGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:4px}.patientPortalPhotoGrid img{display:block;width:100%;max-height:200px;object-fit:cover;border:1px solid var(--rec-stroke);border-radius:12px}.bookingPage .detailGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:4px}.bookingPage .detailBox.luxeBox{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--rec-stroke);border-left:4px solid var(--accent);border-radius:12px;background:transparent}.bookingPage .detailBox strong{font-size:16px;color:var(--text);overflow-wrap:anywhere}.bookingPage .historyList{display:flex;flex-direction:column;gap:8px}.bookingPage .historyRow{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--rec-stroke);border-radius:12px;background:transparent}.bookingPage .historyRow strong{font-size:15px;color:var(--text)}.bookingPage .historyRow p{margin:2px 0 0;font-size:13.5px;color:var(--muted)}.bookingPage .historyMeta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-size:13px;text-align:right;color:var(--muted)}.bookingPage .statusPill{display:inline-flex;align-items:center;padding:3px 10px;border:1px solid var(--accent);border-radius:999px;background:transparent;font-size:12px;font-weight:700;text-transform:capitalize;color:var(--text)}.bookingPage .statusPill.active{border-color:var(--status-success)}.bookingPage .statusPill.approved{border-color:var(--accent-teal)}.bookingPage .statusPill.cancelled{border-color:var(--danger);color:var(--danger)}@media(max-width:860px){.bookingHeroGrid{grid-template-columns:1fr;gap:22px}}@media(max-width:520px){.bookingToolbar{align-items:stretch;flex-direction:column}.bookingSortControl{align-self:flex-start}}@media(max-width:520px){.bookingPage .historyRow{flex-direction:column}.bookingPage .historyMeta{align-items:flex-start;text-align:left}.bookingPage .toothViewerLegend{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.bookingPage *,.bookingHero *{transition:none!important}}.adminAppMain .adminSurface .modalOverlay.addPatientModalOverlay,.adminAppMain .adminSurface .modalOverlay:has(.confirmModalCard),.adminAppMain .acctOverlay,.patientDrawerOverlay,.dentistModalOverlay{background:#00000073;backdrop-filter:none;-webkit-backdrop-filter:none;transition:none;animation:none}.adminAppMain .adminSurface .addPatientModal,.adminAppMain .acctDialog,.patientDrawer,.dentistModal{border-color:var(--line);border-radius:16px;background:var(--surface);color:var(--text);font-family:var(--font-body);box-shadow:0 18px 48px #00000038}.patientDrawer,.dentistModal{max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);transition:none}.acctDialog{max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);gap:12px;overflow:hidden;padding:20px;animation:none;transition:none}.acctDialogHead{padding-bottom:12px;border-bottom:1px solid var(--line)}.acctDialogHead h3{font-size:20px;font-weight:700;line-height:1.2}.acctDialog .acctHint{margin:0;font-size:14px;line-height:1.5}.acctDialog .acctFields{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.acctDialog .acctField>span{font-size:14px;font-weight:600;letter-spacing:normal;text-transform:none}.acctDialogActions{flex:0 0 auto;margin-top:0;padding-top:12px;border-color:var(--line)}.acctDialog .acctIconBtn{width:34px;height:34px;border-color:var(--line);border-radius:8px;transition:none}.acctDialog .acctIconBtn:hover:not(:disabled){border-color:var(--line);color:var(--muted)}.acctDialog .acctIconBtn:focus-visible,.acctDialog .btn:focus-visible,.adminAppMain .adminSurface .confirmModalCard :is(button,a):focus-visible,.adminAppMain .adminSurface .addPatientModal :is(button,a):focus-visible,.patientDrawer :is(button,a):focus-visible,.dentistModal :is(button,a):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.patientDrawer{border-radius:16px;opacity:0;transform:translate(-50%,-48%)}.patientDrawer.open{opacity:1;transform:translate(-50%,-50%)}.patientDrawerHeader,.dentistModal .patientDrawerHeader,.patientDrawer .detailRow,.patientDrawer .actionColumnFriendly,.patientDrawer .drawerReschedule,.dentistModal .detailNote,.dentistModal .schedulerRow,.dentistModal .item,.dentistModal .actionColumn{border-color:var(--line)}.dentistModal .detailNote{border-left-color:var(--line)}.patientDrawer .rescheduleFields input,.patientDrawer .rescheduleFields select,.dentistModal .input{border-color:var(--line);background:var(--surface)}.patientDrawer .rescheduleFields input:focus,.patientDrawer .rescheduleFields select:focus,.dentistModal .input:focus{border-color:var(--accent)}.addPatientModal .modalTitle,.acctDialogHead h3,.patientDrawerHeader h3,.dentistModal .detailTitle,.adminAppMain .adminSurface .confirmModalCard .modalTitleGroup h3{font-family:var(--font-display);font-weight:700;color:var(--text)}.patientDrawerCloseBtn,.dentistModal .patientDrawerCloseBtn{width:34px;height:34px;border-color:var(--line);border-radius:8px;background:var(--surface);color:var(--muted);transition:none}.patientDrawerCloseBtn:hover,.dentistModal .patientDrawerCloseBtn:hover{border-color:var(--line);background:var(--surface);color:var(--muted)}.dentistModal{border:1px solid var(--line);padding:20px;gap:12px}.dentistModal .patientDrawerHeader{padding-bottom:12px}.patientDrawerOverlay{opacity:0;pointer-events:none}.dentistModalOverlay{opacity:1;pointer-events:auto}.patientDrawerOverlay.open{opacity:1}.adminAppMain .adminSurface .confirmModalCard{width:min(420px,100%);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);font-family:var(--font-body);box-shadow:0 18px 48px #00000038}.adminAppMain .adminSurface .confirmModalCard .modalHeader{align-items:center;padding-bottom:12px;margin-bottom:12px;border-color:var(--line)}.adminAppMain .adminSurface .confirmModalCard .modalTitleGroup h3{font-size:18px;line-height:1.25}.adminAppMain .adminSurface .confirmModalCard .modalToneLabel{color:var(--muted);font-size:12px;font-weight:600}.adminAppMain .adminSurface .confirmModalCard .modalToneLabel.danger,.adminAppMain .adminSurface .confirmModalCard.danger .modalToneLabel,.adminAppMain .adminSurface .confirmModalCard.archive .modalToneLabel{color:var(--danger)}.adminAppMain .adminSurface .confirmModalCard .modalClose{width:34px;height:34px;border-color:var(--line);border-radius:8px;transition:none}.adminAppMain .adminSurface .confirmModalCard .modalClose:hover{border-color:var(--line);background:var(--surface);color:var(--muted)}.adminAppMain .adminSurface .confirmModalCard .confirmModalBody p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.adminAppMain .adminSurface .confirmModalCard .confirmModalActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.adminAppMain .adminSurface .confirmModalCard .confirmModalActions .btn,.adminAppMain .adminSurface .addPatientModal .modalFoot .btn,.adminAppMain .acctDialogActions .btn,.patientDrawer .actionColumn .btn,.dentistModal .btn{min-height:38px;padding:8px 14px;border-radius:7px;font-family:var(--font-body);font-size:14px;transition:none}.adminAppMain .adminSurface .confirmModalCard .confirmModalActions .btn.danger,.adminAppMain .adminSurface .confirmModalCard .confirmModalActions .btn.archiveButton{color:var(--button-danger-color);border-color:var(--button-danger-border);background:var(--button-danger-background)}@media(max-width:520px){.acctDialog,.dentistModal,.adminAppMain .adminSurface .confirmModalCard{padding:16px}}.bookingDetailsModal{z-index:1501;width:min(640px,calc(100vw - 32px));max-height:min(88vh,820px);max-height:min(88dvh,820px);box-sizing:border-box;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--surface);border-color:var(--line);border-radius:16px;box-shadow:0 18px 48px #0003}.bookingDetailsOverlay{z-index:1500}.bookingDetailsModal .patientDrawerInner{flex:1 1 auto;width:100%;min-height:0;max-height:100%;gap:0;overflow:hidden;padding:22px 24px 18px}.bookingDetailsModal .patientDrawerHeader{flex:0 0 auto;position:relative;display:block;padding:0 44px 16px 0;border-bottom:1px solid var(--line);border-color:var(--line)}.bookingDetailsModal .bookingDetailsHeading{min-width:0}.bookingDetailsModal .bookingDetailsStatus{display:block;color:var(--muted);font-size:14px;font-weight:600;font-style:italic;letter-spacing:.02em;line-height:1.3;padding:0;border:0;border-radius:0;background:transparent}.bookingDetailsModal .bookingDetailsStatus-completed{color:var(--info)}.bookingDetailsModal .bookingDetailsStatus-approved{color:var(--status-success)}.bookingDetailsModal .bookingDetailsStatus-checked-in{color:var(--status-info)}.bookingDetailsModal .bookingDetailsStatus-pending{color:var(--status-warning)}.bookingDetailsModal .bookingDetailsStatus-cancelled{color:var(--status-danger)}.bookingDetailsModal .patientDrawerCloseBtn{position:absolute;top:0;right:0;width:32px;height:32px;border-color:var(--line);border-radius:7px;background:var(--surface);color:var(--muted);transition:none}.bookingDetailsModal .patientDrawerCloseBtn:hover{border-color:var(--line);background:var(--surface);color:var(--muted)}.bookingDetailsModal .patientDrawerCloseBtn:focus-visible,.bookingDetailsModal .actionColumn :is(button,a):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bookingDetailsModal .patientDrawerBody{flex:1 1 0%;min-height:0;max-height:100%;padding:12px 2px 12px 0;gap:14px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding-bottom:12px}.bookingDetailsModal .detailRow{grid-template-columns:132px minmax(0,1fr);gap:14px;padding:8px 0;border-color:var(--line)}.bookingDetailsModal .detailRow dt{color:var(--muted);line-height:1.35}.bookingDetailsModal .detailRow dd{color:var(--text);line-height:1.35}.bookingDetailsModal .detailRow.bookingDetailsName dd{font-weight:600}.bookingDetailsModal .bookingDetailsMissing{color:var(--muted);font-style:italic}.bookingDetailsModal .appointmentPaymentDetails{margin-top:6px}.bookingDetailsModal .appointmentPaymentDetails .detailRow:last-child{border-bottom:0}.bookingDetailsModal .bookingPaymentNote{flex:0 0 auto;padding:12px 14px;border-left-color:var(--info);border-radius:8px;background:var(--secondary)}.bookingDetailsModal .actionColumnFriendly{flex:0 0 auto;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:12px;padding-top:14px;border-top:1px solid var(--line)}.bookingDetailsModal .actionColumnFriendly .patientActionBtn{flex:0 1 calc((100% - 30px)/4);width:100%;min-width:0;min-height:42px;padding:8px 10px;border-radius:8px;font-family:var(--font-body);font-size:12px;line-height:1.2;white-space:normal;transition:none}.bookingDetailsModal .actionColumnFriendly .patientActionBtn:hover:not(:disabled){transform:none;filter:none}.bookingDetailsModal .actionColumnFriendly .patientActionBtn.btnShine,.bookingDetailsModal .actionColumnFriendly .patientActionBtn.btnShine:hover:not(:disabled){background:var(--button-primary-background);border-color:var(--button-primary-background);color:var(--button-primary-color)}.bookingDetailsModal .actionColumnFriendly .patientActionBtn.secondary,.bookingDetailsModal .actionColumnFriendly .patientActionBtn.btnSoft{background:var(--button-secondary-background);border-color:var(--button-secondary-border);color:var(--button-secondary-color)}.bookingDetailsModal .actionColumnFriendly .patientActionBtn.secondary:hover:not(:disabled),.bookingDetailsModal .actionColumnFriendly .patientActionBtn.btnSoft:hover:not(:disabled){background:var(--button-secondary-background);border-color:var(--button-secondary-border);color:var(--button-secondary-color)}.bookingDetailsModal .actionColumnFriendly .patientActionBtn.danger,.bookingDetailsModal .actionColumnFriendly .patientActionBtn.archiveButton{background:var(--button-danger-background);border-color:var(--button-danger-border);color:var(--button-danger-color)}.bookingDetailsModal .actionColumnFriendly .patientActionBtn.danger:hover:not(:disabled),.bookingDetailsModal .actionColumnFriendly .patientActionBtn.archiveButton:hover:not(:disabled){background:var(--button-danger-background);border-color:var(--button-danger-border);color:var(--button-danger-color)}.bookingDetailsModal .actionColumnFriendly .patientActionBtn.bookingArchiveButton,.bookingDetailsModal .actionColumnFriendly .patientActionBtn.bookingArchiveButton:hover:not(:disabled){display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;min-width:116px;width:auto;align-self:flex-end;margin-left:auto;border-color:var(--danger);border-radius:8px;background:var(--danger);color:var(--on-danger)}.bookingDetailsModal .bookingArchiveButton svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}@media(max-width:520px){.bookingDetailsModal .patientDrawerInner{padding:18px 16px 14px}.bookingDetailsModal .detailRow{grid-template-columns:110px minmax(0,1fr);gap:10px}.bookingDetailsModal .actionColumnFriendly .patientActionBtn{flex-basis:calc((100% - 10px)/2)}}@media(max-width:380px){.bookingDetailsModal .detailRow{grid-template-columns:1fr;gap:2px}}.adminSidebarNav{gap:4px}.adminSidebarLink{min-height:42px;min-width:0;gap:12px;padding:9px 12px;border:1px solid transparent;border-left:3px solid transparent;border-radius:8px;font-size:14px;line-height:1.35;overflow-wrap:anywhere}.adminSidebarLink span{min-width:0;overflow-wrap:anywhere}.adminSidebarLink svg{width:18px;height:18px;stroke-width:1.8;opacity:1}.adminSidebarLink:focus-visible{outline:2px solid var(--line-focus);outline-offset:2px;border-left-color:var(--accent);background:var(--surface)}.adminSidebarLink.active{border-color:var(--line);border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--text)}.adminSidebarLink.active svg{color:var(--accent)}.adminSidebar{background:var(--surface);color:var(--text)}html[data-dashboard=true] .adminSidebarLink:hover{color:inherit;background:transparent;box-shadow:none;transform:none}html[data-dashboard=true] .adminSidebarLink.active,html[data-dashboard=true] .adminSidebarLink.active:hover,html[data-dashboard=true] .adminSidebarLink.active:focus-visible{color:var(--on-accent);background:var(--primary);border-color:transparent;border-left-color:transparent;border-radius:8px;font-weight:600}html[data-dashboard=true] .adminSidebarLink.active svg,html[data-dashboard=true] .adminSidebarLink.active:hover svg{color:var(--on-accent)}.adminTopbar{gap:12px;min-width:0}.staffTopbarAccountGroup{display:flex;flex:0 1 auto;flex-wrap:wrap;align-items:center;gap:12px;margin-left:auto}.adminTopbar .accountMenu{margin-left:0}.staffNotification{position:relative;flex:0 0 auto}.staffNotificationButton{position:relative;display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;padding:9px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--text);cursor:pointer;transition:none}.staffNotificationButton svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.staffNotificationButton:hover{border-color:var(--line);background:var(--surface);color:var(--text)}.staffNotificationButton:focus-visible,.staffNotificationPanel button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.staffNotificationBadge{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border:1px solid var(--surface);border-radius:999px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;line-height:1}.staffNotificationPanel{position:absolute;top:calc(100% + 10px);right:0;z-index:1400;width:min(360px,calc(100vw - 24px));max-height:min(440px,calc(100vh - 88px));max-height:min(440px,calc(100dvh - 88px));overflow-y:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);box-shadow:0 12px 32px #00000029}.staffNotificationHead{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--surface)}.staffNotificationHead strong{font-size:14px;font-weight:700}.staffNotificationPanel ul{margin:0;padding:0;list-style:none}.staffNotificationPanel li+li{border-top:1px solid var(--line)}.staffNotificationPanel button{font-family:var(--font-body);transition:none}.staffNotificationHead button{padding:4px 0;border:0;background:transparent;color:var(--accent);font-size:12px;font-weight:600;cursor:pointer}.staffNotificationHead button:disabled{color:var(--muted);cursor:default}.staffNotificationItem{display:flex;flex-direction:column;gap:3px;width:100%;padding:11px 14px;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.staffNotificationItem:hover{background:color-mix(in srgb,var(--surface) 92%,var(--text))}.staffNotificationItem strong{font-size:13px;font-weight:600;line-height:1.4}.staffNotificationItem span,.staffNotificationItem.read strong{color:var(--muted);font-size:12px;font-weight:400;line-height:1.4}.staffNotificationMessage{margin:0;padding:18px 14px;color:var(--muted);font-size:13px;line-height:1.45}@media(max-width:860px){.adminTopbar,.staffTopbarAccountGroup{gap:8px}.staffNotificationButton{width:38px;height:38px}.staffNotificationPanel{right:-54px}}@media(prefers-reduced-motion:reduce){.staffNotificationButton,.staffNotificationPanel button{transition:none!important}}.accountAppearance{position:relative}.accountAppearanceTrigger{font:inherit;transition:none}.accountAppearanceTrigger:focus-visible{outline:2px solid var(--line-focus);outline-offset:1px}.accountAppearanceTrigger .accountItemIcon svg{width:20px;height:20px}.accountAppearanceTrigger[aria-expanded=true] .accountAppearanceIcon{color:var(--accent)}.accountAppearanceChevron{margin-left:auto;color:var(--muted);font-size:20px;line-height:1}.accountAppearanceMenu{display:grid;gap:2px;margin:2px 4px 6px 40px;padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.accountAppearanceOption{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:36px;padding:7px 9px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text);font:500 13px/1.35 var(--font-body);text-align:left;cursor:pointer;transition:none}.accountAppearanceOption:hover{background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.accountAppearanceOption:focus-visible{outline:2px solid var(--line-focus);outline-offset:1px}.accountAppearanceOptionLabel{display:inline-flex;align-items:center;gap:10px}.accountAppearanceOptionLabel svg{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:var(--muted)}.accountAppearanceOption[aria-checked=true] .accountAppearanceOptionLabel svg{color:var(--accent)}.accountAppearanceCheck{width:17px;height:17px;flex:0 0 auto;color:var(--accent)}html body :is(.badge,.countLabel,.typeBadge,.statusPill,.promoBadge,.actionBadge,.viewerStatusPill,.acctRole,.acctMeta,.pill),html body .adminAppMain .adminSurface :is(.badge,.countLabel,.typeBadge,.statusPill),html body .bookingPage :is(.badge,.countLabel,.typeBadge,.statusPill),html body .bookingManagementPage .statusPill,html body .patientListPage :is(.typeBadge),html body .promotionsPage .promoBadge,html body .acctPage :is(.acctRole,.acctMeta),html body .bookingPage .cardHeader .badge,html body .adminAppMain .adminSurface .patientRecordPeek>.statusPill{display:inline;width:auto;min-height:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;font-family:var(--font-body);font-size:13px;font-weight:500;letter-spacing:normal;line-height:1.4;text-decoration:none;text-transform:none;vertical-align:baseline}html body :is(.badge,.countLabel,.typeBadge,.statusPill,.promoBadge,.actionBadge,.viewerStatusPill,.acctRole,.acctMeta,.pill),html body .adminAppMain .adminSurface :is(.badge,.countLabel,.typeBadge,.statusPill),html body .bookingPage :is(.badge,.countLabel,.typeBadge,.statusPill),html body .bookingManagementPage .statusPill,html body .patientListPage .typeBadge,html body .promotionsPage .promoBadge,html body .acctPage :is(.acctRole,.acctMeta),html body .bookingPage .cardHeader .badge,html body .adminAppMain .adminSurface .patientRecordPeek>.statusPill{color:var(--muted)}html body .statusPill.active,html body .statusPill.approved,html body .statusPill.completed,html body .statusPill.checked-in,html body .adminAppMain .adminSurface .patientRecordPeek>.statusPill.approved,html body .adminAppMain .adminSurface .patientRecordPeek>.statusPill.completed,html body .bookingPage .statusPill.active,html body .bookingPage .statusPill.approved,html body .promotionsPage .promoBadge[data-status=Active]{color:color-mix(in srgb,var(--accent-teal) 70%,var(--text))}html body .statusPill.in-progress,html body .statusPill.rescheduled{color:var(--info)}html body .statusPill.pending,html body .statusPill.attention,html body .statusPill.awaiting_payment,html body .adminAppMain .adminSurface .patientRecordPeek>.statusPill.pending,html body .adminAppMain .adminSurface .patientRecordPeek>.statusPill.awaiting_payment,html body .bookingPage .statusPill.pending,html body .promotionsPage .promoBadge[data-status=Scheduled]{color:var(--warning)}html body .typeBadge.ortho{color:var(--primary)}html body .statusPill.cancelled,html body .statusPill.rejected,html body .statusPill.no-show,html body .adminAppMain .adminSurface .patientRecordPeek>.statusPill.cancelled,html body .bookingPage .statusPill.cancelled,html body .acctMeta.isWarn,html body .promotionsPage .promoBadge[data-status=Expired]{color:var(--danger)}html body .statusPill.archived,html body .typeBadge.regular,html body .promotionsPage .promoBadge[data-status=Draft],html body .countLabel,html body .badge,html body .actionBadge,html body .viewerStatusPill,html body .pill{color:var(--muted)}html body .promotionsPage .promoBadge:before{display:none}html body .accountStatus{color:color-mix(in srgb,var(--accent-teal) 70%,var(--text))}html body .accountStatus i{display:none}html body .patientListPage .typeBadge.regular,html body .patientListPage .typeBadge.ortho{border:0;background:none;padding:0}html body .patientListPage .typeBadge.ortho{color:color-mix(in srgb,var(--accent) 48%,var(--text))}.servicesAdminPage{display:flex;flex-direction:column;gap:10px}.servicesAdminSectionHeading p{margin:6px 0 0;color:var(--muted);font-size:14px}.servicesAdminSection{min-width:0;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.servicesAdminSectionHeading,.servicesAdminNameLine{display:flex;align-items:center;justify-content:space-between;gap:12px}.servicesAdminSectionHeading{margin-bottom:14px}.servicesAdminSectionHeading h2{margin:0;color:var(--text);font-size:18px;line-height:1.3}.servicesAdminToolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.servicesAdminTopSearch{position:relative;flex:0 0 auto;width:100%;min-width:0;margin:0}.servicesAdminPage input:not([type=checkbox]),.servicesAdminPage select,.servicesAdminPage textarea{width:100%;min-width:0;min-height:40px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;outline:none;background:var(--bg);color:var(--text);font:inherit;font-size:13.5px}.servicesAdminPage textarea{min-height:82px;resize:vertical}.servicesAdminPage input::placeholder,.servicesAdminPage textarea::placeholder{color:var(--muted);opacity:.8}.servicesAdminPage input:focus-visible,.servicesAdminPage select:focus-visible,.servicesAdminPage textarea:focus-visible,.servicesAdminPage button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.servicesAdminFilters{display:flex;flex:0 0 auto;align-items:center;gap:22px;padding:0}.servicesAdminFilters button,.servicesAdminTextButton,.servicesAdminCancelButton,.servicesAdminAddButton,.servicesAdminModalClose{border:0;font:inherit;cursor:pointer}.servicesAdminFilters button{position:relative;min-height:36px;padding:6px 1px 8px;border-radius:0;background:transparent;color:var(--text);font-size:13px;font-weight:400}.servicesAdminFilters button.isSelected{color:var(--text);font-weight:600}.servicesAdminFilters button.isSelected:after{position:absolute;right:0;bottom:0;left:0;height:2px;background:var(--accent);content:""}.servicesAdminAddButton{display:inline-flex;min-height:36px;flex:0 0 auto;margin-left:auto;align-items:center;justify-content:center;gap:7px;padding:9px 14px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:var(--accent-text);font-size:13px;font-weight:650;white-space:nowrap}.servicesAdminAddButton span{font-size:18px;line-height:.8}.servicesAdminAddButton:disabled,.servicesAdminTextButton:disabled,.servicesAdminCancelButton:disabled{cursor:not-allowed;opacity:.6}.servicesAdminList,.servicesAdminClosureList{margin:0;padding:0;list-style:none}.servicesAdminList{display:grid;gap:8px}.servicesAdminRow{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:0;min-width:0;padding:14px;border:0;border-radius:9px;background:transparent}.servicesAdminRowEdit{display:grid;width:100%;grid-template-columns:72px minmax(0,1fr);align-items:start;gap:16px;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.servicesAdminRowEdit:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.servicesAdminThumbnail{width:72px;height:68px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface) 88%,var(--text))}.servicesAdminThumbnail img{display:block;width:100%;height:100%;object-fit:cover}.servicesAdminRowContent{min-width:0}.servicesAdminNameLine{justify-content:flex-start;flex-wrap:wrap}.servicesAdminNameLine h3{margin:0;color:var(--text);font-size:15.5px;font-weight:600}.servicesAdminStatus,.servicesAdminClosureActions>span{color:var(--muted);font-size:12px;font-weight:400}.servicesAdminStatus.isActive,.servicesAdminClosureActions>span.isBlocking{color:var(--muted)}.servicesAdminDescription{margin:4px 0 7px;color:var(--muted);font-size:13px;font-weight:400;line-height:1.5}.servicesAdminMeta{display:flex;flex-wrap:wrap;gap:6px 16px;color:var(--muted);font-size:12.5px;font-weight:400}.servicesAdminClosureActions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.servicesAdminTextButton{padding:5px 2px;background:transparent;color:var(--text);font-size:12.5px;font-weight:600;white-space:nowrap}.servicesAdminTextButton:hover:not(:disabled){color:var(--accent)}.servicesAdminMessage{margin:12px 0;color:var(--muted);font-size:13px}.servicesAdminMessage.isError{color:var(--text)}.servicesAdminClosureCount{color:var(--muted);font-size:12.5px}.servicesAdminClosureForm{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--line)}.servicesAdminClosureForm label,.servicesAdminForm label{display:flex;min-width:0;flex-direction:column;gap:5px;color:var(--text);font-size:12.5px;font-weight:550}.servicesAdminOptional{color:var(--muted);font-size:11.5px;font-weight:400}.servicesAdminClosureList li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 2px;border-bottom:1px solid var(--line)}.servicesAdminClosureList li:last-child{border-bottom:0}.servicesAdminClosureList li>div:first-child{display:grid;gap:3px}.servicesAdminClosureList strong{color:var(--text);font-size:13px}.servicesAdminClosureList span,.servicesAdminClosureList p{margin:0;color:var(--muted);font-size:12px}.servicesAdminModalOverlay{position:fixed;z-index:1300;inset:0;isolation:isolate;display:grid;place-items:center;overflow:hidden;padding:20px;background:#00000094}.adminAppMain .adminSurface.servicesAdminPage>.modalOverlay.servicesAdminConfirmOverlay:has(.confirmModalCard){z-index:1500}.servicesAdminModal{display:flex;width:min(620px,100%);max-height:min(760px,calc(100vh - 40px));max-height:min(760px,calc(100dvh - 40px));min-height:0;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);box-shadow:0 18px 50px #0000003d}.servicesAdminModalHeader{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 14px;border-bottom:1px solid var(--line)}.servicesAdminModalHeader h2{margin:0;color:var(--text);font-size:19px}.servicesAdminModalHeader p{margin:4px 0 0;color:var(--muted);font-size:12.5px}.servicesAdminModalClose{width:32px;height:32px;flex:0 0 auto;border-radius:7px;background:transparent;color:var(--muted);font-size:22px}.servicesAdminForm{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;overflow:hidden}.servicesAdminFormBody{display:grid;flex:1 1 auto;min-height:0;align-content:start;gap:12px;overflow-y:auto;overscroll-behavior:contain;padding:16px 20px;scrollbar-color:rgba(var(--accent-rgb),.32) transparent;scrollbar-width:thin}.servicesAdminFormBody::-webkit-scrollbar{width:6px}.servicesAdminFormBody::-webkit-scrollbar-track{background:transparent}.servicesAdminFormBody::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(var(--accent-rgb),.32)}.servicesAdminFormBody::-webkit-scrollbar-thumb:hover{background:rgba(var(--accent-rgb),.55)}.servicesAdminFormGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.servicesAdminEditPreview{display:grid;justify-items:start;gap:8px;color:var(--muted);font-size:12px}.servicesAdminEditPreview img{width:min(220px,100%);height:132px;border:0;border-radius:6px;background:var(--field-bg);object-fit:contain}.servicesAdminModalFooter{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:8px;padding:12px 20px;border-top:1px solid var(--line)}.servicesAdminModalFooterLeft,.servicesAdminModalFooterRight{display:flex;align-items:center;gap:8px}.servicesAdminModalFooterRight{margin-left:auto}.servicesAdminModalFooter .servicesAdminAddButton,.servicesAdminModalFooter .servicesAdminCancelButton{min-height:40px}.servicesAdminModalFooter .servicesAdminAddButton{margin-left:0}.servicesAdminCancelButton{min-height:40px;padding:9px 14px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--text);font-size:13px}@media(max-width:900px){.servicesAdminClosureForm{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.servicesAdminPage{gap:12px}.servicesAdminSection{padding:14px}.servicesAdminToolbar{align-items:stretch;flex-wrap:wrap}.servicesAdminFilters{flex:1 1 auto}.servicesAdminFilters button{flex:1}.servicesAdminRow{grid-template-columns:minmax(0,1fr);gap:9px;align-items:start}.servicesAdminRowEdit{grid-template-columns:52px minmax(0,1fr);gap:10px}.servicesAdminThumbnail{width:52px;height:50px}.servicesAdminClosureForm{grid-template-columns:1fr}.servicesAdminClosureForm .servicesAdminAddButton{width:100%}.servicesAdminClosureList li{align-items:flex-start}.servicesAdminClosureActions{flex-direction:column;align-items:flex-end;gap:5px}.servicesAdminModalOverlay{align-items:end;padding:8px}.servicesAdminModal{max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);border-radius:13px}.servicesAdminModalFooter{padding:10px 12px}.servicesAdminModalFooterLeft,.servicesAdminModalFooterRight{gap:6px}.servicesAdminModalFooter .servicesAdminCancelButton,.servicesAdminModalFooter .servicesAdminAddButton{padding-right:10px;padding-left:10px;font-size:12px}.servicesAdminFormGrid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.servicesAdminPage *,.servicesAdminModalOverlay *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.patientListPanel{padding:12px}.patientPanelHead{align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.patientToolbar{flex:1 1 520px;align-items:center;justify-content:flex-end;gap:8px;margin:0}.topSearchBar{flex:1 1 220px;max-width:380px}.patientToolbar>.btn{min-height:40px;white-space:nowrap}.patientListPage .patientTable th,.dentistTableWrap .patientTable th,.bookingManagementPage .bookingsTable th{border-bottom-color:color-mix(in srgb,var(--line) 72%,transparent)}.patientListPage .patientTable td,.dentistTableWrap .patientTable td,.bookingManagementPage .bookingsTable td{border-bottom:0}.servicesAdminRow{padding:14px}.servicesAdminClosureList li{padding:12px 0;border-bottom:0}.auditTable{display:grid;gap:8px}.auditTableHeader{border-bottom:0;padding:0 14px 4px}.auditTableRow{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.auditTableRow:last-child,.auditTableRow:hover,.auditTableRow:last-child:hover{border-bottom:1px solid var(--line)}.acctBar{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.acctList{display:flex;flex-direction:column;width:100%;min-width:0;margin:0;padding:0;list-style:none}.acctListPanel{width:100%;min-width:0;padding:0;border:0;border-radius:0;background:transparent}.acctListPanel>.acctBanner{margin-bottom:12px}.acctListCount{margin:0;color:var(--muted);font-size:13px}.acctRow,.acctRow:last-child{grid-template-columns:36px minmax(0,1fr) auto auto;gap:14px;min-width:0;padding:13px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.acctRow:last-child{border-bottom:0}.acctAvatar{width:36px;height:36px}.acctWho{overflow-wrap:anywhere}.acctWho strong,.acctWho span{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;word-break:normal}.acctWho strong{font-size:14px;line-height:1.4}.acctWho span{font-size:12.5px;line-height:1.45}.acctPills{justify-content:flex-end}.acctMenuWrap{position:relative;display:flex;justify-content:flex-end;min-width:max-content}@media(max-width:760px){.acctRow,.acctRow:last-child{grid-template-columns:36px minmax(0,1fr) auto auto;gap:10px;padding:12px 0}.acctPills{grid-column:2;grid-row:2;justify-content:flex-start;padding-left:0}.acctMenuWrap{grid-column:4;grid-row:1 / span 2;align-self:center}}@media(max-width:420px){.acctRow,.acctRow:last-child{grid-template-columns:32px minmax(0,1fr) auto;column-gap:9px}.acctAvatar{width:30px;height:30px}.acctPills{grid-column:2;grid-row:2}.acctMenuWrap{grid-column:3;grid-row:1 / span 2;justify-content:flex-start;padding-left:0}.acctListHeader{align-items:flex-start}}.ovStatCard{gap:12px;min-height:88px;padding:12px 14px;border-radius:12px}.ovIcon{width:36px;height:36px;padding:8px}.ovStatValue{font-size:1.35rem}.servicesAdminClosureForm,.servicesAdminClosureList li{border-bottom:0}@media(max-width:900px){.patientPanelHead{flex-direction:column}.patientToolbar{width:100%;flex:1 1 auto}}@media(max-width:640px){.patientToolbar{flex-direction:column;align-items:stretch}.patientToolbar .topSearchBar,.patientToolbar .patientTypeFilter,.patientToolbar .typeSelect,.patientToolbar>.btn{width:100%;max-width:none}.auditTableHeader{display:none}.auditTableRow{padding:12px}.acctBar{padding:10px}.acctRow,.acctRow:last-child{padding:12px}}.paymentsPage{padding-bottom:42px}.paymentsDetailsPage{display:grid;gap:12px;min-width:0;padding:0 0 24px}.paymentsBackLink{justify-self:start;display:inline-flex;align-items:center;gap:6px;min-height:22px;padding:0;border:0;background:transparent;color:var(--text);font:inherit;font-size:13px;font-weight:450;text-decoration:none;cursor:pointer}.paymentsBackLink:hover,.paymentsBackLink:focus-visible{background:transparent;color:var(--text);text-decoration:none;outline:none}.paymentsBackLink:focus{outline:none;box-shadow:none}.paymentsBackLink span{font-size:18px;line-height:1}.patientDetailsPage .backLink.paymentsBackLink.appBackAction,.paymentsDetailsPage .paymentsBackLink.appBackAction,.loginCard .backButton.appBackAction,.loginFooter a.appBackAction{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:fit-content;min-height:38px;padding:7px 16px;border:1px solid color-mix(in srgb,var(--accent) 72%,var(--line));border-radius:999px;background:transparent;color:var(--text);font:inherit;font-size:14px;font-weight:550;line-height:1.2;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;transition:border-color .16s ease,color .16s ease,background-color .16s ease}.patientDetailsPage .backLink.paymentsBackLink.appBackAction:hover,.paymentsDetailsPage .paymentsBackLink.appBackAction:hover,.loginCard .backButton.appBackAction:hover,.loginFooter a.appBackAction:hover{border-color:var(--accent);background:transparent;color:var(--text);text-decoration:none}.patientDetailsPage .backLink.paymentsBackLink.appBackAction:focus-visible,.paymentsDetailsPage .paymentsBackLink.appBackAction:focus-visible,.loginCard .backButton.appBackAction:focus-visible,.loginFooter a.appBackAction:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.patientDetailsPage .backLink.paymentsBackLink.appBackAction svg,.paymentsDetailsPage .paymentsBackLink.appBackAction svg,.loginCard .backButton.appBackAction svg,.loginFooter a.appBackAction svg{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.patientDetailsPage .backLink.paymentsBackLink.appBackAction{width:32px;min-height:32px;padding:0;border:0;border-radius:0;background:transparent;color:var(--text)}.patientDetailsPage .backLink.paymentsBackLink.appBackAction:hover{border:0;background:transparent;color:var(--text)}.patientDetailsPage .backLink.paymentsBackLink.appBackAction svg{width:24px;height:24px;stroke:currentColor;stroke-width:2.4}.paymentsDetailsPageHeader{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:2px 0 12px;border-bottom:1px solid var(--line)}.paymentsDetailsIdentity{min-width:0}.paymentsDetailsNameLine{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.paymentsDetailsPageHeader h1{margin:0;color:var(--text);font-size:1.2rem;font-weight:650;line-height:1.3}.paymentsDetailsPageHeader p{margin:3px 0 0;color:var(--muted);font-size:.8rem}.paymentsDetailsPageStatus{flex:0 0 auto;padding:2px 0;font-size:.76rem;font-weight:600}.paymentsDetailsPageStatus.ongoing{color:color-mix(in srgb,var(--accent) 48%,var(--text))}.paymentsDetailsPageStatus.pending{color:var(--muted)}.paymentsDetailsPageStatus.completed{color:color-mix(in srgb,var(--accent-teal) 70%,var(--text))}.paymentsDetailsBalance{display:grid;flex:0 0 auto;gap:3px;text-align:right}.paymentsDetailsBalance span{color:var(--muted);font-size:.72rem}.paymentsDetailsBalance strong{color:var(--text);font-size:1rem;font-weight:650}.paymentsDetailsContent{display:grid;grid-template-columns:minmax(260px,.86fr) minmax(0,1.14fr);min-width:0;padding-top:14px}.paymentsDetailsFormSection{min-width:0;padding:0 24px 0 0}.paymentsDetailsFormSection h2,.paymentsDetailsHistory h2{margin:0 0 14px;color:var(--text);font-size:.95rem;font-weight:600}.paymentsDetailsForm{display:grid;gap:18px}.paymentsDetailsFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 20px}.paymentsAdditionalServiceOptions{display:flex;flex-wrap:wrap;gap:8px 14px}.paymentsDetailsFields .paymentsAdditionalServiceOption{display:flex;align-items:center;gap:6px;color:var(--text);font-size:.78rem;font-weight:400;cursor:pointer}.paymentsAdditionalServiceOption input{margin:0;accent-color:var(--accent)}.paymentsAdditionalServiceEmpty{color:var(--muted);font-size:.78rem;font-weight:400}.paymentsDetailsFields .paymentsField span{color:var(--muted);font-size:.76rem;font-weight:500}.paymentsDetailsFields .paymentsField .input{width:100%;min-height:32px;height:32px;padding:4px 2px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--text);font-size:.84rem;box-shadow:none}.paymentsDetailsFields .paymentsField .input:focus{border-bottom-color:var(--accent);outline:none;box-shadow:none}.paymentsDetailsActions{display:flex;justify-content:flex-start;gap:8px}.paymentsDetailsActions .btn{min-height:32px;padding:6px 12px;border-radius:6px;font-size:.78rem}.paymentsDetailsActions .btn.secondary{color:var(--button-secondary-color);border:1px solid var(--button-secondary-border);background:var(--button-secondary-background)}.paymentsDetailsHistory{min-width:0;padding-left:24px;border-left:1px solid var(--line)}.paymentsDetailsHistory .paymentsInlineHistoryTableWrap{overflow-x:auto}.paymentsDetailsHistory .paymentsInlineHistoryTable{min-width:0;font-size:.78rem}.paymentsDetailsHistory .paymentsInlineHistoryTable th,.paymentsDetailsHistory .paymentsInlineHistoryTable td{padding:8px 9px;border-bottom-color:color-mix(in srgb,var(--line) 78%,transparent)}.paymentsDetailsHistory .paymentsInlineHistoryTable th{background:transparent;font-size:.68rem}.paymentsDetailsHistory .paymentsInlineHistoryTable th:last-child,.paymentsDetailsHistory .paymentsInlineHistoryTable td:last-child{text-align:right}@media(max-width:820px){.paymentsDetailsContent{grid-template-columns:minmax(0,1fr);gap:16px}.paymentsDetailsFormSection{padding:0 0 16px;border-bottom:1px solid var(--line)}.paymentsDetailsHistory{padding-left:0;border-left:0}}@media(max-width:560px){.paymentsDetailsPageHeader{align-items:flex-start}.paymentsDetailsPageHeader{flex-wrap:wrap;gap:8px 16px}.paymentsDetailsBalance{width:100%;text-align:left}.paymentsDetailsFields{grid-template-columns:minmax(0,1fr)}}.bracesReferenceCard{margin:0 0 22px;padding:22px;border:1px solid rgba(var(--accent-rgb),.3);border-radius:18px;background:var(--surface);box-shadow:0 12px 32px #1422300f}.bracesReferenceHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.bracesReferenceHeader h2{margin:3px 0 0;color:var(--text);font-size:20px}.bracesReferenceHeader p{margin:6px 0 0;color:var(--muted);font-size:13px}.bracesReferenceGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bracesReferenceItem{min-width:0;margin:0;padding:14px;border:1px solid rgba(var(--accent-rgb),.25);border-radius:12px}.bracesReferenceItem legend,.bracesReferenceItem h3{padding:0 5px;color:var(--text);font-size:14px;font-weight:700}.bracesReferenceItem h3{margin:0 0 9px}.bracesReferenceItem label{display:grid;gap:6px;margin-top:9px;color:var(--muted);font-size:11px;font-weight:600}.bracesReferenceItem p{margin:5px 0 0;color:var(--muted);font-size:13px}.bracesReferenceItem p strong{color:var(--text)}.bracesReferenceRange{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.bracesReferenceActions{grid-column:1 / -1;display:flex;justify-content:flex-end}.bracesReferenceHint{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 10px;margin:10px 0 16px;padding:12px 14px;border:1px solid rgba(var(--accent-rgb),.24);border-radius:12px;background:color-mix(in srgb,var(--accent) 7%,var(--surface));color:var(--text);font-size:13px}.bracesReferenceHint small{flex-basis:100%;color:var(--muted);font-size:11px}.paymentsPage .srOnly{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.paymentsPageActions{display:flex;justify-content:flex-end;margin-bottom:8px}.paymentsPageActions .btn{flex:0 0 auto}.paymentsFormCard,.paymentsListCard{margin-top:18px;padding:22px;border:1px solid rgba(var(--accent-rgb),.28);border-radius:18px;background:var(--surface);box-shadow:0 12px 32px #1422300f}.paymentsSectionHeading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.paymentsSectionHeading h2{margin:0;color:var(--text);font-size:18px}.paymentsSectionHeading p{margin:5px 0 0;color:var(--muted);font-size:13px}.paymentsForm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.paymentsField{display:grid;gap:7px;min-width:0;color:var(--text);font-size:13px;font-weight:600}.paymentsField .input,.paymentsToolbar .input{width:100%;min-width:0}.paymentsFieldWide{grid-column:span 2}.paymentsFormActions{display:flex;align-items:flex-end;justify-content:flex-end}.paymentsSummary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.paymentsSummary>div{display:flex;flex-direction:column;gap:5px;padding:16px 20px;border:1px solid rgba(var(--accent-rgb),.25);border-radius:14px;background:var(--surface)}.paymentsSummary span,.paymentsResultCount{color:var(--muted);font-size:13px}.paymentsSummary strong{color:var(--text);font-size:21px}.paymentsToolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:16px}.paymentsSearch{min-width:0}.paymentsDateFilter{display:flex;align-items:center;gap:7px;min-width:0;color:var(--muted);font-size:12px}.paymentsDateFilter .input{min-width:0}.paymentsTableWrap{overflow-x:auto}.paymentsTable{width:100%;min-width:680px;border-collapse:collapse;color:var(--text);font-size:13px}.paymentsTable th{padding:11px 12px;border-bottom:1px solid rgba(var(--accent-rgb),.35);color:var(--muted);font-size:11px;text-align:left;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap}.paymentsTable td{padding:13px 12px;border-bottom:1px solid rgba(var(--accent-rgb),.2);vertical-align:middle}.paymentsTable tbody tr:last-child td{border-bottom:0}.paymentsClickableRow{cursor:pointer}.paymentsClickableRow:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.paymentsTable td>strong,.paymentsPatientLink{display:block;color:var(--text);font-weight:650}.paymentsPatientLink{max-width:100%;padding:0;border:0;background:none;color:var(--text);text-align:left;font:inherit;cursor:pointer}.paymentsPatientLink:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.paymentsPatientEmail{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-weight:400}.paymentsResultCount{margin:14px 0 0}.paymentsRetry{margin-left:8px;padding:0;border:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}.paymentsTabs{display:flex;gap:22px;margin-bottom:18px;border-bottom:1px solid var(--line)}.paymentsTab{position:relative;min-height:42px;padding:0 2px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.paymentsTab.active{color:var(--text)}.paymentsTab.active:after{position:absolute;right:0;bottom:-1px;left:0;height:2px;background:var(--accent);content:""}.paymentsTableOrtho{min-width:680px;table-layout:fixed}.paymentsTableOrtho th:nth-child(1){width:32%}.paymentsTableOrtho th:nth-child(2){width:24%}.paymentsTableOrtho th:nth-child(3){width:18%}.paymentsTableOrtho th:nth-child(4){width:14%}.paymentsTableOrtho th:nth-child(5){width:12%}.paymentsTableRegular{min-width:680px;table-layout:fixed}.paymentsTableCompleted{min-width:760px;table-layout:fixed}.paymentsInlineDetails{margin:0;width:min(1024px,calc(100vw - 36px));max-height:min(90vh,680px);max-height:min(90dvh,680px);overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 24px 64px #0000003d}.paymentsDetailsOverlay{position:fixed;inset:0;z-index:1400;display:grid;place-items:center;padding:18px;background:#00000075;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.paymentsDetailDialog{overflow-x:hidden;overflow-y:auto}.paymentsInlineDetailsHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:10px 16px 0}.paymentsInlineDetailsHeader h2{margin:0;color:var(--text);font-size:1.1rem;font-weight:650}.paymentsInlineDetailsHeader p{margin:5px 0 0;color:var(--muted);font-size:.88rem}.paymentsInlineDetailsStatus{display:flex;align-items:center;gap:15px;color:var(--text);font-size:.9rem;font-weight:600}.paymentsInlineDetailsStatus button{display:grid;width:32px;height:32px;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:var(--muted);font:inherit;font-size:1.35rem;cursor:pointer}.paymentsInlineDetailsStatus button:hover{background:color-mix(in srgb,var(--text) 6%,transparent);color:var(--text)}.paymentsInlineDetailsBody{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr)}.paymentsInlineEditor{display:flex;min-width:0;flex-direction:column;justify-content:space-between;gap:18px;padding:8px 16px 14px}.paymentsInlineFields{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1fr);gap:10px 18px}.paymentsInlineMethod{grid-column:1 / 2}.paymentsInlineFieldsOrtho .paymentsInlineMethod{grid-column:auto}.paymentsInlineEditor .paymentsField{gap:4px;font-size:.7rem;font-weight:500}.paymentsInlineEditor .paymentsField .input{height:27px;min-height:27px;padding:3px 8px;border-radius:5px;font-size:.75rem}.paymentsInlineActions{display:flex;justify-content:flex-start;gap:10px}.paymentsInlineActions .btn{min-height:30px;padding:5px 12px;border-radius:5px;font-size:.76rem}.paymentsInlineHistory{min-width:0;padding:8px 16px 14px 22px;border-left:1px solid var(--line)}.paymentsInlineHistory h3{margin:0 0 8px;color:var(--text);font-size:.98rem;font-weight:650}.paymentsInlineHistoryTableWrap{overflow-x:auto}.paymentsInlineHistoryTable{width:100%;min-width:300px;border-collapse:collapse;color:var(--text);font-size:.84rem}.paymentsInlineHistoryTable th,.paymentsInlineHistoryTable td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.paymentsInlineHistoryTable th{background:color-mix(in srgb,var(--text) 4%,var(--surface))}.paymentsInlineHistoryTable th:last-child,.paymentsInlineHistoryTable td:last-child{text-align:right}.paymentsInlineHistoryTable th{color:var(--muted);font-size:.7rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.paymentsInlineHistoryTable tbody tr:last-child td{border-bottom:0}.paymentsInlineHistory .paymentsDetailNote{margin-top:12px}.paymentsHistoryOverlay{z-index:1300}.paymentsHistoryDialog{width:min(900px,calc(100vw - 28px));max-height:min(88vh,860px);display:flex;flex-direction:column;overflow:hidden}.paymentsHistoryDialog .modalHead p{margin:5px 0 0;color:var(--muted);font-size:13px}.paymentsHistoryBody{overflow-y:auto;min-height:0;flex:1}.paymentsDetailSection{display:flex;flex-direction:column;gap:12px}.paymentsDetailSection>h3{margin:0;color:var(--text);font-size:15px}.paymentsAppointmentCard,.paymentsBracesSummary{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid rgba(var(--accent-rgb),.24);border-radius:12px}.paymentsAppointmentHeading,.paymentsProcedureHeading,.paymentsProcedureMetrics{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.paymentsAppointmentHeading>div,.paymentsProcedureHeading,.paymentsBracesSummary>div{display:flex;flex-direction:column;gap:5px}.paymentsAppointmentHeading>div>span,.paymentsProcedureMetrics,.paymentsDetailNote{color:var(--muted);font-size:12px}.paymentsProcedureDetail{display:flex;flex-direction:column;gap:9px;padding-top:12px;border-top:1px solid rgba(var(--accent-rgb),.18)}.paymentsProcedureMetrics{flex-wrap:wrap}.paymentsChargeEditor{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.paymentsChargeEditor label{display:grid;flex:1 1 180px;gap:5px;color:var(--muted);font-size:12px}.paymentsChargeEditor .btn{min-height:40px}.paymentsProcedureTransactions,.paymentsAdjustmentHistory{margin:0;padding-left:18px;color:var(--muted);font-size:12px}.paymentsBracesSummary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.paymentsBracesSummary>div>span,.paymentsAdjustmentHistory>strong{color:var(--muted);font-size:12px}.paymentsAdjustmentHistory{display:grid;gap:8px;padding:0}.paymentsAdjustmentHistory>div{display:grid;gap:4px;padding:9px 0;border-bottom:1px solid rgba(var(--accent-rgb),.18)}.paymentsInlineSuccess{padding:10px 12px;border:1px solid rgba(34,197,94,.35);border-radius:10px;color:var(--text);background:#22c55e1a}.paymentsDetailNote{margin:0}.paymentsHistoryItem{display:grid;grid-template-columns:1.2fr 1.2fr .8fr;gap:12px;padding:14px;border:1px solid rgba(var(--accent-rgb),.24);border-radius:12px}.paymentsHistoryItem>div{display:flex;flex-direction:column;gap:5px;min-width:0}.paymentsHistoryItem strong{color:var(--text);font-size:13px}.paymentsHistoryItem span,.paymentsHistoryItem p{color:var(--muted);font-size:12px}.paymentsHistoryItem p{grid-column:1 / -1;margin:0}@media(max-width:1000px){.paymentsToolbar{grid-template-columns:minmax(0,1fr)}}@media(max-width:700px){.bracesReferenceCard{padding:16px}.bracesReferenceHeader{flex-direction:column}.paymentsFormCard,.paymentsListCard{padding:16px}.paymentsForm{grid-template-columns:repeat(2,minmax(0,1fr))}.paymentsToolbar{grid-template-columns:minmax(0,1fr)}.paymentsSearch{grid-column:1 / -1}.paymentsDateFilter{flex-direction:column;align-items:stretch}}@media(max-width:520px){.bracesReferenceGrid,.bracesReferenceRange,.paymentsToolbar,.paymentsSummary{grid-template-columns:minmax(0,1fr)}.paymentsFieldWide,.paymentsSearch{grid-column:auto}.paymentsHistoryItem,.paymentsBracesSummary{grid-template-columns:minmax(0,1fr)}.paymentsHistoryItem p{grid-column:auto}}@media(max-width:760px){.paymentsInlineDetailsBody{grid-template-columns:minmax(0,1fr)}.paymentsInlineHistory{border-top:1px solid var(--line);border-left:0}}@media(max-width:520px){.paymentsInlineDetailsHeader,.paymentsInlineEditor,.paymentsInlineHistory{padding:17px}.paymentsInlineFields{grid-template-columns:minmax(0,1fr)}.paymentsInlineMethod{grid-column:auto}.paymentsInlineActions{flex-wrap:wrap}.paymentsInlineActions .btn{flex:1 1 120px}}.appointmentCompletionModal{width:min(640px,calc(100vw - 32px));max-height:min(88vh,760px)}.appointmentCompletionBody{gap:12px}.appointmentCompletionHint{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}.appointmentProcedureCharge{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.7fr);align-items:center;gap:12px;padding:12px;border:1px solid rgba(var(--accent-rgb),.24);border-radius:12px}.appointmentProcedureCheck{display:flex;align-items:center;gap:10px;font-weight:650}.appointmentProcedureCheck input{width:18px;height:18px;accent-color:var(--accent)}.appointmentProcedureAmount{display:grid;gap:6px;font-size:.82rem}.appointmentCompletionTotal{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:8px;font-weight:700}@media(max-width:560px){.appointmentProcedureCharge{grid-template-columns:1fr}}html[data-dashboard=true] .adminAppMain .adminSurface{min-width:0}@media(min-width:861px){html[data-dashboard=true] .container.adminSurface{padding-right:32px}}html[data-dashboard=true] .patientListPanel{border-color:var(--line);border-radius:12px;box-shadow:none}html[data-dashboard=true] .patientPanelHead{align-items:center;gap:8px;margin-bottom:8px}html[data-dashboard=true] .patientListPanel{padding:12px}html[data-dashboard=true] .patientToolbar{gap:8px}html[data-dashboard=true] .adminSurface :is(.input,select,.btn){min-height:36px;border-radius:8px;font-family:var(--font-body);font-size:13px}html[data-dashboard=true] .adminSurface :is(input:not([type=checkbox]),select){height:36px}html[data-dashboard=true] .adminSurface :is(.input,select){border-color:var(--line);background-color:var(--field-bg);color:var(--text)}html[data-dashboard=true] .adminSurface :is(.input,select):focus-visible{border-color:var(--accent);outline:2px solid var(--line-focus);outline-offset:1px}html[data-dashboard=true] .adminSurface select:not([multiple]){width:100%;min-width:0;max-width:100%;padding:0 30px 0 10px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-repeat:no-repeat;background-size:5px 5px;line-height:1.35;text-overflow:ellipsis;cursor:pointer}html[data-dashboard=true] .adminSurface select option{background:var(--bg);color:var(--text)}html[data-dashboard=true] .adminSurface input[type=date]{min-height:36px;padding:0 8px}html[data-dashboard=true] .adminSurface .btn{padding:9px 14px;font-weight:600;box-shadow:none}html[data-dashboard=true] .adminSurface :is(button,.btn):hover:not(:disabled){transform:none;filter:none;box-shadow:none}html[data-dashboard=true] .adminSurface :is(button,.btn):active:not(:disabled){transform:none}html[data-dashboard=true] .adminSurface :is(.panel,.card,.ovCard,.ovStatCard,.statCard):hover{transform:none;box-shadow:none}html[data-dashboard=true] .adminSurface :is(button,.btn,.input,select){transition:color .14s ease,background-color .14s ease,border-color .14s ease,opacity .14s ease}html[data-dashboard=true] .adminSurface :is(button,.btn):focus-visible{outline:2px solid var(--accent);outline-offset:2px}html[data-dashboard=true] .adminSurface .adminSearchField{position:relative;flex:1 1 280px;width:auto;min-width:0;max-width:100%}html[data-dashboard=true] .adminSurface .adminSearchIcon{position:absolute;z-index:1;top:50%;left:12px;width:16px;height:16px;transform:translateY(-50%);fill:none;stroke:var(--muted);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}html[data-dashboard=true] .adminSurface .adminSearchField :is(input,.input){width:100%;height:36px;min-width:0;min-height:36px;padding:7px 40px 7px 34px;border:1px solid var(--line);border-radius:8px;background:var(--field-bg);color:var(--text);font:400 13px/1.4 var(--font-body);box-shadow:none;appearance:none;-webkit-appearance:none}html[data-dashboard=true] .adminSurface .adminSearchField :is(input,.input)::placeholder{color:var(--muted);opacity:.85}html[data-dashboard=true] .adminSurface .adminSearchField :is(input,.input):focus-visible{border-color:var(--accent);outline:2px solid var(--line-focus);outline-offset:1px}html[data-dashboard=true] .adminSurface .bookingSortControl{min-width:0;max-width:100%;min-height:36px;border-color:var(--line);border-radius:8px;background:var(--field-bg);color:var(--text);font:500 13px/1.35 var(--font-body)}html[data-dashboard=true] .adminSurface .bookingSortControl svg{color:var(--muted)}html[data-dashboard=true] .adminSurface .bookingSortControl:focus-within{border-color:var(--accent);outline:2px solid var(--line-focus);outline-offset:1px;box-shadow:none}html[data-dashboard=true] .adminSurface .acctSort .input{min-width:0;max-width:100%}html[data-dashboard=true] .adminSurface .paymentsToolbar{grid-template-columns:minmax(0,1fr);align-items:center;gap:8px}html[data-dashboard=true] .adminSurface .paymentsSearch{grid-column:auto;min-width:0}html[data-dashboard=true] .adminSurface .searchWrapper{flex:1 1 240px;width:100%}html[data-dashboard=true] .adminSurface .acctBar{justify-content:flex-start}html[data-dashboard=true] .adminSurface .acctBarLeft{flex:1 1 440px;flex-wrap:nowrap;gap:8px}html[data-dashboard=true] .adminSurface .acctSearch{flex:1 1 280px;min-width:0;max-width:none}html[data-dashboard=true] .adminSurface .acctBarActions{flex:0 0 auto;flex-wrap:nowrap;gap:8px}html[data-dashboard=true] .adminSurface .acctSort .input{width:150px}html[data-dashboard=true] .adminSurface .bookingToolbar .bookingSearch{flex:1 1 280px;max-width:none}.bookingHeaderToolbar{display:flex;flex:1 1 0;flex-wrap:nowrap;align-items:center;gap:10px;min-width:0;margin:0}.adminTopbar .bookingHeaderToolbar .bookingSearch{flex:1 1 0;width:auto;min-width:0;max-width:none;margin:0}.adminTopbar .bookingHeaderToolbar .adminSearchIcon{position:absolute;z-index:1;top:50%;left:12px;width:16px;height:16px;transform:translateY(-50%);fill:none;stroke:var(--muted);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.adminTopbar .bookingHeaderToolbar .bookingSearch .input{width:100%;height:36px;min-width:0;min-height:36px;padding:7px 40px 7px 34px;border:1px solid var(--line);border-radius:8px;background:var(--field-bg);color:var(--text);font:400 13px/1.4 var(--font-body);box-shadow:none;appearance:none;-webkit-appearance:none}.adminTopbar .bookingHeaderToolbar .bookingSearch .input::placeholder{color:var(--muted);opacity:.85}.adminTopbar .bookingHeaderToolbar .bookingSearch .input:focus-visible{border-color:var(--accent);outline:2px solid var(--line-focus);outline-offset:1px}.adminTopbar .bookingHeaderToolbar .bookingSortControl{flex:0 0 180px;width:180px;min-width:0;min-height:36px;max-width:180px;border-color:var(--line);border-radius:8px;background:var(--field-bg);color:var(--text);font:500 13px/1.35 var(--font-body)}.adminTopbar .bookingHeaderToolbar .bookingSortControl svg{color:var(--muted)}.adminTopbar .bookingHeaderToolbar .bookingSortControl:focus-within{border-color:var(--accent);outline:2px solid var(--line-focus);outline-offset:1px;box-shadow:none}.bookingPageToolbar{display:none}@media(max-width:860px){.adminTopbar .bookingHeaderToolbar{display:none}.bookingPageToolbar{display:flex;width:100%}}html[data-dashboard=true] .adminSurface .servicesAdminToolbar{align-items:center}html[data-dashboard=true] .adminSurface .servicesAdminFilters{flex:0 0 auto}html[data-dashboard=true] .adminSurface .servicesAdminAddButton{flex:0 0 auto;white-space:nowrap}.auditPage .auditFilterBar .adminSearchField :is(input,.input){padding-right:56px}@media(max-width:900px){.auditFilterBar{grid-template-columns:minmax(0,1fr)}.filterSelectGroup{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-dashboard=true] .adminSurface .acctBarLeft{flex-wrap:wrap;flex-basis:100%}html[data-dashboard=true] .adminSurface .acctBarActions{flex:1 1 100%}html[data-dashboard=true] .adminSurface .acctSort{flex:1 1 auto}html[data-dashboard=true] .adminSurface .acctSort .input{width:100%}html[data-dashboard=true] .adminSurface .servicesAdminToolbar{flex-wrap:wrap}html[data-dashboard=true] .adminSurface .servicesAdminFilters{flex:1 1 auto}}@media(max-width:560px){.filterSelectGroup{grid-template-columns:repeat(2,minmax(0,1fr))}.filterSelectGroup .input{width:100%}.paymentsPageActions{justify-content:flex-start}}@media(max-width:1200px){html[data-dashboard=true] .adminSurface .paymentsToolbar{grid-template-columns:minmax(0,1fr)}html[data-dashboard=true] .adminSurface .paymentsSearch{grid-column:1 / -1}}@media(max-width:700px){html[data-dashboard=true] .adminSurface .paymentsToolbar{grid-template-columns:minmax(0,1fr)}}@media(max-width:520px){html[data-dashboard=true] .adminSurface .paymentsToolbar{grid-template-columns:minmax(0,1fr)}html[data-dashboard=true] .adminSurface .paymentsSearch{grid-column:auto}}@media(min-width:1080px){html[data-dashboard=true] .patientListPage .patientToolbar{position:fixed;z-index:1001;top:16px;right:320px;left:292px;flex:none;width:auto;max-width:none;margin:0}html[data-dashboard=true] .servicesAdminPage .servicesAdminTopSearch{position:fixed;z-index:1001;top:16px;right:320px;left:292px;width:auto;max-width:none;margin:0}html[data-dashboard=true] .bookingManagementPage .bookingSearch{flex:1 1 auto;min-width:0;max-width:none}html[data-dashboard=true] .patientListPage .topSearchBar{flex:1 1 auto;max-width:none;min-width:0}html[data-dashboard=true] .patientListPage .patientTypeFilter{flex:0 0 140px}html[data-dashboard=true] .patientListPage .patientToolbar>.btn{flex:0 0 auto;white-space:nowrap}}@media(max-width:1079px){html[data-dashboard=true] .patientListPage .patientToolbar{min-width:min(100%,420px);flex-wrap:wrap}html[data-dashboard=true] .patientListPage .patientToolbar .topSearchBar{min-width:min(100%,220px)}}@media(max-width:860px){html[data-dashboard=true] .patientListPage .patientToolbar{justify-content:flex-start}}html[data-dashboard=true] .adminSurface :is(.patientTable,.bookingsTable,.paymentsTable,.ovTable){border-collapse:separate;border-spacing:0}html[data-dashboard=true] .adminSurface :is(.patientTable,.bookingsTable,.paymentsTable,.ovTable) thead th{border-bottom:1px solid var(--line);color:var(--muted);font-size:11.5px;font-weight:600;letter-spacing:.025em}html[data-dashboard=true] .adminSurface :is(.patientTable,.bookingsTable,.paymentsTable,.ovTable) tbody td{border-bottom:0;color:var(--text)}html[data-dashboard=true] .adminSurface :is(.patientTable,.bookingsTable,.paymentsTable,.ovTable) tbody tr{background:transparent}html[data-dashboard=true] .adminSurface :is(.patientTable,.bookingsTable,.paymentsTable,.ovTable) tbody tr:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}html[data-dashboard=true] .adminSurface :is(.patientTableWrap,.bookingsTableWrap,.paymentsTableWrap,.ovTableWrap){max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}html[data-dashboard=true] .bracesReferenceCard{margin-bottom:18px;padding:18px;border-color:var(--line);border-radius:12px;box-shadow:none}html[data-dashboard=true] .bracesReferenceItem{border-color:var(--line);border-radius:9px;background:var(--surface)}html[data-dashboard=true] .adminStats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}html[data-dashboard=true] .adminStats .statCard{min-width:0;min-height:104px;padding:16px;border:1px solid var(--line);border-top:2px solid color-mix(in srgb,var(--accent) 58%,var(--line));border-radius:11px;background:var(--surface);box-shadow:none;color:var(--text)}html[data-dashboard=true] .adminStats .statLabel{color:var(--muted);font-size:12px;font-weight:500}html[data-dashboard=true] .adminStats .statValue{max-width:100%;color:var(--text);font-size:clamp(20px,2vw,25px);line-height:1.25;overflow-wrap:anywhere}html[data-dashboard=true] .adminSurface :is(.panel,.card,.ovCard,.ovStatCard,.auditTableWrapper,.acctBar){border-color:var(--line);border-radius:12px;box-shadow:none}html[data-dashboard=true] .servicesAdminRow{border-top-color:transparent}html[data-dashboard=true] .servicesAdminClosureList li{border-bottom-color:color-mix(in srgb,var(--line) 55%,transparent)}@media(max-width:900px){html[data-dashboard=true] .adminStats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){html[data-dashboard=true] .container.adminSurface{padding-right:16px;padding-left:16px}html[data-dashboard=true] .adminStats{gap:9px}html[data-dashboard=true] .adminStats .statCard{min-height:94px;padding:12px}}html[data-dashboard=true] .servicesAdminModal{border-color:color-mix(in srgb,var(--muted) 24%,var(--surface));background:var(--surface);box-shadow:0 18px 48px color-mix(in srgb,var(--text) 16%,transparent)}html[data-dashboard=true] .servicesAdminModal .servicesAdminModalHeader h2{font-weight:600}html[data-dashboard=true] .servicesAdminModal .servicesAdminModalHeader p{font-weight:400}html[data-dashboard=true] .servicesAdminModal .servicesAdminFormBody>label,html[data-dashboard=true] .servicesAdminModal .servicesAdminFormGrid>label{font-weight:400}html[data-dashboard=true] .servicesAdminModal .servicesAdminFormBody :is(input:not([type=checkbox]),select,textarea){min-height:40px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--muted) 28%,var(--field-bg));border-radius:8px;background:var(--field-bg);color:var(--text);font:400 13.5px/1.4 var(--font-body);box-shadow:none}html[data-dashboard=true] .servicesAdminModal .servicesAdminFormBody textarea{min-height:82px;resize:vertical}html[data-dashboard=true] .servicesAdminModal .servicesAdminFormBody select{height:40px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-repeat:no-repeat;background-size:5px 5px;cursor:pointer}html[data-dashboard=true] .servicesAdminModal .servicesAdminFormBody :is(input,textarea)::placeholder{color:var(--muted);opacity:.8}html[data-dashboard=true] .servicesAdminModal .servicesAdminFormBody :is(input,textarea):focus-visible{border-color:var(--accent);outline:2px solid var(--line-focus);outline-offset:1px}html[data-dashboard=true] .servicesAdminModal .servicesAdminEditPreview{font-weight:400}html[data-dashboard=true] .servicesAdminModal .servicesAdminEditPreview img{border:0;border-radius:6px;background:var(--field-bg);object-fit:contain}html[data-dashboard=true] .servicesAdminModal .servicesAdminModalClose{background:transparent}html[data-dashboard=true] .servicesAdminModal .servicesAdminModalStatusAction{border:0;background:transparent;color:var(--danger);font-weight:400}html[data-dashboard=true] .servicesAdminModal .servicesAdminModalStatusAction:hover:not(:disabled){background:transparent;color:var(--danger)}html[data-dashboard=true] .servicesAdminModal .servicesAdminCancelButton{border-color:transparent;background:var(--button-secondary-background);color:var(--button-secondary-color);box-shadow:none}@media(min-width:1080px){html[data-dashboard=true] .acctPage .acctTopToolbar{position:fixed;z-index:1001;top:16px;right:320px;left:292px;display:flex;flex-wrap:nowrap;gap:8px;width:auto;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}html[data-dashboard=true] .acctPage .acctTopToolbar .acctBarLeft{flex:1 1 auto;min-width:0;gap:0}html[data-dashboard=true] .acctPage .acctTopToolbar .acctSearch{min-width:0;max-width:none}html[data-dashboard=true] .acctPage .acctTopToolbar .acctSearch .input{height:36px;min-height:36px;padding-left:38px;border-color:var(--line);border-radius:8px;background:var(--field-bg)}html[data-dashboard=true] .acctPage .acctTopToolbar .acctBarActions{flex:0 0 auto;flex-wrap:nowrap;gap:8px}html[data-dashboard=true] .acctPage .acctTopToolbar .acctSort{flex:0 0 150px}html[data-dashboard=true] .acctPage .acctTopToolbar .acctSort .input{width:100%;height:36px;min-height:36px;border-color:var(--line);border-radius:8px;background-color:var(--field-bg)}html[data-dashboard=true] .acctPage .acctTopToolbar .acctBarActions>.btn{min-height:36px;padding:8px 12px;border-radius:8px;white-space:nowrap}}.acctSectionHeading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.acctSectionHeading h1{margin:0;color:var(--text);font-size:20px;font-weight:600;line-height:1.3}.acctSectionHeading p{margin:4px 0 0;color:var(--muted);font-size:13px}.acctListCount{margin:0 14px 4px;color:var(--muted);font-size:13px;font-weight:400;text-align:right}@media(max-width:760px){.acctSectionHeading{align-items:flex-start}}.auditPage .auditFilterBar{display:flex;align-items:center;gap:8px;margin:0 0 16px;padding:0}.auditPage .auditFilterBar>.searchWrapper{flex:1 1 280px;min-width:0}.auditPage .filterSelectGroup{display:grid;flex:2 1 620px;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.auditPage .auditFilterBar .input{width:100%;height:36px;min-height:36px;border-color:var(--line);border-radius:8px;background:var(--field-bg)}.auditPage .auditFilterBar .adminSearchField .input{padding-left:40px;padding-right:56px}.auditPage .auditTableWrapper{width:100%;overflow-x:auto;border:0;border-radius:0;background:transparent}.auditPage .auditTable{display:grid;min-width:1000px;gap:0}.auditPage .auditTableHeader,.auditPage .auditTableRow{grid-template-columns:minmax(150px,1.15fr) minmax(105px,.8fr) minmax(170px,1.25fr) minmax(165px,1fr) minmax(120px,.75fr);gap:16px;padding-right:18px;padding-left:18px}.auditPage .auditTableHeader{display:grid;padding-top:12px;padding-bottom:12px;border-bottom:1px solid var(--line);font-size:12px;font-weight:600;letter-spacing:.04em}.auditPage .auditTableRow,.auditPage .auditTableRow:last-child,.auditPage .auditTableRow:hover,.auditPage .auditTableRow:last-child:hover{padding-top:14px;padding-bottom:14px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.auditPage .auditTableRow:last-child{border-bottom:0}.auditPage .actorName,.auditPage .targetLabel{font-weight:400}.auditPage .actorRole,.auditPage .targetType{font-weight:400;letter-spacing:normal}.auditPage .actorRole{text-transform:capitalize}.auditPage .actionBadge,.auditPage .auditActionLabel{display:inline;max-width:100%;padding:0;border:0;border-radius:0;background:none;font-size:14px;font-weight:400;line-height:1.4}.auditPage .auditActionLabel.is-accent{color:var(--accent)}.auditPage .auditActionLabel.is-info{color:color-mix(in srgb,var(--accent) 55%,var(--accent-teal))}.auditPage .auditActionLabel.is-success{color:var(--accent-teal)}.auditPage .auditActionLabel.is-danger,.auditPage .auditActionLabel.is-mutedDanger{color:var(--danger)}.auditPage .auditActionLabel.is-muted{color:var(--muted)}.auditPage .detailsSummary{display:inline;padding:0;border:0;border-radius:0;background:none;font-size:13px;font-weight:400;color:var(--accent);text-decoration:none}.auditPage .detailsSummary:after{display:none;content:none}.auditPage .detailsSummary:hover,.auditPage .auditDetailsDrawer[open] .detailsSummary{border:0;text-decoration:underline}.auditPage .detailsSummary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}@media(min-width:1280px){html[data-dashboard=true] .auditPage .auditFilterBar{position:fixed;z-index:1001;top:16px;right:320px;left:292px;flex-wrap:nowrap;width:auto;margin:0}html[data-dashboard=true] .auditPage .auditFilterBar>.searchWrapper{flex:1.15 1 250px}html[data-dashboard=true] .auditPage .filterSelectGroup{flex:2.85 1 620px}html[data-dashboard=true] .auditPage .auditTableWrapper{margin-top:52px}}@media(max-width:1279px){.auditPage .auditFilterBar{flex-wrap:wrap}.auditPage .auditFilterBar>.searchWrapper{flex:1 1 100%}.auditPage .filterSelectGroup{flex:1 1 100%}}@media(max-width:980px){.auditPage .auditTableHeader{display:grid}.auditPage .auditTableRow{grid-template-columns:minmax(150px,1.15fr) minmax(105px,.8fr) minmax(170px,1.25fr) minmax(165px,1fr) minmax(120px,.75fr)}}@media(max-width:640px){.auditPage .filterSelectGroup{grid-template-columns:repeat(2,minmax(0,1fr))}}.patientListPage .patientName,.patientListPage .patientTableNameCell,.bookingManagementPage .bookingNameCell,.bookingManagementPage .bookingNameCell strong,.paymentsPage .paymentsTable td>strong,.paymentsPage .paymentsPatientLink,.paymentsPage .paymentsHistoryItem strong,.dentistManagementPage .patientTableNameCell,.servicesAdminPage .servicesAdminNameLine h3,.acctPage .acctWho strong,.auditPage .actorName,.auditPage .targetLabel{font-weight:600}.bookingManagementPage .bookingNameCell small,.paymentsPage .paymentsPatientEmail,.acctPage .acctWho span,.servicesAdminPage .servicesAdminDescription,.auditPage .actorRole,.auditPage .targetType,.auditPage .timeCell{font-weight:400}@media(min-width:1280px){html[data-dashboard=true] .paymentsPage .paymentsToolbar{position:fixed;z-index:1001;top:16px;right:320px;left:292px;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:8px;width:auto;margin:0}html[data-dashboard=true] .paymentsPage .paymentsToolbar .input{height:36px;min-height:36px}html[data-dashboard=true] .paymentsPage .paymentsSearch{grid-column:auto;min-width:0}}@media(max-width:1279px){.paymentsPage .paymentsToolbar{grid-template-columns:minmax(0,1fr)}}.dentistPatientsPage .patientActionsCell{position:relative;min-width:150px;overflow:visible}.dentistPatientsPage .patientActionsTrigger{display:inline-grid;width:36px;height:36px;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer}.dentistPatientsPage .patientActionsTrigger svg{width:18px;height:18px;fill:currentColor}.dentistPatientsPage .patientActionsMenu{display:grid;min-width:190px;gap:4px;margin-top:6px;padding:6px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:0 8px 24px #0000001f;white-space:normal}.dentistPatientsPage .patientActionMenuItem{display:grid;gap:4px;width:100%;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.dentistPatientsPage .patientActionMenuItem:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 9%,var(--surface))}.dentistPatientsPage .patientActionMenuItem small{color:var(--muted);font-size:.75rem;line-height:1.4;white-space:normal}.dentistPatientsPage .patientActionMenuItem:disabled{opacity:.62;cursor:not-allowed}@media(max-width:640px){.dentistPatientsPage .patientActionsCell{display:flex;flex-direction:column;align-items:flex-end}}.overviewDashboard{display:grid;gap:18px;min-width:0}.overviewDashboard .overviewWelcome{display:flex;align-items:center;gap:16px;padding:7px 0 3px}.overviewDashboard .overviewWelcomeTooth{display:grid;width:54px;height:54px;flex:0 0 54px;place-items:center;padding:13px;border-radius:16px;background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--status-warning)}.overviewDashboard .overviewWelcome h1{margin:0;color:var(--text);font-size:clamp(1.45rem,2.6vw,2rem);font-weight:750;line-height:1.2}.overviewDashboard .overviewWelcome p{margin:6px 0 0;color:var(--muted);font-size:.95rem}.overviewDashboard .overviewWelcomeTooth svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.overviewDashboard .overviewStats{display:grid;gap:14px;min-width:0}.overviewDashboard .overviewStatsPrimary{grid-template-columns:repeat(3,minmax(0,1fr))}.overviewDashboard .overviewStatsPeople{grid-template-columns:repeat(2,minmax(0,1fr))}.overviewDashboard .overviewStatCard,.overviewDashboard .overviewPeopleCard{position:relative;display:flex;align-items:center;min-width:0;gap:14px;padding:17px 19px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);text-decoration:none;box-shadow:0 2px 8px #1a222e09;transition:border-color .14s ease,box-shadow .14s ease}.overviewDashboard .overviewStatCard:hover,.overviewDashboard .overviewPeopleCard:hover{border-color:color-mix(in srgb,var(--overview-tone) 55%,var(--line));box-shadow:0 4px 13px #1a222e12}.overviewDashboard .overviewStatCard.yellow,.overviewDashboard .overviewPeopleCard.pink,.overviewDashboard .overviewStatCard.green,.overviewDashboard .overviewStatCard.blue,.overviewDashboard .overviewPeopleCard.purple{--overview-tone: var(--primary)}.overviewDashboard .overviewStatIcon{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;padding:10px;border-radius:12px;background:color-mix(in srgb,var(--overview-tone) 12%,var(--surface));color:var(--overview-tone)}.overviewDashboard .overviewStatIcon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.overviewDashboard .overviewStatText,.overviewDashboard .overviewPeopleInfo{display:grid;min-width:0;gap:3px}.overviewDashboard .overviewStatLabel{color:var(--muted);font-size:.83rem;font-weight:550}.overviewDashboard .overviewStatValue{color:var(--text);font-size:clamp(1.25rem,2vw,1.65rem);font-weight:700;line-height:1.2}.overviewDashboard .overviewChevron{margin-left:auto;color:var(--overview-tone);font-size:1.65rem;line-height:1}.overviewDashboard .overviewPeopleCard{min-height:112px;justify-content:space-between}.overviewDashboard .overviewPeopleInfo{width:100%;grid-template-columns:1fr auto;align-items:center}.overviewDashboard .overviewPeopleInfo>.overviewStatLabel,.overviewDashboard .overviewPeopleInfo>.overviewStatValue{grid-column:1}.overviewDashboard .overviewPeopleAvatars{display:flex;grid-column:2;grid-row:1 / span 2;align-items:center;padding-left:5px}.overviewDashboard .overviewAvatar,.overviewDashboard .overviewAvatarFallback{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;margin-left:-6px;overflow:hidden;border:2px solid var(--surface);border-radius:50%;background:color-mix(in srgb,var(--overview-tone) 17%,var(--surface));color:var(--overview-tone);font-size:.72rem;font-weight:700}.overviewDashboard .overviewAvatar img{width:100%;height:100%;object-fit:cover}.overviewDashboard .overviewAvatarFallback{font-size:1rem}.overviewDashboard .overviewLower{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(310px,.8fr);align-items:start;gap:20px}.overviewDashboard .overviewRight{display:grid;min-width:0;gap:16px}.overviewDashboard .overviewPanel{min-width:0;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.overviewDashboard .overviewPanelHeader,.overviewDashboard .overviewCalendarHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.overviewDashboard .overviewPanelHeader h2,.overviewDashboard .overviewCalendarHeader h2{margin:0;color:var(--text);font-size:1rem;font-weight:700}.overviewDashboard .overviewPanelHeader p{margin:4px 0 0;color:var(--muted);font-size:.8rem}.overviewDashboard .overviewClearDay{border:0;background:none;color:var(--muted);cursor:pointer;font:inherit;font-size:.78rem}.overviewDashboard .overviewTableWrap{max-width:100%;overflow-x:auto}.overviewDashboard .overviewTable{width:100%;border-collapse:collapse;color:var(--text);font-size:.82rem}.overviewDashboard .overviewTable th{padding:10px 9px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.72rem;font-weight:600;text-align:left;white-space:nowrap}.overviewDashboard .overviewTable td{padding:12px 9px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);vertical-align:middle}.overviewDashboard .overviewTable tr:last-child td{border-bottom:0}.overviewDashboard .overviewStatus{display:inline-block;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--status-warning) 14%,var(--surface));color:var(--status-warning);font-size:.72rem;text-transform:capitalize}.overviewDashboard .overviewStatus.approved{background:color-mix(in srgb,var(--status-success) 14%,var(--surface));color:var(--status-success)}.overviewDashboard .overviewStatus.completed{background:color-mix(in srgb,var(--status-info) 14%,var(--surface));color:var(--status-info)}.overviewDashboard .overviewStatus.cancelled,.overviewDashboard .overviewStatus.no-show{background:color-mix(in srgb,var(--status-danger) 14%,var(--surface));color:var(--status-danger)}.overviewDashboard .overviewCalendarHeader{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:10px;margin-bottom:18px}.overviewDashboard .overviewCalendarHeader h2{color:var(--accent);font-family:var(--font-display);font-size:18px;font-weight:700;text-align:center}.overviewDashboard .overviewCalendarHeader button{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--accent);cursor:pointer;transition:background-color .18s ease,border-color .18s ease}.overviewDashboard .overviewCalendarHeader button:hover{border-color:var(--accent);background:var(--secondary)}.overviewDashboard .overviewCalendarHeader button:focus-visible,.overviewDashboard .overviewCalendarDay:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.overviewDashboard .overviewCalendarHeader button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.overviewDashboard .overviewCalendarGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px 4px;text-align:center}.overviewDashboard .overviewWeekday{padding:4px 0 8px;color:var(--muted);font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.overviewDashboard .overviewCalendarBlank{aspect-ratio:1}.overviewDashboard .overviewCalendarDay{position:relative;display:grid;width:38px;height:38px;min-width:0;place-items:center;justify-self:center;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--text);cursor:pointer;font:500 13px/1 var(--font-body);transition:background-color .18s ease,border-color .18s ease,color .18s ease}.overviewDashboard .overviewCalendarDay:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--secondary)}.overviewDashboard .overviewCalendarDay.selected,.overviewDashboard .overviewCalendarDay.today{border-color:var(--accent);background:var(--accent);color:var(--accent-text);font-weight:700}.overviewDashboard .overviewCalendarDay.selected:hover,.overviewDashboard .overviewCalendarDay.today:hover{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.overviewDashboard .overviewCalendarDay.hasAppointments:after{position:absolute;bottom:3px;left:50%;width:4px;height:4px;border-radius:50%;background:var(--accent);content:"";transform:translate(-50%)}.overviewDashboard .overviewCalendarDay.selected.hasAppointments:after{display:none}.overviewDashboard .overviewCalendarDay.pastAppointment{font-weight:400}@media(max-width:480px){.overviewDashboard .overviewPanel.overviewCalendar{padding:14px 12px}.overviewDashboard .overviewCalendarGrid{gap:5px 2px}.overviewDashboard .overviewCalendarDay{width:34px;height:34px}}.overviewDashboard .overviewActivityList{display:grid;gap:0;margin:0;padding:0;list-style:none}.overviewDashboard .overviewActivityList li{display:grid;grid-template-columns:minmax(0,1fr);gap:11px;padding:11px 0;border-bottom:1px solid var(--line)}.overviewDashboard .overviewActivityList li:last-child{border-bottom:0}.overviewDashboard .overviewActivityList li>div{display:grid;gap:3px}.overviewDashboard .overviewActivityList strong{font-size:.86rem;font-weight:650}.overviewDashboard .overviewActivityList span,.overviewDashboard .overviewActivityList time,.overviewDashboard .overviewEmpty{color:var(--muted);font-size:.78rem}.overviewDashboard .overviewEmpty{margin:0;padding:16px 0}@media(max-width:1050px){.overviewDashboard .overviewLower{grid-template-columns:minmax(0,1fr)}.overviewDashboard .overviewRight{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media(max-width:700px){.overviewDashboard .overviewStatsPrimary,.overviewDashboard .overviewStatsPeople,.overviewDashboard .overviewRight{grid-template-columns:minmax(0,1fr)}.overviewDashboard .overviewWelcome{align-items:flex-start}}.dentistAppointmentsPage{display:grid;gap:22px;min-width:0}.dentistAppointmentsHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:4px 2px 0}.dentistAppointmentsEyebrow{display:block;margin-bottom:7px;color:var(--muted);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.dentistAppointmentsHeader h1{margin:0;color:var(--text);font-size:clamp(1.7rem,3vw,2.15rem);font-weight:700;letter-spacing:-.035em;line-height:1.15}.dentistAppointmentsHeader p{margin:8px 0 0;color:var(--muted);font-size:.98rem;line-height:1.5}.dentistAppointmentsPanel{overflow:hidden;padding:0;border-color:var(--line);border-radius:16px;background:var(--surface);box-shadow:none}.dentistAppointmentsPanel>.panelHead{align-items:center;margin:0;padding:24px 26px 18px}.dentistAppointmentsPanel .panelTitle{font-size:1.08rem;font-weight:680}.dentistAppointmentsPanel .panelSub{margin-top:5px;font-size:.88rem}.dentistAppointmentsPanel .countLabel{padding:6px 11px;border-color:var(--line);background:color-mix(in srgb,var(--surface) 88%,var(--accent));color:var(--text);font-size:.78rem;font-weight:650}.dentistAppointmentTabs{gap:8px;margin:0 26px;border-bottom-color:var(--line)}.dentistAppointmentTabs .recordTab{padding:11px 14px 12px;border-bottom-width:2px;color:var(--muted);font-size:.9rem;font-weight:600}.dentistAppointmentTabs .recordTab:hover{color:var(--text)}.dentistAppointmentTabs .recordTab.active{border-bottom-color:var(--accent);color:var(--text);font-weight:700}.dentistAppointmentsPanel .patientTableWrap{margin-top:18px;border-top:1px solid var(--line)}.dentistAppointmentsPanel .patientTable{min-width:1080px;table-layout:fixed}.dentistAppointmentsPanel .patientTable th{padding:13px 16px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.7rem;font-weight:700;letter-spacing:.065em;white-space:nowrap}.dentistAppointmentsPanel .patientTable td{padding:17px 16px;border-bottom:1px solid var(--line);color:var(--text);font-size:.88rem;line-height:1.5;vertical-align:middle;white-space:normal;overflow-wrap:anywhere}.dentistAppointmentsPanel .patientTable tbody tr:last-child td{border-bottom:0}.dentistAppointmentsPanel .patientTable th:nth-child(1),.dentistAppointmentsPanel .patientTable td:nth-child(1){width:16%}.dentistAppointmentsPanel .patientTable th:nth-child(2),.dentistAppointmentsPanel .patientTable td:nth-child(2){width:15%}.dentistAppointmentsPanel .patientTable th:nth-child(3),.dentistAppointmentsPanel .patientTable td:nth-child(3){width:16%}.dentistAppointmentsPanel .patientTable th:nth-child(4),.dentistAppointmentsPanel .patientTable td:nth-child(4){width:15%}.dentistAppointmentsPanel .patientTable th:nth-child(5),.dentistAppointmentsPanel .patientTable td:nth-child(5){width:18%}.dentistAppointmentsPanel .patientTable th:nth-child(6),.dentistAppointmentsPanel .patientTable td:nth-child(6){width:11%}.dentistAppointmentsPanel .patientTable th:nth-child(7),.dentistAppointmentsPanel .patientTable td:nth-child(7){width:9%}.dentistAppointmentPatientLink{padding:0;border:0;background:transparent;color:var(--text);font:inherit;font-weight:650;text-align:left;cursor:pointer}.dentistAppointmentPatientLink:focus-visible,.dentistAppointmentTabs .recordTab:focus-visible,.dentistCompleteButton:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.dentistAppointmentDate,.dentistAppointmentTime{display:block}.dentistAppointmentTime{margin-top:3px;color:var(--muted);font-size:.81rem}.dentistAppointmentsPanel .dentistAppointmentStatus{padding:5px 10px;border-color:color-mix(in srgb,var(--accent) 44%,var(--line));background:color-mix(in srgb,var(--accent) 11%,var(--surface));color:var(--text);font-size:.75rem;font-weight:700}.dentistAppointmentsPanel .dentistAppointmentStatus.completed{border-color:#3a905d4d;background:#3a905d17;color:color-mix(in srgb,var(--text) 70%,#277746)}.dentistCompleteButton{min-height:36px;padding:7px 13px;border-radius:9px;font-size:.82rem;font-weight:700;white-space:nowrap}.dentistAppointmentsPanel>.emptyState{margin:0 26px 24px}@media(max-width:700px){.dentistAppointmentsPage{gap:17px}.dentistAppointmentsHeader{padding:0}.dentistAppointmentsPanel>.panelHead{align-items:flex-start;padding:19px 18px 15px}.dentistAppointmentTabs{gap:2px;margin:0 18px}.dentistAppointmentTabs .recordTab{padding-right:12px;padding-left:12px}.dentistAppointmentsPanel .patientTable{min-width:980px}.dentistAppointmentsPanel .patientTable th,.dentistAppointmentsPanel .patientTable td{padding-right:12px;padding-left:12px}}.dentistRecordsPage{display:grid;gap:22px;min-width:0}.adminTopbar.dentistRecordsTopbar{justify-content:flex-start;gap:14px}.dentistHeaderSearch{flex:1 1 400px;min-width:0;max-width:780px}.dentistHeaderSearch .input{width:100%;min-height:40px;padding-left:44px;padding-right:40px;border-color:var(--line);border-radius:9px;background:var(--surface);color:var(--text)}.dentistHeaderSearch .topSearchIcon{z-index:1;left:14px;width:18px;height:18px;pointer-events:none}.dentistPatientTypeFilter{flex:0 0 136px;min-width:0}.dentistPatientTypeFilter .input{width:100%;min-height:40px;padding:0 30px 0 12px;border-color:var(--line);border-radius:9px;background:var(--surface);color:var(--text)}.dentistRecordsHeader{padding:4px 2px 0}.dentistRecordsEyebrow{display:block;margin-bottom:7px;color:var(--muted);font-size:.76rem;font-weight:700;letter-spacing:.08em}.dentistRecordsHeader h1{margin:0;color:var(--text);font-size:clamp(1.7rem,3vw,2.15rem);font-weight:700;letter-spacing:-.035em;line-height:1.15}.dentistRecordsHeader p{margin:8px 0 0;color:var(--muted);font-size:.98rem;line-height:1.5}.dentistRecordsPanel{width:100%;overflow:hidden;padding:0;border-color:var(--line);border-radius:16px;background:var(--surface);box-shadow:none}.dentistRecordsToolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px 18px}.dentistCompletedPage .dentistRecordsToolbar{display:block}.dentistCompletedPage .dentistRecordsToolbar>div{width:100%}.dentistRecordsToolbar .panelTitle{font-size:1.08rem;font-weight:680}.dentistRecordsToolbar .panelSub{margin-top:5px;font-size:.88rem}.dentistRecordsTableWrap{border-top:1px solid var(--line)}.dentistRecordsPanel .patientTable{min-width:900px;table-layout:fixed}.dentistRecordsPanel .patientTable th{padding:13px 16px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.7rem;font-weight:700;letter-spacing:.065em;white-space:nowrap}.dentistRecordsPanel .patientTable td{padding:16px;border-bottom:1px solid var(--line);color:var(--text);font-size:.88rem;line-height:1.5;vertical-align:middle;white-space:normal;overflow-wrap:anywhere}.dentistRecordsPanel .patientTable tbody tr:last-child td{border-bottom:0}.dentistRecordsPanel .dentistPatientTable th:nth-child(1),.dentistRecordsPanel .dentistPatientTable td:nth-child(1){width:16%}.dentistRecordsPanel .dentistPatientTable th:nth-child(2),.dentistRecordsPanel .dentistPatientTable td:nth-child(2){width:23%}.dentistRecordsPanel .dentistPatientTable th:nth-child(3),.dentistRecordsPanel .dentistPatientTable td:nth-child(3){width:23%}.dentistRecordsPanel .dentistPatientTable th:nth-child(4),.dentistRecordsPanel .dentistPatientTable td:nth-child(4){width:21%}.dentistRecordsPanel .dentistPatientTable th:nth-child(5),.dentistRecordsPanel .dentistPatientTable td:nth-child(5){width:17%}.dentistRecordsPanel .dentistCompletedTable th:nth-child(1),.dentistRecordsPanel .dentistCompletedTable td:nth-child(1){width:7%}.dentistRecordsPanel .dentistCompletedTable th:nth-child(2),.dentistRecordsPanel .dentistCompletedTable td:nth-child(2){width:33%}.dentistRecordsPanel .dentistCompletedTable th:nth-child(3),.dentistRecordsPanel .dentistCompletedTable td:nth-child(3){width:30%}.dentistRecordsPanel .dentistCompletedTable th:nth-child(4),.dentistRecordsPanel .dentistCompletedTable td:nth-child(4){width:30%}.dentistAppointmentRowClickable{cursor:pointer}.dentistAppointmentRowClickable:focus-visible{outline:2px solid var(--line-focus);outline-offset:-2px}.dentistRecordsPanel .dentistAppointmentRowClickable :is(button,a,input,select,textarea){cursor:pointer}.dentistPatientNameButton{display:inline-block;max-width:100%;padding:0;border:0;background:transparent;color:var(--text);font:inherit;font-weight:650;text-align:left;cursor:pointer}.dentistPatientNameButton:focus-visible,.dentistTreatmentAction:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.dentistTreatmentText{display:block;color:var(--text)}.dentistRecordDate,.dentistRecordTime{display:block}.dentistRecordTime{margin-top:3px;color:var(--muted);font-size:.81rem}.dentistTreatmentAction{min-height:36px;padding:7px 13px;border-radius:9px;font-size:.82rem;font-weight:700;white-space:nowrap}.dentistTreatmentCompleteButton{min-height:36px;padding:7px 16px;border:1px solid #d6aa24;border-radius:999px;background:#f2c94c;color:#302400;font:inherit;font-size:.82rem;font-weight:700;white-space:nowrap;cursor:pointer;transition:background-color .2s ease,transform .2s ease}.dentistTreatmentCompleteButton:hover:not(:disabled){background:#e8ba32;transform:translateY(-1px)}.dentistTreatmentCompleteButton:focus-visible{outline:2px solid #9a7410;outline-offset:2px}.dentistTreatmentCompleteButton:disabled,.dentistTreatmentMenuTrigger:disabled{opacity:.55;cursor:not-allowed}.dentistTreatmentMenuTrigger svg{width:18px;height:18px;fill:currentColor}.dentistTreatmentMenuDropdown{position:absolute;z-index:30;bottom:calc(100% + 4px);right:0;min-width:150px;padding:5px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:var(--shadow)}.dentistTreatmentMenuDropdown button{display:flex;align-items:center;gap:9px;width:100%;min-height:36px;padding:7px 9px;border:0;border-radius:6px;background:transparent;color:var(--text);font:inherit;font-size:.84rem;font-weight:600;text-align:left;cursor:pointer}.dentistTreatmentMenuDropdown button:hover:not(:disabled){background:var(--card2)}.dentistTreatmentMenuDropdown button:disabled{opacity:.62;cursor:not-allowed}.dentistCompletedEmptyState{display:grid;width:auto;min-height:92px;place-items:center;margin:0 16px 16px;padding:16px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--accent) 3%,var(--surface));text-align:center}.dentistCompletedEmptyState .emptyEditorState{padding:0;border:0;background:transparent}.dentistCompletedEmptyState .emptyEditorState strong{color:var(--text)}.dentistCompletedEmptyState .emptyEditorState p{margin-bottom:0}@media(max-width:700px){.dentistRecordsPage{gap:17px}.dentistRecordsHeader{padding:0}.dentistRecordsToolbar{align-items:stretch;flex-direction:column;gap:14px;padding:19px 18px 15px}.dentistRecordsPanel .patientTable{min-width:860px}.dentistRecordsPanel .patientTable th,.dentistRecordsPanel .patientTable td{padding-right:12px;padding-left:12px}}@media(max-width:860px){.adminTopbar.dentistRecordsTopbar{position:relative;top:auto;right:auto;left:auto;justify-content:flex-start;flex-wrap:wrap;width:auto;height:auto;margin:0;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--bg);z-index:1100}.dentistHeaderSearch{flex:1 1 100%;min-width:0}.adminTopbar.dentistRecordsTopbar .accountTrigger{width:auto;height:40px;justify-content:flex-start;gap:8px}.adminTopbar.dentistRecordsTopbar .accountTrigger .accountMeta,.adminTopbar.dentistRecordsTopbar .accountTrigger .accountChevron{display:inline-flex}.adminTopbar.dentistRecordsTopbar .accountTrigger .accountAvatar{width:34px;height:34px}}.adminTopbar.archiveTopbar{justify-content:flex-start;gap:12px}.archiveTopbarSearch{position:relative;display:flex;align-items:center;flex:0 1 400px;width:100%;min-width:0;max-width:400px}.archiveTopbarSearch .topSearchIcon{position:absolute;left:12px;color:var(--muted);pointer-events:none}.archiveTopbarSearch .input,.archiveTopbarFilter .input{width:100%;height:38px;min-height:38px;padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:var(--field-bg);color:var(--text);font:400 13px/1.4 var(--font-body);box-shadow:none}.archiveTopbarSearch .input{padding-left:38px}.archiveTopbarFilter{display:flex;align-items:center;flex:0 0 190px;min-width:0;gap:8px;color:var(--muted);font-size:13px}.adminTopbar.archiveTopbar .staffNotification{margin-left:auto}.archiveTopbarFilter .input{flex:1 1 auto;min-width:0;cursor:pointer}.archiveTopbarSearch .input:focus-visible,.archiveTopbarFilter .input:focus-visible{border-color:var(--accent);outline:2px solid var(--line-focus);outline-offset:1px}@media(max-width:860px){.adminTopbar.archiveTopbar{position:relative;top:auto;right:auto;left:auto;flex-wrap:wrap;justify-content:flex-start;width:auto;height:auto;margin:0;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--bg);z-index:1100}}@media(max-width:560px){.archiveTopbarSearch{flex:1 1 100%;min-width:0}.archiveTopbarFilter{flex:1 1 160px}}.archiveList,.servicesAdminList,.historyList,.bookingPage .detailedList,.patientPortalList,.auditTable{gap:0}.archiveList>.archiveRow,.servicesAdminList>.servicesAdminRow,.servicesAdminClosureList>li,.historyList>.historyRow,.bookingPage .detailedList>.bookingShowcase,.patientPortalList>.patientPortalListItem,.auditTable>.auditTableRow{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.archiveList>.archiveRow:last-child,.servicesAdminList>.servicesAdminRow:last-child,.servicesAdminClosureList>li:last-child,.historyList>.historyRow:last-child,.bookingPage .detailedList>.bookingShowcase:last-child,.patientPortalList>.patientPortalListItem:last-child,.auditTable>.auditTableRow:last-child{border-bottom:0}.servicesAdminList>.servicesAdminRow{padding-right:0;padding-left:0}.historyList>.historyRow,.patientPortalList>.patientPortalListItem{padding-right:0;padding-left:0}.bookingPage .detailedList>.bookingShowcase{padding-right:0;padding-left:0}.bookingPage .detailedList>.bookingShowcase:hover{border-bottom-color:var(--line)}.auditTable>.auditTableRow{padding-right:14px;padding-left:14px}html[data-dashboard=true] .adminSurface :is(.patientTable,.bookingsTable,.paymentsTable,.ovTable) tbody tr:not(:last-child)>td{border-bottom:1px solid var(--line)}html[data-dashboard=true] .adminSurface :is(.patientTable,.bookingsTable,.paymentsTable,.ovTable) tbody tr:last-child>td{border-bottom:0}.bookingPage{width:min(100%,1080px);max-width:1080px;padding:40px 32px 64px}.bookingPage .bookingHero{max-width:1040px;margin:0 auto 18px;padding:0;border:0;border-radius:0}.bookingPage .bookingHeroGrid{grid-template-columns:minmax(0,1fr);gap:0}.bookingPage .bookingHero h1{margin:0 0 8px;font-size:clamp(26px,3vw,36px);font-weight:600}.bookingPage .bookingHero p{font-size:14px;line-height:1.5}.bookingPage>.grid{display:block;max-width:1040px;margin:0 auto!important}.bookingPage>.grid.dentalRecordLayout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:18px;max-width:1200px;align-items:start}.bookingPage .card.bookingFormCard{padding:clamp(20px,2.8vw,28px);border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--bg) 94%,var(--text))}@media(max-width:900px){.bookingPage>.grid.dentalRecordLayout{grid-template-columns:minmax(0,1fr)}}.bookingPage .bookingFormCard>.cardHeader{align-items:center;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}.bookingPage .bookingFormCard .cardHeader .title{font-size:18px;font-weight:600}.bookingPage .bookingFormCard .cardHeader .sub{max-width:640px;font-size:13px}.bookingPage .bookingProfileForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bookingPage .bookingProfileForm .bookingAgeInput{width:110px}.bookingPage .bookingProfileForm input:nth-of-type(6),.bookingPage .bookingProfileForm>label,.bookingPage .bookingProfileForm>button{grid-column:1 / -1}.bookingPage .bookingProfileFacts{grid-column:1 / -1;display:grid;gap:12px;margin:6px 0 0}.bookingPage .bookingProfileFacts dt{color:var(--muted);font-size:12px}.bookingPage .bookingProfileFacts dd{margin:3px 0 0;color:var(--text);overflow-wrap:anywhere}.bookingPage .bookingProfileForm>.bookingFieldHint{grid-column:1 / -1;margin:0 0 4px}.bookingPage .bookingProfileBack{justify-self:start;margin-bottom:8px}.bookingPage .bookingPatientSummary{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:10px 12px;margin:0!important;padding:12px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--bg) 97%,var(--text))}.bookingPage .bookingPatientSummary>div{min-width:0}.bookingPage .bookingPatientSummary .detailSubtitle{margin:4px 0 0;font-size:12.5px;line-height:1.45;overflow-wrap:anywhere}.bookingPage .bookingPatientSummary .bookingSecondaryBtn{min-height:36px;flex:0 0 auto;margin-left:auto;padding:8px 11px;border-radius:8px;font-size:12px}.bookingPage .bookingAppointmentForm{display:grid;gap:16px;margin-top:0!important}.bookingPage .bookingInfoGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:18px}.bookingPage .bookingInfoSection{display:grid;min-width:0;align-content:start;gap:14px}.bookingPage .bookingServiceSelector,.bookingPage .bookingDatePanel{min-width:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--bg) 97%,var(--text))}.bookingPage .bookingFieldHeader,.bookingPage .bookingDatePanelHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.bookingPage .bookingFieldHint{font-size:12px;line-height:1.45}.bookingPage .bookingServiceCount{flex:0 0 auto;color:var(--muted);font-size:12px;font-weight:500}.bookingPage .bookingServiceOptionGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(44px,auto);gap:8px;margin-top:12px}.bookingPage .bookingServiceOption{display:flex;min-width:0;min-height:44px;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.bookingPage .bookingServiceOption span{min-width:0;line-height:1.35;overflow-wrap:anywhere}.bookingPage .bookingServiceOption strong{color:var(--muted);font-size:10px;font-weight:500}.bookingPage .bookingServiceOption.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.bookingPage .bookingServiceOption.active strong{color:var(--accent)}.bookingPage .bookingServiceOption:focus-visible,.bookingPage .bookingDateNavButton:focus-visible,.bookingPage .bookingDateChip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bookingPage .bookingDatePanelHeader{align-items:center;margin-bottom:12px}.bookingPage .bookingDatePanel .detailTitle{display:block;margin-top:4px;font-size:16px}.bookingPage .bookingDatePanel .detailSubtitle{margin:3px 0 0;color:var(--muted);font-size:11.5px}.bookingPage .bookingDateHighlight{color:var(--muted);font-size:11px;text-align:right}.bookingPage .bookingDateHighlight strong{display:block;margin-top:3px;color:var(--text);font-size:12px;font-weight:500}.bookingPage .bookingDateNavigator{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:6px}.bookingPage .bookingDateScroller{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(36px,1fr);min-width:0;gap:5px;overflow-x:auto;padding:2px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.bookingPage .bookingDateChip{display:grid;min-width:0;min-height:58px;justify-items:center;align-content:center;gap:2px;padding:5px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--text);font:inherit;cursor:pointer}.bookingPage .bookingDateChip strong{font-size:15px;font-weight:600}.bookingPage .bookingDateChipDay,.bookingPage .bookingDateChipMonth{color:var(--muted);font-size:10px}.bookingPage .bookingDateChip.active{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.bookingPage .bookingDateChip.active :is(.bookingDateChipDay,.bookingDateChipMonth){color:inherit}.bookingPage .bookingDateNavButton{min-height:36px;padding:6px 4px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--text);font:inherit;font-size:11px;cursor:pointer}.bookingPage .bookingDateNavButton:disabled{opacity:.5;cursor:default}.bookingPage .bookingFlowGrid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px}.bookingPage .bookingFlowGrid .bookingFieldCard{align-self:start}.bookingPage .bookingAppointmentForm .input{min-height:40px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--bg) 97%,var(--text));font-size:13px}.bookingPage .bookingAppointmentForm select.bookingInputSpecial{height:40px}.bookingPage .bookingAppointmentForm textarea.input{width:100%;min-height:84px;resize:vertical}.bookingPage .bookingMiniSummary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--bg) 97%,var(--text))}.bookingPage .bookingMiniSummaryCard{display:grid;gap:4px}.bookingPage .bookingMiniSummaryCard strong{color:var(--text);font-size:13px;font-weight:500}.bookingPage .bookingConsentCard{display:flex;align-items:flex-start;gap:9px;color:var(--muted);font-size:12px;line-height:1.5}.bookingPage .bookingConsentCard input{flex:0 0 auto;margin-top:2px;accent-color:var(--accent)}.bookingPage .bookingAppointmentForm>.error,.bookingPage .bookingInfoSection>.error{margin:0;padding:10px 12px;border-color:color-mix(in srgb,var(--danger) 55%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--danger) 6%,transparent);font-size:12.5px}.bookingPage .bookingInfoSection>.emptyEditorState{padding:14px;border-color:var(--line);border-radius:8px;font-size:13px}.bookingPage .bookingInfoSection>.detailNote{padding:11px 12px;border:1px solid var(--line);border-radius:8px}.bookingPage .bookingInfoSection>.detailNote p{font-size:12.5px;line-height:1.5}.bookingPage .bookingPrimaryBtn{min-height:42px;justify-self:start;padding:10px 18px;border-radius:8px;border:1px solid var(--button-primary-background);background:var(--button-primary-background);color:var(--button-primary-color);font-size:13px}@media(max-width:860px){.bookingPage .bookingInfoGrid{grid-template-columns:minmax(0,1fr)}.bookingPage .bookingInfoSection{gap:12px}}@media(max-width:520px){.bookingPage{padding:30px 14px 52px}.bookingPage .bookingPatientSummary{align-items:flex-start;flex-direction:column}.bookingPage .bookingPatientSummary .bookingSecondaryBtn{margin-left:0}.bookingPage .bookingProfileForm,.bookingPage .bookingFlowGrid,.bookingPage .bookingServiceOptionGrid{grid-template-columns:minmax(0,1fr)}.bookingPage .bookingDatePanel{padding:11px}.bookingPage .bookingDateNavigator{grid-template-columns:34px minmax(0,1fr) 34px;gap:4px}.bookingPage .bookingDateScroller{grid-auto-columns:36px;gap:4px}.bookingPage .bookingDateHighlight{max-width:105px}.bookingPage .bookingMiniSummary{gap:6px}.bookingPage .bookingMiniSummaryCard strong{font-size:11px}.bookingPage .bookingFormCard>.cardHeader{align-items:flex-start}.bookingPage .bookingMiniSummary{grid-template-columns:minmax(0,1fr)}}.bookingPage .bookingScreenHeader{display:grid;gap:5px}.bookingPage .bookingScreenHeader h4{margin:0;color:var(--text);font-size:16px;font-weight:600}.bookingPage .bookingScreenHeader p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.bookingPage .bookingReviewSection{min-width:0;padding:14px 0;border-top:1px solid var(--line)}.bookingPage .bookingReviewSection>h4{margin:0;color:var(--text);font-size:13px;font-weight:600}.bookingPage .bookingReviewOverlay{position:fixed;inset:0;z-index:1300;display:grid;place-items:center;padding:24px;background:#12100b94}.bookingPage .bookingReviewModal{display:flex;width:min(100%,640px);max-height:min(760px,calc(100dvh - 48px));flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--bg);box-shadow:0 24px 64px #00000047}.bookingPage .bookingReviewModalHeader{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px 16px;border-bottom:1px solid var(--line)}.bookingPage .bookingReviewModalHeader h3{margin:0;color:var(--text);font-family:var(--font-nav);font-size:18px;font-weight:600}.bookingPage .bookingReviewClose{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;padding:0;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:23px;line-height:1;cursor:pointer}.bookingPage .bookingReviewClose:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.bookingPage .bookingReviewClose:disabled{cursor:default;opacity:.55}.bookingPage .bookingReviewModalContent{min-height:0;overflow-y:auto;padding:2px 24px 8px}.bookingPage .bookingReviewModalSection{padding:14px 0;border-bottom:1px solid var(--line)}.bookingPage .bookingReviewModalSection:last-child{border-bottom:0}.bookingPage .bookingReviewModalSection h4{margin:0 0 7px;color:var(--text);font-family:var(--font-nav);font-size:13px;font-weight:600}.bookingPage .bookingReviewModalRows{display:grid;margin:0}.bookingPage .bookingReviewModalRows>div,.bookingPage .bookingReviewModalServices li{display:grid;grid-template-columns:minmax(120px,.65fr) minmax(0,1.35fr);gap:16px;padding:7px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent)}.bookingPage .bookingReviewModalRows>div:last-child,.bookingPage .bookingReviewModalServices li:last-child{border-bottom:0}.bookingPage .bookingReviewModalRows dt{color:var(--muted);font-size:12px}.bookingPage .bookingReviewModalRows dd{margin:0;color:var(--text);font-size:13px;line-height:1.45;overflow-wrap:anywhere}.bookingPage .bookingReviewModalServices{display:grid;margin:0;padding:0;list-style:none}.bookingPage .bookingReviewModalServices li{color:var(--text);font-size:13px}.bookingPage .bookingReviewModalServices strong{color:var(--text);font-size:13px;font-weight:500;text-align:right}.bookingPage .bookingReviewModalWarning{margin:10px 0 0;color:var(--danger);font-size:12px;line-height:1.5}.bookingPage .bookingReviewModal>.error{flex:0 0 auto;margin:0 24px 12px}.bookingPage .bookingReviewModalActions{display:flex;flex:0 0 auto;justify-content:flex-end;gap:10px;padding:14px 24px 20px;border-top:1px solid var(--line)}.bookingPage .bookingReviewModalActions .bookingPrimaryBtn{justify-self:auto}.bookingPage .bookingReviewDetails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.bookingPage .bookingReviewDetails>div{min-width:0;padding:8px 14px 8px 0;border-bottom:1px solid var(--line)}.bookingPage .bookingReviewDetails dt{margin-bottom:5px;color:var(--muted);font-size:11px}.bookingPage .bookingReviewDetails dd{margin:0;color:var(--text);font-size:13px;line-height:1.5;overflow-wrap:anywhere}.bookingPage .bookingReviewServiceList{display:grid;gap:0;margin:0;padding:0;list-style:none}.bookingPage .bookingReviewServiceList li{display:flex;min-width:0;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);color:var(--text);font-size:13px}.bookingPage .bookingReviewServiceList li:first-child{border-top:1px solid var(--line)}.bookingPage .bookingReviewServiceList strong{color:var(--muted);font-size:12px;font-weight:500;text-align:right}.bookingPage .bookingReviewSection>p{margin:0;color:var(--text);font-size:13px;line-height:1.5;overflow-wrap:anywhere}.bookingPage .bookingReviewActions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.bookingPage .bookingReviewActions .bookingPrimaryBtn{justify-self:auto}.bookingPage .bookingConfirmationScreen{display:grid;max-width:760px;gap:14px}.bookingPage .bookingConfirmationScreen h3{margin:0;color:var(--text);font-size:clamp(20px,2.5vw,25px);font-weight:600}.bookingPage .bookingConfirmationMessage{margin:0 0 4px;color:var(--muted);font-size:13px;line-height:1.55}.bookingPage .bookingConfirmationDetails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.bookingPage .bookingConfirmationDetails .bookingReviewSection{align-self:start}.bookingPage .appointmentStatusTabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.bookingPage .appointmentStatusTab{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;padding:8px 14px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .2s ease,color .2s ease}.bookingPage .appointmentStatusTab:hover,.bookingPage .appointmentStatusTab.active{background:rgba(var(--accent-rgb),.14);color:var(--text)}.bookingPage .appointmentStatusTab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bookingPage .appointmentStatusCount{display:inline-grid;min-width:22px;height:22px;place-items:center;padding:0 6px;border-radius:999px;background:rgba(var(--accent-rgb),.1);font-size:11px}.bookingPage .appointmentStatusPanel{border:0;background:transparent;box-shadow:none}.bookingPage .appointmentStatusPanel .detailedList>.bookingShowcase{border:0;border-radius:0}.bookingPage .appointmentChangeActions{display:flex;justify-content:center;margin:20px 0}.bookingPage .appointmentChangeButton{min-height:46px;padding:11px 26px;border:1px solid #d6aa24;border-radius:999px;background:#f2c94c;color:#302400;font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:background-color .2s ease,transform .2s ease}.bookingPage .appointmentChangeButton:hover{background:#e8ba32;transform:translateY(-1px)}.bookingPage .appointmentChangeButton:focus-visible{outline:2px solid #9a7410;outline-offset:3px}.bookingPage .appointmentChangeForm{margin-bottom:20px}.bookingPage .appointmentChangeSelector{display:grid;max-width:560px;gap:14px}.bookingPage .appointmentChangeMode{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:560px){.bookingPage .bookingReviewDetails{grid-template-columns:minmax(0,1fr)}.bookingPage .bookingReviewOverlay{padding:12px}.bookingPage .bookingReviewModal{max-height:calc(100dvh - 24px)}.bookingPage .bookingReviewModalHeader{padding:16px 16px 12px}.bookingPage .bookingReviewModalContent{padding-right:16px;padding-left:16px}.bookingPage .bookingReviewModalRows>div,.bookingPage .bookingReviewModalServices li{grid-template-columns:minmax(100px,.65fr) minmax(0,1.35fr);gap:10px}.bookingPage .bookingReviewModal>.error{margin-right:16px;margin-left:16px}.bookingPage .bookingReviewModalActions{padding:12px 16px 16px}.bookingPage .bookingConfirmationDetails{grid-template-columns:minmax(0,1fr)}.bookingPage .bookingReviewActions{align-items:stretch;flex-direction:column-reverse}.bookingPage .bookingReviewActions button{width:100%}}.patientDashboardHeader{position:relative;z-index:20;display:flex;min-height:72px;align-items:center;justify-content:flex-end;gap:16px;padding:0 clamp(16px,2.5vw,32px);border-bottom:1px solid var(--line);background:var(--bg)}.patientHeaderAccount{display:flex;min-width:0;align-items:center;gap:12px}.patientHeaderEmail{max-width:min(320px,30vw);overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.patientDashboardMain{width:100%;max-width:none;min-width:0;height:100vh;height:100dvh;margin:0;padding:0;overflow:hidden}.patientDashboardMain .patientDashboardLayout{display:grid;width:100%;max-width:none;min-width:0;height:100%;min-height:0;margin:0;padding:0;grid-template-columns:250px minmax(0,1fr);gap:0;align-items:stretch}.patientDashboardMain .patientSidebar{position:fixed;inset:0 auto 0 0;display:flex;width:250px;min-height:0;height:100vh;height:100dvh;flex-direction:column;align-self:start;gap:16px;padding:28px 18px;border:0;border-right:1px solid var(--line);border-radius:0;background:color-mix(in srgb,var(--bg) 96%,var(--text));overflow-y:auto}.patientDashboardMain .patientSidebarBrand{display:flex;flex:0 0 auto;align-items:center;gap:6px;padding:0 4px}.patientDashboardMain .patientSidebarBrand strong,.patientDashboardMain .patientSidebarBrand span{display:block}.patientDashboardMain .patientSidebarBrand strong{font-family:var(--font-nav);font-size:14.5px;font-weight:700;letter-spacing:-.01em;color:var(--text)}.patientDashboardMain .patientSidebarBrand span{margin-top:1px;color:var(--muted);font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase}.patientDashboardMain .patientSidebarNav{display:flex;flex:1;flex-direction:column;align-content:start;gap:4px}.patientDashboardMain .patientSidebarActions{display:flex;flex:0 0 auto;flex-direction:column;gap:4px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}.patientDashboardMain .patientSidebarAction{width:100%;gap:12px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-family:var(--font-nav);font-size:14px;font-weight:500;text-align:left}.patientDashboardMain .patientSidebarAction .accountItemIcon,.patientDashboardMain .patientSidebarAction>svg{width:18px;height:18px;flex:0 0 18px}.patientDashboardMain .patientSidebarAction.patientSidebarLogout{color:var(--danger)}.patientDashboardMain .patientSidebarAction:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.patientDashboardMain .patientSidebarLink{display:flex;min-width:0;min-height:42px;align-items:center;padding:9px 12px;border:1px solid transparent;border-left:3px solid transparent;border-radius:8px;color:var(--muted);font-family:var(--font-nav);font-size:14px;font-weight:500;line-height:1.35;overflow-wrap:anywhere;text-decoration:none}.patientDashboardMain .patientSidebarLink:hover,.patientDashboardMain .patientSidebarLink:focus-visible{color:var(--text)}.patientDashboardMain .patientSidebarLink:focus-visible{outline:2px solid var(--line-focus);outline-offset:2px}.patientDashboardMain .patientSidebarLink.active{border-color:var(--line);border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--text);font-weight:600}.patientDashboardContent{display:grid;grid-column:2;min-width:0;min-height:0;height:100%;grid-template-rows:auto minmax(0,1fr);overflow-y:auto;overscroll-behavior-y:contain}.patientDashboardPage{min-width:0;width:100%;max-width:100%}.patientDashboardPage .bookingPage{width:100%!important;max-width:none!important;min-width:0;padding:24px clamp(16px,2.5vw,32px) 40px!important}.patientDashboardPage .bookingPage>.grid{width:100%;max-width:none;min-width:0}.patientDashboardPage .bookingPage .bookingFormCard,.patientDashboardPage .bookingPage .bookingAppointmentForm,.patientDashboardPage .bookingPage .bookingInfoGrid,.patientDashboardPage .bookingPage .bookingInfoSection,.patientDashboardPage .bookingPage .bookingFieldCard{min-width:0}.patientDashboardPage .bookingPage .bookingFormCard{width:100%;max-width:100%}.patientDashboardPage .bookingPage .bookingInfoGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.patientDashboardPage .bookingPage .bookingServiceSelector{container:booking-services / inline-size}.patientDashboardPage .bookingPage .bookingServiceOptionGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.patientDashboardPage .bookingPage .bookingFlowGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}@container booking-services (max-width: 459px){.patientDashboardPage .bookingPage .bookingServiceOptionGrid{grid-template-columns:minmax(0,1fr)}}.patientDashboardPage .bookingPage .bookingDateNavigator{min-width:0}.patientDashboardPage .bookingPage .bookingDateScroller{grid-auto-columns:minmax(36px,1fr)}@media(max-width:1100px){.patientDashboardPage .bookingPage .bookingInfoGrid{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.patientDashboardMain{height:auto;min-height:100vh;overflow:visible}.patientDashboardMain .patientDashboardLayout{height:auto;min-height:100vh;grid-template-columns:minmax(0,1fr)}.patientDashboardMain .patientSidebar{position:relative;inset:auto;width:auto;min-height:0;height:auto;gap:0;padding:10px 14px;border-right:0;border-bottom:1px solid var(--line)}.patientDashboardMain .patientSidebarBrand{display:flex;padding:0 8px 8px;border-bottom:0}.patientDashboardMain .patientSidebarBrand img{width:36px;height:36px}.patientDashboardMain .patientSidebarNav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;overflow:visible;padding:0}.patientDashboardMain .patientSidebarActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:8px;padding-top:8px}.patientDashboardMain .patientSidebarAction{justify-content:center;padding:8px 5px;font-size:12px;text-align:center}.patientDashboardMain .patientSidebarLink{min-height:38px;min-width:0;width:100%;justify-content:center;padding:8px 5px;font-size:12px;line-height:1.25;text-align:center;white-space:normal}.patientDashboardContent{grid-column:1;height:auto;min-height:0;overflow:visible}.patientDashboardPage .bookingPage{padding:18px 14px 32px!important}.patientDashboardPage .bookingPage .bookingInfoGrid,.patientDashboardPage .bookingPage .bookingFlowGrid{grid-template-columns:minmax(0,1fr)}.patientDashboardPage .bookingPage .bookingDateScroller{grid-auto-columns:36px}}@media(max-width:420px){.patientDashboardHeader{min-height:58px;padding:0 12px}.patientHeaderAccount{gap:8px}.patientHeaderAccount .accountName{max-width:112px}.patientHeaderEmail{max-width:min(190px,48vw)}.patientDashboardPage .bookingPage .bookingServiceOptionGrid{grid-template-columns:minmax(0,1fr)}}h1{font-weight:700!important;letter-spacing:normal!important}h2,h3,h4,h5,h6{font-weight:600!important;letter-spacing:normal!important}label,[class*=label i]{font-weight:500!important;letter-spacing:normal!important}p{font-weight:400!important}nav,nav a,.patientSidebarLink{font-weight:500!important}button,input[type=button],input[type=submit],.btn,[class*=btn],[class*=button]{font-family:var(--font-display);font-weight:600!important;letter-spacing:normal!important}.panelTitle,.blockTitle,.modalTitle,.confirmTitle,.detailTitle,.archiveTitle,.svxTitle,.ovHeadTitle,.cardHeader .title{font-weight:600!important;letter-spacing:normal!important}.adminSidebarInner{min-height:100%}.adminSidebarActions{display:flex;flex-direction:column;gap:4px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}.adminSidebarActions .accountAppearance,.adminSidebarActions .accountAppearanceTrigger{width:100%}.adminSidebarActions .accountAppearanceTrigger{background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-family:var(--font-nav);font-size:13px;font-weight:500;letter-spacing:-.005em;text-align:left}.adminSidebarActions .accountAppearanceTrigger .accountItemText strong{font-family:var(--font-nav);font-size:14px;font-weight:500;letter-spacing:-.005em;line-height:1.35}.adminSidebarActions .accountAppearanceTrigger .accountItemIcon{width:18px;height:18px;color:inherit}html[data-dashboard=true] .adminSidebarActions .adminSidebarLogout,html[data-dashboard=true] .adminSidebarActions .adminSidebarLogout:hover,html[data-dashboard=true] .adminSidebarActions .adminSidebarLogout:active{display:flex;align-items:center;width:100%;min-height:42px;margin:0;padding:9px 12px;gap:12px;border:1px solid transparent!important;border-left:3px solid transparent!important;border-radius:8px;background:transparent!important;box-shadow:none!important;color:var(--danger)!important;font-family:var(--font-nav);font-size:14px;font-weight:500!important;line-height:1.35;text-align:left;cursor:pointer;transform:none;filter:none}html[data-dashboard=true] .adminSidebarActions .adminSidebarLogout svg,html[data-dashboard=true] .adminSidebarActions .adminSidebarLogout span{color:var(--danger)!important}.staffAccountInfo{display:flex;align-items:center;gap:9px;min-width:0;max-width:220px;flex:0 1 auto;order:3}.staffAccountInfo .accountAvatar{width:38px;height:38px;flex:0 0 auto;font-size:15px}.staffAccountMeta{display:flex;flex-direction:column;gap:3px;min-width:0;line-height:1.2}.staffAccountName{max-width:210px;overflow:hidden;color:var(--text);font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.staffAccountRole{color:var(--muted);font-size:11px;font-weight:500}.staffNotification{order:2}.dentistHeaderSearch,.archiveTopbarSearch{order:0}.dentistPatientTypeFilter,.archiveTopbarFilter,.staffTopbarAccountGroup .dentistPatientTypeFilter{order:1}@media(max-width:860px){.staffAccountInfo{max-width:180px;gap:7px}.staffAccountInfo .accountAvatar{width:34px;height:34px;font-size:14px}.staffAccountName{max-width:min(34vw,130px);font-size:12px}.staffAccountRole{font-size:10px}}@media(max-width:420px){.staffAccountInfo{max-width:145px}.staffAccountName{max-width:88px}}.appearanceModalOverlay{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:16px;background:#0f12167a}.appearanceModal{width:min(100%,400px);padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text)}.appearanceModalHeader{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.appearanceModalHeader h2{margin:0;font-size:19px;font-weight:600}.appearanceModalClose{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--text);font-size:22px;line-height:1;cursor:pointer}.appearanceThemeOptions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.appearanceThemeOption{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 10px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.appearanceThemeOption[aria-checked=true]{border-color:var(--accent)}.appearanceThemeOption:focus-visible,.appearanceModalClose:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.appearanceThemePreview{display:flex;grid-column:1 / -1;align-items:flex-start;gap:5px;height:48px;padding:9px;border:1px solid rgba(100,116,139,.28);border-radius:6px}.appearanceThemePreview span{display:block;height:5px;border-radius:2px}.appearanceThemePreview span:first-child{width:42%}.appearanceThemePreview span:nth-child(2){width:24%}.appearanceThemePreview span:last-child{width:15%}.appearanceThemePreview.light{background:#faf9f6}.appearanceThemePreview.light span{background:#fff3d6}.appearanceThemePreview.light span:first-child{background:#ffc94d}.appearanceThemePreview.blue{background:#f4f8fd}.appearanceThemePreview.blue span{background:#dde6f3}.appearanceThemePreview.blue span:first-child{background:#6eacda}.appearanceThemePreview.dark{background:#0f1410}.appearanceThemePreview.dark span{background:#3a331e}.appearanceThemePreview.dark span:first-child{background:#ffc94d}.appearanceThemePreview.system{background:#f4f8fd}.appearanceThemePreview.system span:first-child{background:#6eacda}.appearanceThemePreview.system span:nth-child(2){background:#0f1410}.appearanceThemePreview.system span:last-child{background:#ffc94d}.appearanceThemeLabel{min-width:0;font-size:13px;font-weight:500}.appearanceThemeSelected{color:var(--accent);font-size:15px;font-weight:700}@media(max-width:360px){.appearanceModal{padding:16px}.appearanceThemeOptions{grid-template-columns:minmax(0,1fr)}}#root .logoutConfirmOverlay{z-index:1100;padding:16px;background:color-mix(in srgb,var(--background) 72%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#root .logoutConfirmOverlay .confirmModalCard.logoutConfirmModal{width:min(400px,100%);max-width:400px;max-height:calc(100dvh - 32px);padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--text);box-shadow:var(--shadow)}#root .logoutConfirmOverlay .logoutConfirmModal .modalHeader{align-items:flex-start;gap:12px;padding-bottom:18px;margin-bottom:18px;border-color:var(--line)}#root .logoutConfirmOverlay .logoutConfirmModal .modalTitleGroup{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:12px}#root .logoutConfirmOverlay .logoutConfirmModal .confirmModalIcon{grid-column:1;grid-row:1 / 3;display:grid;width:42px;height:42px;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent)}#root .logoutConfirmOverlay .logoutConfirmModal .confirmModalIcon svg{width:20px;height:20px}#root .logoutConfirmOverlay .logoutConfirmModal .modalToneLabel{grid-column:2;grid-row:1;color:var(--muted);font-size:12px;font-weight:500}#root .logoutConfirmOverlay .logoutConfirmModal .modalTitleGroup h3{grid-column:2;grid-row:2;margin:2px 0 0;color:var(--text);font-size:20px;line-height:1.2}#root .logoutConfirmOverlay .logoutConfirmModal .modalClose{width:34px;height:34px;border-color:var(--line);border-radius:9px;color:var(--muted);font-size:22px}#root .logoutConfirmOverlay .logoutConfirmModal .modalClose:hover{border-color:var(--line);background:color-mix(in srgb,var(--surface) 88%,var(--accent) 12%);color:var(--text)}#root .logoutConfirmOverlay .logoutConfirmModal .confirmModalBody p{margin:0;color:var(--muted);font-size:14px;line-height:1.55;text-align:center}#root .logoutConfirmOverlay .logoutConfirmModal .confirmModalActions{display:flex;flex-wrap:nowrap;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}#root .logoutConfirmOverlay .logoutConfirmModal .confirmModalActions .btn{flex:1 1 0;min-height:42px;border-radius:9px;font-size:14px}#root .logoutConfirmOverlay .logoutConfirmModal .confirmModalActions .btn.secondary{border-color:var(--line);background:color-mix(in srgb,var(--surface) 90%,var(--accent) 10%);color:var(--text)}#root .logoutConfirmOverlay .logoutConfirmModal .confirmModalActions .btn.danger{border-color:var(--button-primary-background);background:var(--button-primary-background);color:var(--button-primary-color)}#root .logoutConfirmOverlay .logoutConfirmModal .confirmModalActions .btn.danger:hover:not(:disabled){border-color:var(--button-primary-hover-background);background:var(--button-primary-hover-background);color:var(--button-primary-color)}@media(max-width:520px){#root .logoutConfirmOverlay{padding:12px}#root .logoutConfirmOverlay .confirmModalCard.logoutConfirmModal{max-height:calc(100dvh - 24px);padding:20px}}.topdentBackAction{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;width:fit-content;min-height:32px;padding:4px 0;border:0;border-radius:0;background:transparent;color:var(--text);font:inherit;font-weight:500;line-height:1.3;text-decoration:none;box-shadow:none;cursor:pointer;transition:color .16s ease}.topdentBackAction:hover:not(:disabled){border-color:transparent;background:transparent;color:var(--accent);text-decoration:none;box-shadow:none}.topdentBackAction:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.topdentBackAction .backArrowIcon{display:block;width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.8}.patientDetailsPage .backLink.paymentsBackLink.appBackAction.topdentBackAction{width:32px;min-height:32px;justify-content:center;padding:0;border:0;border-radius:0;background:transparent}.patientDetailsPage .backLink.paymentsBackLink.appBackAction.topdentBackAction .backArrowIcon{width:20px;height:20px;flex-basis:20px;stroke:currentColor;stroke-width:1.8}.paymentsDetailsPage .paymentsBackLink.appBackAction.topdentBackAction,.loginCard .backButton.appBackAction.topdentBackAction,.loginFooter a.appBackAction.topdentBackAction{min-height:32px;padding:4px 0;border:0;border-radius:0;background:transparent;color:var(--text);font:inherit;font-weight:500;text-align:left;box-shadow:none}.paymentsDetailsPage .paymentsBackLink.appBackAction.topdentBackAction:hover,.loginCard .backButton.appBackAction.topdentBackAction:hover,.loginFooter a.appBackAction.topdentBackAction:hover{border:0;background:transparent;color:var(--accent)}.bookingPage .bookingReviewModalActions .bookingBackAction{min-height:32px;padding:4px 0;border:0;border-radius:0;background:transparent;color:var(--text);font:inherit;font-weight:500;box-shadow:none}.bookingPage .bookingReviewModalActions .bookingBackAction:hover:not(:disabled){border:0;background:transparent;color:var(--accent);box-shadow:none}html[data-theme] .mascotTourBtn.topdentBackAction{min-height:32px;padding:0 4px;border:0;border-radius:0;background:transparent;color:var(--text)}html[data-theme] .mascotTourBtn.topdentBackAction:hover:not(:disabled){border:0;background:transparent;color:var(--accent);transform:none}html[data-theme] .mascotTourBtn.topdentBackAction .backArrowIcon{width:20px;height:20px;flex-basis:20px}.reportsPage{display:grid;gap:18px;padding-top:28px;padding-bottom:48px}.reportsHeader,.reportsPanelHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.reportsHeader{align-items:center;margin-bottom:2px}.reportsEyebrow{display:block;color:var(--accent);font-size:10px;font-weight:750;letter-spacing:.13em}.reportsHeader h1{margin:5px 0 4px;color:var(--text);font-size:clamp(26px,3vw,34px);line-height:1.15}.reportsHeader p{margin:0;color:var(--muted);font-size:13px}.reportsExportActions{display:flex;flex-wrap:wrap;gap:9px}.reportsExportButton{min-height:38px;padding:0 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.reportsExportButton:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.reportsExportButton:disabled{cursor:not-allowed;opacity:.5}.reportsExportPrimary{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.reportsExportPrimary:hover:not(:disabled){border-color:var(--primary-hover);background:var(--primary-hover);color:var(--accent-text)}.reportsCategoryTabs{display:flex;gap:5px;overflow-x:auto;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--surface);scrollbar-width:thin}.reportsCategoryTab{flex:1 0 auto;min-height:38px;padding:0 16px;border:0;border-radius:9px;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:650;cursor:pointer}.reportsCategoryTab:hover{color:var(--text)}.reportsCategoryTab.active{background:color-mix(in srgb,var(--accent) 17%,var(--surface));color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.reportsFilterPanel{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;padding:15px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.reportsPeriodSelect,.reportsDateField{display:grid;gap:6px;min-width:150px}.reportsPeriodSelect label,.reportsDateField span{color:var(--muted);font-size:10px;font-weight:700}.reportsPeriodSelect select,.reportsDateField input{min-height:38px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font:inherit;font-size:12px}.reportsPeriodSelect select:focus,.reportsDateField input:focus,.reportsSearch input:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:1px}.reportsPeriodSummary{display:grid;gap:3px;min-width:180px;margin-left:auto;padding:0 2px 3px 6px}.reportsPeriodSummary span{color:var(--muted);font-size:10px}.reportsPeriodSummary strong{color:var(--text);font-size:12px}.reportsSummaryGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:12px}.reportsSummaryCard{position:relative;display:grid;align-content:center;gap:8px;min-height:104px;padding:17px 18px 17px 21px;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.reportsCardAccent{position:absolute;inset:0 auto 0 0;width:3px;background:var(--accent)}.reportsCardLabel{color:var(--muted);font-size:11px;font-weight:600}.reportsSummaryCard strong{overflow:hidden;color:var(--text);font-size:24px;font-weight:750;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.reportsSummaryCard strong.reportsCardLongValue{font-size:16px}.reportsChartPanel,.reportsRecordsPanel{padding:19px;border-radius:13px}.reportsPanelHeader{align-items:center;margin-bottom:15px}.reportsPanelHeader h2{margin:4px 0 0;color:var(--text);font-size:17px}.reportsChartNote,.reportsChartFootnote{color:var(--muted);font-size:10px}.reportsBarChart{display:grid;gap:10px}.reportsBarRow{display:grid;grid-template-columns:minmax(110px,1fr) minmax(90px,2.5fr) 32px;align-items:center;gap:11px}.reportsBarLabel{overflow:hidden;color:var(--text);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.reportsBarTrack{height:9px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--line) 75%,var(--surface))}.reportsBarTrack span{display:block;height:100%;min-width:3px;border-radius:inherit;background:var(--accent)}.reportsBarRow strong{color:var(--text);font-size:11px;text-align:right}.reportsChartFootnote{margin:13px 0 0}.reportsRecordsHeader{margin-bottom:14px}.reportsSearch{position:relative;display:flex;align-items:center;width:min(100%,300px)}.reportsSearchIcon{position:absolute;left:11px;color:var(--muted);font-size:19px;line-height:1;pointer-events:none}.reportsSearch input{width:100%;min-height:37px;padding:0 11px 0 32px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font:inherit;font-size:11px}.reportsTableWrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:9px}.reportsTable{width:100%;min-width:760px;border-collapse:collapse;background:var(--surface)}.reportsTable th,.reportsTable td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.reportsTable th{background:color-mix(in srgb,var(--secondary) 58%,var(--surface));color:var(--muted);font-size:9px;font-weight:750;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap}.reportsTable td{color:var(--text);font-size:11px}.reportsTable tbody tr:last-child td{border-bottom:0}.reportsTable tbody tr:hover{background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.reportsSortButton{padding:0;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-align:left;text-transform:inherit;cursor:pointer}.reportsSortButton:hover,.reportsSortButton:focus-visible{color:var(--accent)}.reportsTableFooter{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;color:var(--muted);font-size:10px}.reportsPagination{display:flex;align-items:center;gap:10px}.reportsPageButton{min-height:30px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);font:inherit;font-size:10px;font-weight:650;cursor:pointer}.reportsPageButton:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.reportsPageButton:disabled{cursor:not-allowed;opacity:.45}.reportsLoading{display:flex;align-items:center;justify-content:center;gap:10px;min-height:180px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--muted);font-size:12px}.reportsLoadingMark{width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:reportsSpin .8s linear infinite}@keyframes reportsSpin{to{transform:rotate(360deg)}}.reportsError{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid var(--error-border);border-radius:9px;background:var(--error-bg);color:var(--error);font-size:11px}.reportsError button{padding:5px 10px;border:1px solid currentColor;border-radius:7px;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer}@media(max-width:760px){.reportsHeader{align-items:flex-start;flex-direction:column}.reportsExportActions{width:100%}.reportsExportButton{flex:1}.reportsCategoryTab{min-width:104px;padding:0 12px}.reportsFilterPanel{align-items:stretch}.reportsPeriodSelect,.reportsDateField{flex:1 1 145px;min-width:0}.reportsPeriodSummary{flex:1 1 100%;margin-left:0;padding:4px 0 0}.reportsRecordsHeader{align-items:stretch;flex-direction:column}.reportsSearch{width:100%}.reportsChartPanel,.reportsRecordsPanel{padding:15px 12px}}@media(max-width:480px){.reportsPage{gap:13px;padding:18px 12px 38px}.reportsSummaryGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reportsSummaryCard{min-height:85px;padding:13px 10px 13px 14px}.reportsSummaryCard strong{font-size:20px}.reportsSummaryCard strong.reportsCardLongValue{font-size:14px}.reportsTableFooter{align-items:flex-start;flex-direction:column}.reportsBarRow{grid-template-columns:minmax(80px,.8fr) minmax(70px,1.6fr) 26px;gap:7px}}.reportsPage{gap:20px;padding-top:30px}.reportsHeader{margin:0}.reportsHeader .reportsEyebrow{color:var(--muted)}.reportsHeader p{font-size:14px}.reportsFilterPanel{align-items:flex-end;gap:12px;padding:16px;border-radius:12px;box-shadow:none}.reportsPeriodSelect,.reportsDateField{flex:1 1 160px}.reportsPeriodSelect>span,.reportsDateField>span,.reportsExportSelect>span{color:var(--muted);font-size:11px;font-weight:650}.reportsPeriodSelect select,.reportsDateField input,.reportsExportSelect select{min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font:inherit;font-size:12px}.reportsPeriodSelect select:focus,.reportsDateField input:focus,.reportsExportSelect select:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:1px}.reportsGenerateButton{min-height:42px;padding-inline:18px;white-space:nowrap}.reportsExportSelect{display:grid;gap:6px;min-width:128px}.reportsExportSelect select{cursor:pointer}.reportsSummaryGrid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.reportsSummaryCard{grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;min-height:94px;padding:15px;border-radius:12px;box-shadow:none}.reportsSummaryIcon{display:grid;grid-row:1 / 3;place-items:center;width:36px;height:36px;border-radius:10px;background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--text);font-size:18px;font-weight:700}.reportsSummaryIcon-1{background:color-mix(in srgb,#6bb58b 15%,var(--surface))}.reportsSummaryIcon-2{background:color-mix(in srgb,#d7c8a3 27%,var(--surface))}.reportsSummaryIcon-3{background:color-mix(in srgb,#9aa39b 18%,var(--surface))}.reportsCardLabel{align-self:end;font-size:11px}.reportsSummaryCard strong{align-self:start;font-size:20px}.reportsSummaryCard strong.reportsCardLongValue{font-size:14px}.reportsChartsGrid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:14px}.reportsChartPanel,.reportsRecordsPanel{min-width:0;padding:19px;border-radius:12px;box-shadow:none}.reportsPanelHeader{margin-bottom:14px}.reportsPanelHeader h2{font-size:16px}.reportsChartNote{text-transform:capitalize}.reportsTrendChart{min-height:166px}.reportsTrendChart svg{display:block;width:100%;height:150px;overflow:visible}.reportsChartGridLine{stroke:var(--line);stroke-width:1}.reportsTrendLine{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5}.reportsTrendPoint{fill:var(--surface);stroke:var(--accent);stroke-width:2}.reportsTrendLabels{display:flex;justify-content:space-between;gap:8px;padding:2px 3px 0;color:var(--muted);font-size:10px}.reportsChartEmpty{display:grid;min-height:150px;margin:0;place-items:center;color:var(--muted);font-size:12px}.reportsStatusChart{display:grid;grid-template-columns:minmax(110px,.9fr) minmax(120px,1.1fr);align-items:center;gap:12px;min-height:166px}.reportsDonutWrap{width:min(100%,150px);margin-inline:auto}.reportsDonutWrap svg{display:block;width:100%}.reportsDonutTrack{fill:none;stroke:var(--line);stroke-width:13}.reportsDonutTotal{fill:var(--text);font-size:20px;font-weight:700;text-anchor:middle}.reportsDonutCaption{fill:var(--muted);font-size:9px;text-anchor:middle}.reportsDonutLegend{display:grid;gap:10px;max-height:165px;margin:0;padding:0;overflow-y:auto;list-style:none}.reportsDonutLegend li{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:8px;color:var(--text);font-size:11px}.reportsLegendDot{width:8px;height:8px;border-radius:50%}.reportsLegendLabel{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.reportsDonutLegend strong{font-size:11px}.reportsCategoryTabs{padding:4px;border-radius:10px}.reportsCategoryTab{min-height:40px}.reportsCategoryTab:disabled{cursor:wait;opacity:.65}.reportsRecordsHeader{align-items:flex-end}.reportsRecordsHeader h2{margin-top:5px}.reportsRecordCount{margin:7px 0 0;color:var(--muted);font-size:11px}.reportsStatus{display:inline-flex;align-items:center;min-height:23px;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--line) 55%,var(--surface));color:var(--text);font-size:10px;font-weight:650;white-space:nowrap}.reportsStatus-completed,.reportsStatus-paid{background:color-mix(in srgb,#6bb58b 18%,var(--surface));color:var(--success)}.reportsStatus-pending,.reportsStatus-pending-payment,.reportsStatus-partially-paid,.reportsStatus-approved,.reportsStatus-ortho{background:color-mix(in srgb,var(--accent) 20%,var(--surface));color:var(--text)}.reportsStatus-cancelled,.reportsStatus-no-show{background:color-mix(in srgb,var(--danger) 14%,var(--surface));color:var(--danger)}.reportsStatus-regular,.reportsStatus-checked-in{background:color-mix(in srgb,#9aa39b 18%,var(--surface))}.reportsFirstRun{display:flex;align-items:center;gap:14px;padding:22px;border-radius:12px;box-shadow:none}.reportsFirstRunIcon{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--accent) 18%,var(--surface));font-size:20px}.reportsFirstRun strong{color:var(--text);font-size:13px}.reportsFirstRun p{margin:5px 0 0;color:var(--muted);font-size:12px}.reportsVisuallyHidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}@media(max-width:760px){.reportsFilterPanel{align-items:flex-end}.reportsGenerateButton{flex:1 1 160px}.reportsExportSelect{flex:1 1 120px}.reportsChartsGrid{grid-template-columns:minmax(0,1fr)}.reportsStatusChart{grid-template-columns:minmax(100px,.7fr) minmax(140px,1.3fr)}}@media(max-width:480px){.reportsPage{gap:14px;padding:18px 12px 38px}.reportsFilterPanel{gap:10px;padding:12px}.reportsSummaryGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reportsSummaryCard{min-height:84px;padding:11px}.reportsSummaryIcon{width:30px;height:30px}.reportsChartsGrid{gap:10px}.reportsStatusChart{grid-template-columns:minmax(90px,.8fr) minmax(120px,1.2fr);gap:6px}}.authWrap:has(.loginCard) .loginCard,.authWrap:has(.loginCard) .loginCard:hover{border:3px solid var(--accent);box-shadow:none;transform:none;transition:none}.authWrap:has(.loginCard) .loginCard .input,.authWrap:has(.loginCard) .loginCard .input:hover,.authWrap:has(.loginCard) .loginCard .input:focus{border:2px solid var(--accent);box-shadow:none;outline:none;transition:none;transform:none}.authWrap:has(.loginCard) .loginCard .radioOption,.authWrap:has(.loginCard) .loginCard .radioOption:hover{border:2px solid var(--accent);background:rgba(var(--accent-rgb),.06);box-shadow:none;transform:none;transition:none}.authWrap:has(.loginCard) .loginCard .radioOption.active,.authWrap:has(.loginCard) .loginCard .radioOption.active:hover{border:2px solid var(--accent);background:rgba(var(--accent-rgb),.15);box-shadow:none;transform:none}.authWrap:has(.loginCard) .loginCard .customRadio,.authWrap:has(.loginCard) .loginCard .radioText,.authWrap:has(.loginCard) .loginCard .eyeButton,.authWrap:has(.loginCard) .loginCard .backButton{transition:none;box-shadow:none;transform:none}.authWrap:has(.loginCard) .loginCard .radioOption.active .customRadio{box-shadow:none}.authWrap:has(.loginCard) .loginCard .eyeButton:hover,.authWrap:has(.loginCard) .loginCard .backButton:hover,.authWrap:has(.loginCard) .loginCard .backButton.appBackAction:hover,.authWrap:has(.loginCard) .loginCard .backButton.appBackAction.topdentBackAction:hover{background:transparent;color:var(--muted);border-color:inherit;box-shadow:none;transform:none;transition:none}.authWrap:has(.loginCard) .loginCard .btn:hover:not(:disabled),.authWrap:has(.loginCard) .loginCard .btn:active:not(:disabled){background:var(--button-primary-background);border-color:var(--button-primary-background);color:var(--button-primary-color);filter:none;opacity:1;box-shadow:none;transform:none;transition:none}.authWrap:has(.loginCard) .loginCard .error{animation:none}.adminSurface.queuePage{max-width:1440px}.queueToolbar{display:flex;justify-content:flex-start;margin-bottom:20px}.queueSearch{position:relative;display:block;width:min(390px,100%)}.queueSearch>svg{position:absolute;top:50%;left:13px;width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;transform:translateY(-50%);pointer-events:none}.queueSearch .input{width:100%;min-height:42px;padding-left:40px}.queueError{margin-bottom:12px}.queueLayout{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:20px;min-width:0}.queueTablePanel,.queueCalendarPanel{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.queueTableWrap{min-width:0;overflow:visible}.queueTable{width:100%;border-collapse:collapse;color:var(--text);font-size:13px;text-align:left}.queueTable th{padding:14px 12px;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:650;white-space:nowrap}.queueTable td{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.queueTable tbody tr:last-child td{border-bottom:0}.queueNumberCell{color:var(--text);font-weight:700;white-space:nowrap}.queuePatientCell{min-width:132px}.queuePatientCell strong,.queuePatientCell small{display:block;overflow-wrap:anywhere}.queuePatientCell strong{color:var(--text);font-weight:650}.queuePatientCell small{margin-top:3px;color:var(--muted);font-size:11px}.queueStatus{font-size:12px;font-weight:650;white-space:nowrap}.queueStatus-waiting{color:var(--warning)}.queueStatus-ongoing{color:var(--info)}.queueStatus-skipped{color:var(--muted)}.queueStatus-completed{color:var(--success)}.queueActionCell{width:48px;text-align:center}.queueActionMenu{position:relative;display:inline-flex}.queueMenuTrigger{display:inline-grid;width:34px;height:34px;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--text);cursor:pointer}.queueMenuTrigger:hover:not(:disabled),.queueMenuTrigger[aria-expanded=true]{background:var(--secondary)}.queueMenuTrigger:focus-visible,.queueActionMenuItems button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.queueMenuTrigger:disabled{opacity:.55;cursor:wait}.queueMenuTrigger svg{width:19px;height:19px;fill:currentColor}.queueActionMenuItems{position:absolute;z-index:20;top:calc(100% + 4px);right:0;display:flex;width:148px;flex-direction:column;padding:5px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:var(--shadow);text-align:left}.queueActionMenuItems button{padding:8px 9px;border:0;border-radius:6px;background:transparent;color:var(--text);font:inherit;font-size:12px;text-align:left;cursor:pointer}.queueActionMenuItems button:hover:not(:disabled){background:var(--secondary)}.queueActionMenuItems button:disabled{color:var(--muted);cursor:not-allowed;opacity:.55}.queueEmptyCell{height:132px;color:var(--muted);text-align:center}.queueCalendarPanel{padding:16px}.queueCalendarHeader{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:15px}.queueCalendarHeader h2{margin:0;color:var(--text);font-size:15px;font-weight:650;text-align:center}.queueCalendarHeader button{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer}.queueCalendarHeader button:hover{background:var(--secondary)}.queueCalendarHeader svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.queueCalendarGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.queueWeekday{padding:5px 0;color:var(--muted);font-size:10px;font-weight:650;text-align:center}.queueCalendarBlank,.queueCalendarDay{display:grid;min-width:0;aspect-ratio:1;place-items:center}.queueCalendarDay{position:relative;border:0;border-radius:50%;background:transparent;color:var(--text);font:inherit;font-size:12px;cursor:pointer}.queueCalendarDay:hover{background:var(--secondary)}.queueCalendarDay.today{outline:1px solid var(--primary);outline-offset:-2px}.queueCalendarDay.selected,.queueCalendarDay.selected:hover{background:var(--primary);color:var(--on-primary);font-weight:700;outline:0}.queueCalendarDay i{position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--accent)}.queueCalendarDay.selected i{background:currentColor}@media(max-width:1100px){.queueLayout{grid-template-columns:minmax(0,1fr)}.queueCalendarPanel{width:min(360px,100%);justify-self:end}}@media(max-width:700px){.adminSurface.queuePage{padding-right:14px;padding-left:14px}.queueTableWrap{overflow-x:auto}.queueTable{min-width:760px}.queueCalendarPanel{justify-self:stretch}}.paymentsChargeBreakdown{padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.paymentsChargeBreakdown h3{margin:0 0 12px;font-size:15px}.paymentsReceiptPhotos{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.paymentsReceiptPhotos figure{margin:0;width:min(100%,220px);overflow-wrap:anywhere}.paymentsReceiptPhotos img{display:block;width:100%;max-height:280px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#fff}.paymentsReceiptPhotos figcaption{font-size:12px;margin:6px 0}.paymentReceipts>.drawerNote{margin-top:12px}.paymentReceipts .paymentsChargeBreakdown{margin-top:12px}.recordPagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 8px;color:var(--muted);font-size:13px}.recordPaginationControls{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.recordPaginationControls label{display:flex;align-items:center;gap:7px}.recordPaginationControls select{width:auto;min-width:65px}.recordPaginationControls .btn{min-height:36px;padding:7px 12px}.recordPaginationListItem{list-style:none;width:100%}.bookingStaffPromotion{margin:16px 0}.reportsPagination label{display:flex;align-items:center;gap:6px}.reportsPagination select{width:auto;min-width:60px}.adminSurface :is(tr.patientRow,tr.patientTableRow,tr.bookingRow.clickable,tr.paymentsClickableRow,tr.dentistAppointmentRowClickable){cursor:pointer;transition:transform .16s ease}.adminSurface :is(tr.patientRow,tr.patientTableRow,tr.bookingRow.clickable,tr.paymentsClickableRow,tr.dentistAppointmentRowClickable)>td{transition:background-color .16s ease,box-shadow .16s ease}html[data-dashboard=true] .adminSurface :is(tr.patientRow,tr.patientTableRow,tr.bookingRow.clickable,tr.paymentsClickableRow,tr.dentistAppointmentRowClickable):is(:hover,:focus-visible,:focus-within)>td{background-color:color-mix(in srgb,var(--accent) 12%,var(--surface))}html[data-dashboard=true] .adminSurface :is(tr.patientRow,tr.patientTableRow,tr.bookingRow.clickable,tr.paymentsClickableRow,tr.dentistAppointmentRowClickable):is(:hover,:focus-visible,:focus-within)>td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.adminSurface :is(.servicesAdminRowEdit,.archiveRecordMain){border-radius:8px;transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease}.adminSurface :is(.servicesAdminRowEdit,.archiveRecordMain):is(:hover,:focus-visible){background-color:color-mix(in srgb,var(--accent) 12%,var(--surface));box-shadow:inset 3px 0 0 var(--accent)}@media(hover:hover)and (pointer:fine){.adminSurface :is(tr.patientRow,tr.patientTableRow,tr.bookingRow.clickable,tr.paymentsClickableRow,tr.dentistAppointmentRowClickable):hover,.adminSurface :is(.servicesAdminRowEdit,.archiveRecordMain):hover{transform:translateY(-1px)}.adminSurface :is(tr.patientRow,tr.patientTableRow,tr.bookingRow.clickable,tr.paymentsClickableRow,tr.dentistAppointmentRowClickable):active,.adminSurface :is(.servicesAdminRowEdit,.archiveRecordMain):active{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.adminSurface :is(tr.patientRow,tr.patientTableRow,tr.bookingRow.clickable,tr.paymentsClickableRow,tr.dentistAppointmentRowClickable),.adminSurface :is(tr.patientRow,tr.patientTableRow,tr.bookingRow.clickable,tr.paymentsClickableRow,tr.dentistAppointmentRowClickable)>td,.adminSurface :is(.servicesAdminRowEdit,.archiveRecordMain){transition:none;transform:none}}.patientDentalRecordPage .patientRecordSection{margin-top:18px}.patientRecordFacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;margin:16px 0}.patientRecordFacts dt{color:var(--muted);font-size:12px}.patientRecordFacts dd{margin:4px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.patientRecordText{white-space:pre-wrap;overflow-wrap:anywhere}.patientReadOnlyChart .toothImageSurface,.patientReadOnlyChart .toothMarker{cursor:default;pointer-events:none}.patientReadOnlyChart .toothMarker{display:flex;align-items:center;justify-content:center}.patientReadOnlyChart .toothMarker:hover{transform:none}.patientDentalRecordPage .historyPanel{margin-top:12px}@media(max-width:640px){.patientRecordFacts{grid-template-columns:1fr}}
