/* Shared design contract. Layered important rules supersede legacy page overrides. */
@layer instantcare-system {
:root{--care-font:Inter,Arial,sans-serif;--care-bg:#f3f7f5;--care-edge:#dfe9e3;--care-raised:6px 6px 15px #b8cbc14d,-6px -6px 15px #fff;--care-inset:inset 3px 3px 7px #bccdc455,inset -3px -3px 7px #fff;--care-title:42px;--care-page:32px;--care-card:22px;--care-body:16px;--care-small:13px}
body,button,input,select,textarea{font-family:var(--care-font)!important}body{font-size:var(--care-body)!important;background:var(--care-bg)!important}
p,li,blockquote{font-size:var(--care-body)!important;line-height:1.65!important;font-weight:400!important;letter-spacing:0!important}
h1,h2,h3,h4{font-family:var(--care-font)!important;font-weight:700!important;line-height:1.2!important;letter-spacing:-.025em!important}
h1{font-size:var(--care-page)!important}h2{font-size:var(--care-title)!important}h3,h4{font-size:var(--care-card)!important}
.hero .hero-title{font-size:76px!important;line-height:1.05!important;font-weight:800!important;letter-spacing:-.045em!important}
.hero-title .mobile-headline{font-size:inherit!important;line-height:inherit!important;letter-spacing:inherit!important}
.patient-greeting h1,dialog h2,.patient-view>h2,.patient-view .patient-section-heading h2{font-size:var(--care-page)!important}
.patient-view h2,.about-principles h2,.terms-page h2,.how-slide h3,.steps h3,.next-appointment-card h2{font-size:var(--care-card)!important}
label,legend,.patient-section-heading label,.patient-time-field legend,.patient-symptom-label{font-size:14px!important;line-height:1.5!important;font-weight:600!important;letter-spacing:0!important}
input,select,textarea{font-size:16px!important;line-height:1.5!important;font-weight:400!important}
small,.small-copy,.patient-small,.form-error,.check,.signup-terms-copy,.auth-security-copy,.how-slide-detail,.doctor-card-copy p,.doctor-card-copy small,.patient-status,.next-status{font-size:var(--care-small)!important;line-height:1.55!important}
button,.btn,.patient-primary,.patient-secondary,.care-pathway-link,.patient-contact a{font-size:15px!important;line-height:1.45!important;font-weight:600!important;letter-spacing:0!important}
.eyebrow,.mobile-how-kicker,.how-slide-step,.next-kicker,.review-demo,.blog-placeholder>span{font-size:12px!important;line-height:1.5!important;font-weight:600!important;letter-spacing:.065em!important}
header nav a,header .nav-actions button,header .nav-actions a{font-size:14px!important;font-weight:600!important;line-height:1.45!important}
.site-footer p,.site-footer a,.site-footer button,.site-footer address,.site-footer .footer-bottom{font-size:14px!important;line-height:1.6!important}
.site-footer h3,.footer-social>strong{font-size:13px!important;line-height:1.5!important;letter-spacing:.06em!important;font-weight:700!important}
.site-footer .footer-care-note,.site-footer .footer-bottom{font-size:12px!important}
#landing,.patient-shell,body.patient-session{background:var(--care-bg)!important}
body>header,.patient-topbar,.landing-bottom-nav,.patient-bottom-nav{background:var(--care-bg)!important;border:1px solid var(--care-edge)!important;box-shadow:var(--care-raised)!important}
.patient-topbar{border-radius:20px!important;padding:15px 18px!important}
.consultation-visual,.mobile-how,.how-slide,.steps article,.care-pathway-card,.review-slide,.blog-card,.blog-placeholder,.faq details,.about-link-card,.about-principles,.assigned-doctor,.patient-appointment,.patient-empty,.patient-contact,.payment-card,.doctor-roster-form,.patient-staff-visit,.next-appointment-card,.overview-care-row,.overview-support,.overview-book-row,.patient-quick-actions button,#availability-form,#post-form,#doctor-add-form,.journal-admin-row,.terms-page article,dialog{border:1px solid var(--care-edge)!important;border-radius:20px!important;box-shadow:var(--care-raised)!important}
.consultation-visual,.mobile-how,.how-slide,.steps article,.care-pathway-card,.review-slide,.blog-card,.blog-placeholder,.faq details,.about-link-card,.about-principles,.assigned-doctor,.patient-appointment,.patient-empty,.patient-contact,.payment-card,.doctor-roster-form,.patient-staff-visit,.overview-care-row,.overview-support,.overview-book-row,.patient-quick-actions button,#availability-form,#post-form,#doctor-add-form,.journal-admin-row,.terms-page article,dialog{background:var(--care-bg)!important}
input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea,.auth-input-shell{background:var(--care-bg)!important;border:1px solid var(--care-edge)!important;box-shadow:var(--care-inset)!important;border-radius:12px!important}
.auth-input-shell input{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
.btn,.patient-primary,.patient-secondary,.how-slider-controls button,.review-controls button,.patient-date-tiles button,.patient-time-tiles span,.channel-chip,.how-slide-channels li,.desktop-call-methods li,.symptom-chips button,.support-toggle,.mobile-install-toggle{box-shadow:4px 4px 10px #9bb7aa44,-4px -4px 10px #ffffffbb,inset 1px 1px 1px #ffffff30!important}
.patient-date-tiles button[aria-pressed=true],.patient-time-tiles input:checked+span,.patient-bottom-nav button[aria-current=page]{box-shadow:var(--care-inset)!important}
.site-footer{box-shadow:inset 5px 5px 18px #051b1555,inset -3px -3px 12px #ffffff09!important}
body:has(#account[open])>header,body:has(#account[open])>.landing-bottom-nav,body:has(#account[open]) .patient-topbar,body:has(#account[open]) .patient-bottom-nav,body:has(#account[open])>.support-widget{display:none!important}
@media(max-width:760px){
:root{--care-title:28px;--care-page:28px;--care-card:21px}
html{zoom:.85!important}
body>header,.patient-topbar,.landing-bottom-nav,.patient-bottom-nav{zoom:1.0588235294!important}
.hero .hero-title{font-size:36px!important;line-height:1.08!important}
header nav a{font-size:18px!important}header .nav-actions button,header .nav-actions a{font-size:12px!important}
.landing-bottom-nav a,.patient-bottom-nav button,.patient-quick-actions button,.channel-chip>span,.how-slide-channels li,.desktop-call-methods li{font-size:12px!important;line-height:1.4!important}
.landing-bottom-nav,.patient-bottom-nav{padding-bottom:calc(9px + env(safe-area-inset-bottom))!important}
header #primary-navigation{height:calc(100dvh / .9)!important;background:#0c695e!important}
.menu-details p,.menu-details a{font-size:16px!important}
.mobile-install-toggle{font-size:13px!important}.mobile-install-panel strong{font-size:14px!important}
#account[data-auth-view=signup]{max-height:calc(85dvh / .85)!important}
body:not(.patient-session)>.landing-bottom-nav{display:flex!important}
body:has(#account[open])>.landing-bottom-nav{display:none!important}
}
}

@layer instantcare-system{.check{font-weight:400!important}.terms-page,.offline{padding-bottom:110px!important}}
@layer instantcare-system{
.patient-view>h2:first-child{font-size:var(--care-page)!important}
.patient-view[data-patient-panel=booking],.patient-view[data-patient-panel=profile]{background:var(--care-bg)!important;border:1px solid var(--care-edge)!important;border-radius:20px!important;box-shadow:var(--care-raised)!important;padding:22px!important}
}
@layer instantcare-system{
html,body{overflow-x:clip!important}body>header{backdrop-filter:none!important}
header .nav-actions .btn.small{background:#108c80!important;color:#fff!important}
header .nav-actions .text-btn{background:#e7f1eb!important;color:#174b50!important;border-radius:99px!important;padding:10px 12px!important}
}
@layer instantcare-system{
@media(max-width:760px){
 header #primary-navigation{left:auto!important;right:0!important;top:0!important;bottom:0!important;width:calc(50vw / .9)!important;max-width:none!important;padding:86px 17px 28px!important;border-radius:22px 0 0 22px!important;box-shadow:-9px 0 25px #123f3626!important}
 header #primary-navigation .menu-links a{font-size:14px!important;padding:12px 0!important;min-height:42px!important;overflow-wrap:anywhere}
 header #primary-navigation .menu-links a::after{font-size:13px!important}
 header #primary-navigation .menu-details{padding-top:15px!important}
 header #primary-navigation .menu-details h3{font-size:17px!important;margin:18px 0 8px!important}
 header #primary-navigation .menu-details a,header #primary-navigation .menu-details p{font-size:13px!important;line-height:1.55!important;overflow-wrap:anywhere}
 header #primary-navigation .menu-details a{padding:6px 0!important}
 header #primary-navigation .menu-details p{margin:9px 0 17px!important}
 header #primary-navigation .social-placeholders{gap:7px!important;flex-wrap:wrap!important;margin-top:12px!important}
 header #primary-navigation .social-placeholders button{width:30px!important;height:30px!important;padding:7px!important}
 header #primary-navigation .social-placeholders svg{width:16px!important;height:16px!important}
 body.menu-open header .brand-word{color:#254e68!important}body.menu-open header .brand-word>span{color:#50a57c!important}
 body.menu-open header .brand-mark path:first-child{fill:#50a57c!important}body.menu-open header .brand-mark path:last-child{fill:#254e68!important}
}
}
@layer instantcare-system{
.skip-link{position:fixed;top:-100px;left:20px;z-index:200;padding:12px 18px;background:#fff;color:#164e45;border:2px solid #108c80;border-radius:12px}.skip-link:focus{top:12px}
button:disabled{cursor:default}a,button,input,select,textarea{touch-action:manipulation}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
}
