:root{--ink:#102a2d;--muted:#667a7d;--primary:#0f7d78;--primary-dark:#0a615d;--mint:#e8f5f3;--surface:#f7fafb;--line:#dce7e7;--white:#fff;--danger:#b44747;--shadow:0 20px 60px rgba(15,56,59,.11)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 40px));margin:auto}.topline{background:#0c3436;color:#d9eeee;font-size:12px}.topline-inner{height:34px;display:flex;align-items:center;justify-content:space-between}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.98);border-bottom:1px solid rgba(220,231,231,.7);transition:.25s}.site-header.scrolled{box-shadow:0 12px 35px rgba(9,42,45,.08)}.nav-wrap{height:82px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.04em;font-size:17px;line-height:1.1}.brand small{display:block;font-size:9px;letter-spacing:.08em;font-weight:600;color:#789092;margin-top:5px;line-height:1.45;text-transform:none}.brand-mark{width:40px;height:40px;color:var(--primary);display:grid;place-items:center}.brand-mark svg{width:34px}.main-nav{margin-left:auto;display:flex;align-items:center;gap:24px;font-size:14px;font-weight:600}.main-nav a{position:relative;padding:30px 0}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:21px;height:2px;background:var(--primary);transition:.2s}.main-nav a:hover:after{right:0}.nav-actions{display:flex;align-items:center;gap:12px;font-size:13px}.nav-actions form{display:inline}.link-soft,.link-btn{border:0;background:none;font:inherit;cursor:pointer;color:#456467}.menu-toggle{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:10px;border:1px solid transparent;font-weight:700;font-size:14px;cursor:pointer;transition:.2s}.btn-sm{min-height:42px;padding:0 17px}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 10px 25px rgba(15,125,120,.2)}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px)}.btn-ghost{border-color:rgba(255,255,255,.6);color:#fff;background:rgba(255,255,255,.06);backdrop-filter:blur(5px)}.btn-block{width:100%}.btn-danger-soft{background:#fff2f2;color:#a53e3e;border-color:#f0d6d6}.hero-shell{position:relative;background:#123}.hero-swiper,.hero-slide{height:min(720px,calc(100vh - 116px));min-height:580px}.hero-slide{position:relative;background-size:cover;background-position:center}.hero-slide-1{background-image:url('https://images.unsplash.com/photo-1606811971618-4486d14f3f99?auto=format&fm=webp&fit=crop&w=2000&q=88')}.hero-slide-2{background-image:url('https://images.unsplash.com/photo-1588776814546-1ffcf47267a5?auto=format&fm=webp&fit=crop&w=2000&q=88')}.hero-slide-3{background-image:url('https://images.unsplash.com/photo-1609840114035-3c981b782dfe?auto=format&fm=webp&fit=crop&w=2000&q=88')}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,36,39,.88),rgba(5,36,39,.62) 48%,rgba(5,36,39,.12))}.hero-content{height:100%;position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:#fff;padding-bottom:45px}.eyebrow{display:inline-flex;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800;color:var(--primary);margin-bottom:14px}.eyebrow.light{color:#aee8df}.hero-content h1,.hero-content h2{font-size:clamp(44px,5.3vw,76px);line-height:1.06;letter-spacing:-.045em;margin:0 0 22px;max-width:820px}.hero-content h1 span,.hero-content h2 span{color:#b7ebe5;font-weight:600}.hero-content p{font-size:17px;max-width:640px;color:#e5f0f0;margin:0 0 30px}.hero-actions{display:flex;gap:12px}.hero-separator{position:absolute;left:0;bottom:-1px;width:100%;height:78px;z-index:3}.hero-nav{position:absolute;z-index:5;right:max(30px,calc((100vw - 1180px)/2));bottom:72px;display:flex;gap:8px}.hero-nav button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.18);color:#fff;font-size:18px;cursor:pointer}.swiper-pagination{bottom:36px!important}.swiper-pagination-bullet{background:#fff!important}.trust-strip{padding:26px 0 36px}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;border-bottom:1px solid var(--line);padding-bottom:28px}.trust-grid div{display:flex;flex-direction:column;border-right:1px solid var(--line);padding-left:18px}.trust-grid div:first-child{padding-left:0}.trust-grid div:last-child{border:0}.trust-grid strong{font-size:22px}.trust-grid span{color:var(--muted);font-size:12px}.section{padding:92px 0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:38px}.section-heading>div{max-width:680px}.section-heading h2,.experience-copy h2,.two-col h2{font-size:clamp(32px,4vw,48px);line-height:1.16;letter-spacing:-.035em;margin:0}.section-heading>p{max-width:420px;color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{position:relative;border:1px solid var(--line);padding:30px;min-height:270px;background:#fff;transition:.25s}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#bdd8d6}.service-icon{width:54px;height:54px;background:var(--mint);color:var(--primary);display:grid;place-items:center;border-radius:14px}.service-icon svg{width:28px}.service-index{position:absolute;right:24px;top:26px;color:#aac0c1;font-weight:800;font-size:12px}.service-card h3,.service-card h2{font-size:20px;margin:22px 0 8px}.service-card p{color:var(--muted);font-size:14px;margin:0 0 20px}.service-card>a{font-weight:800;font-size:13px;color:var(--primary)}.service-detail{font-size:13px;color:#789092;margin-bottom:10px}.duration{display:block;font-size:12px;color:#526b6e;margin-bottom:14px}.experience-section{background:var(--surface)}.experience-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:70px;align-items:center}.experience-media{position:relative}.experience-media img{width:100%;height:560px;object-fit:cover;border-radius:4px}.media-badge{position:absolute;right:-25px;bottom:30px;background:#fff;padding:20px 24px;box-shadow:var(--shadow);display:flex;flex-direction:column}.media-badge strong{font-size:14px}.media-badge span{font-size:11px;color:var(--muted)}.experience-copy p{color:var(--muted);font-size:16px}.check-list{display:grid;gap:12px;margin:25px 0}.check-list span{font-weight:600;font-size:14px}.text-link{font-weight:800;color:var(--primary);font-size:14px}.doctor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.doctor-card{background:#fff;border:1px solid var(--line)}.doctor-photo{overflow:hidden;aspect-ratio:4/4.4;background:#eef4f4}.doctor-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.8);transition:.35s}.doctor-card:hover img{transform:scale(1.03);filter:saturate(1)}.doctor-info{padding:22px}.doctor-info h3,.doctor-info h2{font-size:19px;margin:0 0 5px}.doctor-info p{color:var(--primary);font-weight:700;font-size:12px;margin:0 0 12px}.doctor-info span{display:block;color:var(--muted);font-size:13px}.doctor-info .text-link{margin-top:14px;display:inline-block}.process-section{position:relative;background:#0d3a3d;color:#fff;padding:95px 0 120px}.section-heading.light p{color:#b9cecf}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.16)}.process-grid>div{background:#0d3a3d;padding:34px}.process-grid b{font-size:12px;color:#8fd6cf;letter-spacing:.1em}.process-grid h3{font-size:21px}.process-grid p{color:#bed0d1;font-size:14px}.section-separator{position:absolute;width:100%;height:82px;bottom:-1px;left:0}.cta-card{background:var(--mint);padding:46px 52px;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}.cta-card h2{font-size:36px;margin:0 0 8px}.cta-card p{margin:0;color:var(--muted)}.site-footer{background:#082f31;color:#d6e5e5;padding:70px 0 20px}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .8fr;gap:60px}.brand-footer{color:#fff}.brand-footer small{color:#9bbabb}.footer-grid p{color:#a8c0c1;max-width:420px;font-size:13px}.footer-grid h4{margin:0 0 17px;color:#fff}.footer-grid>div>a{display:block;margin:8px 0;font-size:13px;color:#c5d8d8}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);margin-top:50px;padding-top:20px;color:#8dacad;font-size:11px}.page-hero{background:#0c3c3f;color:#fff;padding:82px 0 92px;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-80px;top:-260px}.page-hero.compact{padding:62px 0}.page-hero h1{font-size:clamp(38px,5vw,60px);margin:0 0 14px;letter-spacing:-.04em}.page-hero p{max-width:700px;color:#bdd0d1}.service-grid-full{grid-template-columns:repeat(3,1fr)}.doctor-grid-full{grid-template-columns:repeat(3,1fr)}.two-col{display:grid;grid-template-columns:1fr 420px;gap:90px;align-items:start}.two-col>div>p{color:var(--muted)}.about-panel{background:var(--surface);border:1px solid var(--line);padding:32px}.about-panel h3{margin-top:0}.about-panel p{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.contact-card{border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;min-height:170px}.contact-card span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.contact-card a,.contact-card strong{font-size:19px;margin:14px 0}.contact-card small{color:var(--muted)}.auth-shell{min-height:calc(100vh - 116px);display:grid;grid-template-columns:1fr 1fr}.auth-visual{background:linear-gradient(rgba(6,48,50,.72),rgba(6,48,50,.84)),url('https://images.unsplash.com/photo-1629909613654-28e377c37b09?auto=format&fm=webp&fit=crop&w=1400&q=85') center/cover;color:#fff;display:flex;align-items:flex-end;padding:8vw}.auth-visual h1{font-size:48px;line-height:1.1;max-width:560px;margin:0 0 15px}.auth-visual p{color:#d5e6e6;max-width:520px}.auth-panel{display:grid;place-items:center;padding:50px;background:var(--surface)}.auth-card{width:min(520px,100%);background:#fff;padding:38px;border:1px solid var(--line);box-shadow:0 20px 60px rgba(18,55,57,.08)}.auth-card h2{font-size:28px;margin:0}.auth-card>p{color:var(--muted);font-size:13px}.auth-card label,.appointment-form-card label{display:block;font-weight:700;font-size:12px;margin:14px 0 7px}.input{width:100%;min-height:48px;border:1px solid #cfdddd;background:#fff;padding:0 14px;font:inherit;font-size:14px;border-radius:8px;outline:none}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(15,125,120,.10)}.textarea{height:110px;padding-top:12px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check-row{display:flex!important;align-items:center;gap:8px}.validation,span.field-validation-error{color:#a64040;font-size:12px}.auth-alt{text-align:center;margin-top:20px;font-size:13px;color:var(--muted)}.auth-alt a{font-weight:800;color:var(--primary)}.appointment-layout{display:grid;grid-template-columns:1fr 330px;gap:28px;align-items:start}.appointment-form-card,.appointment-aside{background:#fff;border:1px solid var(--line);padding:32px}.appointment-aside{background:var(--surface)}.appointment-aside h3{margin-top:0}.appointment-aside p,.appointment-aside li{font-size:13px;color:var(--muted)}.appointment-aside ul{padding-left:20px}.account-bar{display:flex;justify-content:flex-end;margin-bottom:18px}.alert{padding:14px 18px;margin-bottom:15px;border-radius:8px;font-size:13px}.alert.success{background:#ebf8f1;color:#236445}.alert.danger{background:#fff1f1;color:#8b3434}.appointment-list{display:grid;gap:12px}.appointment-item{border:1px solid var(--line);display:grid;grid-template-columns:105px 1fr;background:#fff}.appointment-date{background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px}.appointment-date strong{font-size:28px}.appointment-date span{text-transform:uppercase;font-size:11px;color:var(--muted)}.appointment-date small{font-weight:800;color:var(--primary);margin-top:8px}.appointment-main{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;gap:20px}.appointment-main h3{margin:8px 0 2px}.appointment-main p{margin:0;color:var(--muted);font-size:13px}.status{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;padding:5px 8px;border-radius:20px}.status-pending{background:#fff5d8;color:#8b6917}.status-confirmed{background:#e7f7ef;color:#267353}.status-arrived{background:#e8f0fb;color:#385f8e}.status-completed{background:#e9f0ff;color:#385f9b}.status-cancelled,.status-noshow{background:#f8eaea;color:#914141}.empty-state{text-align:center;padding:70px 20px}.empty-state p{color:var(--muted)}@media(max-width:1000px){.main-nav{display:none}.nav-actions .link-soft,.nav-actions .link-btn,.nav-actions form{display:none}.menu-toggle{display:flex;margin-left:auto;flex-direction:column;gap:4px;border:0;background:transparent}.menu-toggle span{width:22px;height:2px;background:#15383a}.menu-open .main-nav{display:flex;position:absolute;left:0;right:0;top:116px;background:#fff;flex-direction:column;align-items:stretch;padding:20px 30px;border-bottom:1px solid var(--line)}.menu-open .main-nav a{padding:10px 0}.service-grid,.doctor-grid{grid-template-columns:repeat(2,1fr)}.experience-grid{grid-template-columns:1fr;gap:40px}.experience-media img{height:450px}.section-heading{align-items:flex-start;flex-direction:column;gap:18px}.two-col,.appointment-layout{grid-template-columns:1fr}.auth-shell{grid-template-columns:1fr}.auth-visual{min-height:340px;padding:50px}.trust-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.container{width:min(100% - 28px,1180px)}.topline{display:none}.nav-wrap{height:74px}.menu-open .main-nav{top:74px}.nav-actions .btn{display:none}.hero-swiper,.hero-slide{height:660px;min-height:660px}.hero-content{padding-bottom:80px}.hero-content h1,.hero-content h2{font-size:41px}.hero-actions{flex-direction:column;width:100%}.hero-actions .btn{width:100%}.hero-nav{display:none}.section{padding:65px 0}.service-grid,.doctor-grid,.service-grid-full,.doctor-grid-full,.contact-grid,.process-grid{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr 1fr}.trust-grid div{padding-left:0;border:0}.experience-media img{height:360px}.media-badge{right:10px}.cta-card{padding:30px;flex-direction:column;align-items:flex-start}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}.auth-visual{display:none}.auth-panel{padding:22px 14px}.auth-card{padding:24px}.form-grid{grid-template-columns:1fr}.appointment-item{grid-template-columns:80px 1fr}.appointment-main{align-items:flex-start;flex-direction:column}.page-hero{padding:55px 0}.page-hero h1{font-size:38px}}
.brand-copy{display:flex;flex-direction:column}.brand-mark-ek{width:46px;height:46px;border-radius:50%;border:1px solid rgba(15,125,120,.22);background:linear-gradient(180deg,#fff,#edf8f6);font-size:15px;font-weight:800;letter-spacing:.04em}.brand-footer .brand-mark-ek{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#fff}.btn-outline{border-color:var(--primary);background:#fff;color:var(--primary)}.btn-outline:hover{background:var(--primary);color:#fff}.cta-actions{display:flex;gap:12px;flex-wrap:wrap}.panel-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.section-muted{background:var(--surface)}.two-col-equal{grid-template-columns:1fr 1fr}.contact-map-card{background:#fff;border:1px solid var(--line);padding:32px}.contact-map-card h2{margin:8px 0 10px;font-size:32px;line-height:1.18;letter-spacing:-.03em}.contact-map-card p{color:var(--muted)}.check-list.compact{margin:18px 0 0;gap:10px}.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:90;background:#1fa45a;color:#fff;border-radius:999px;display:inline-flex;align-items:center;gap:10px;padding:14px 18px;font-weight:800;font-size:13px;box-shadow:0 20px 45px rgba(31,164,90,.28)}.whatsapp-float:hover{transform:translateY(-2px)}.whatsapp-icon{width:22px;height:22px;display:grid;place-items:center}.whatsapp-icon svg{width:22px;height:22px}.contact-actions-section{padding-top:0}@media(max-width:1000px){.brand{max-width:340px}.brand-copy{min-width:0}.brand-copy small{max-width:220px}}@media(max-width:640px){.brand{max-width:calc(100% - 70px)}.brand-copy{overflow:hidden}.brand-copy>small{max-width:165px}.brand-mark-ek{width:42px;height:42px}.two-col-equal{grid-template-columns:1fr}.panel-actions,.cta-actions{width:100%}.panel-actions .btn,.cta-actions .btn,.btn-block-mobile{width:100%}.whatsapp-float{right:14px;left:14px;bottom:14px;justify-content:center;padding:14px 16px}}
.footer-hours{display:block;color:#a8c0c1;font-size:12px;margin:8px 0 10px}

.brand-logo{display:block;width:270px;max-width:29vw;height:auto}.brand-logo-footer{width:315px;max-width:100%}.night-modal[hidden]{display:none!important}.night-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:22px;opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease}.night-modal.is-visible{opacity:1;visibility:visible}.night-modal-backdrop{position:absolute;inset:0;background:rgba(4,24,27,.66);backdrop-filter:blur(5px)}.night-modal-dialog{position:relative;z-index:1;width:min(520px,100%);background:#fff;border:1px solid rgba(15,125,120,.18);box-shadow:0 35px 90px rgba(4,35,38,.28);padding:38px 38px 32px;border-radius:18px;transform:translateY(18px) scale(.98);transition:transform .24s ease}.night-modal.is-visible .night-modal-dialog{transform:translateY(0) scale(1)}.night-modal-close{position:absolute;right:16px;top:14px;width:38px;height:38px;border:0;border-radius:50%;background:#f0f6f5;color:#35595b;font-size:24px;line-height:1;cursor:pointer}.night-modal-logo{padding-right:48px;margin-bottom:24px}.night-modal-logo img{width:280px;max-width:100%;height:auto}.night-modal-badge{display:inline-flex;background:#e6f5f3;color:#0d706c;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800;letter-spacing:.14em}.night-modal-dialog h2{font-size:34px;line-height:1.12;letter-spacing:-.035em;margin:14px 0 12px}.night-modal-dialog p{margin:0;color:var(--muted);font-size:14px}.night-modal-hours{margin:22px 0;padding:15px 17px;background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px;border-radius:10px}.night-modal-hours span{font-size:12px;color:var(--muted);font-weight:700}.night-modal-hours strong{font-size:20px;color:var(--ink)}.night-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.btn-whatsapp{background:#1fa45a;color:#fff}.btn-whatsapp:hover{background:#188c4c;transform:translateY(-1px)}.night-modal-note{display:block;text-align:center;color:#849698;font-size:10px;margin-top:14px}.night-modal-open{overflow:hidden}@media(max-width:1000px){.brand-logo{width:238px;max-width:34vw}}@media(max-width:640px){.brand-logo{width:205px;max-width:calc(100vw - 100px)}.brand-logo-footer{width:275px;max-width:100%}.night-modal{padding:14px}.night-modal-dialog{padding:30px 22px 24px;border-radius:14px}.night-modal-logo{margin-bottom:18px;padding-right:42px}.night-modal-logo img{width:240px}.night-modal-dialog h2{font-size:29px}.night-modal-actions{grid-template-columns:1fr}.night-modal-hours{align-items:flex-start;flex-direction:column;gap:2px}.whatsapp-float{bottom:14px}}
/* Supplied clinic logo */
.site-header .brand{gap:10px;letter-spacing:0}.site-header .brand-logo-mark{width:54px!important;height:54px!important;max-width:none!important;object-fit:contain;background:#fff;border-radius:8px}.brand-name{display:flex;flex-direction:column;font-size:14px;font-weight:800;letter-spacing:.01em;color:#102a2d;line-height:1.15}.brand-name small{font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#8b7441;margin-top:5px;font-weight:700}.brand-footer .brand-logo-footer{width:250px;max-width:100%;height:auto;background:#fff;border-radius:8px;padding:8px}.night-modal-logo img{width:250px;max-width:100%;height:auto}.nav-wrap{min-height:82px}@media(max-width:640px){.site-header .brand-logo-mark{width:46px!important;height:46px!important}.brand-name{font-size:12px}.brand-name small{font-size:7px}.brand-footer .brand-logo-footer{width:220px}}

/* =========================================================
   PATIENT PORTAL + APPOINTMENT EXPERIENCE V5
   ========================================================= */
.patient-booking-hero{background:linear-gradient(135deg,#f7faf9 0%,#fff 58%,#f7f1e7 100%);border-bottom:1px solid var(--line);padding:58px 0 48px}.patient-booking-hero-inner{display:flex;align-items:center;justify-content:space-between;gap:48px}.patient-booking-hero h1{font-size:clamp(38px,5vw,60px);line-height:1.05;letter-spacing:-.045em;margin:2px 0 14px}.patient-booking-hero p{max-width:700px;margin:0;color:var(--muted);font-size:15px}.booking-doctor-card{width:330px;flex:0 0 330px;display:flex;align-items:center;gap:15px;background:#fff;border:1px solid var(--line);padding:16px;box-shadow:0 14px 38px rgba(16,42,45,.07)}.booking-doctor-card img{width:64px;height:64px;object-fit:contain;border:1px solid #eee;background:#fff}.booking-doctor-card div{display:flex;flex-direction:column;min-width:0}.booking-doctor-card strong{font-size:14px}.booking-doctor-card span{font-size:12px;color:#8b7441;font-weight:700;margin:3px 0}.booking-doctor-card small{font-size:10px;color:var(--muted)}.patient-booking-section{padding:44px 0 88px;background:#f6f8f8}.booking-shell{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}.booking-main-card{background:#fff;border:1px solid var(--line);box-shadow:0 12px 42px rgba(16,42,45,.05)}.booking-step{padding:32px;border-bottom:1px solid var(--line)}.booking-step:last-child{border-bottom:0}.booking-step-muted{background:#fbfcfc}.booking-step-head{display:flex;gap:15px;align-items:flex-start;margin-bottom:24px}.booking-step-head .step-number{width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:#0d3a3d;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}.booking-step-head h2{font-size:21px;margin:1px 0 4px;letter-spacing:-.02em}.booking-step-head p{margin:0;color:var(--muted);font-size:12px}.treatment-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.treatment-choice{position:relative;text-align:left;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:92px;padding:15px;border:1px solid #dbe4e4;background:#fff;color:var(--ink);font:inherit;cursor:pointer;transition:.18s}.treatment-choice:hover{border-color:#9ebebb;background:#fbfefe}.treatment-choice.is-selected{border-color:var(--primary);box-shadow:0 0 0 2px rgba(15,125,120,.08);background:#f4fbfa}.treatment-choice.is-selected:after{content:'✓';position:absolute;right:8px;top:7px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-size:10px;font-weight:900}.treatment-choice-icon{width:42px;height:42px;border-radius:10px;background:var(--mint);color:var(--primary);display:grid;place-items:center}.treatment-choice-icon svg{width:23px}.treatment-choice-copy{display:flex;flex-direction:column;min-width:0;padding-right:8px}.treatment-choice-copy strong{font-size:13px}.treatment-choice-copy small{font-size:10px;color:var(--muted);line-height:1.45;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.treatment-duration{font-size:10px;font-weight:800;color:#526b6e;background:#f4f7f7;padding:5px 7px;margin-right:18px}.booking-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:18px}.booking-mode{display:flex;flex-direction:column;align-items:flex-start;min-height:112px;padding:15px;border:1px solid #d9e4e4;background:#fff;font:inherit;text-align:left;cursor:pointer;transition:.18s}.booking-mode:hover{border-color:#adc7c5}.booking-mode.is-active{border-color:#0f7d78;background:#f1faf9;box-shadow:inset 0 -3px 0 var(--primary)}.booking-mode .mode-icon{font-size:18px;color:var(--primary);margin-bottom:10px}.booking-mode strong{font-size:12px;margin-bottom:3px}.booking-mode small{font-size:9px;line-height:1.4;color:var(--muted)}.booking-mode-panel{display:none;border:1px solid #dfe7e7;background:#fff;padding:15px;margin-bottom:14px}.booking-mode-panel.is-active{display:block}.mode-panel-intro{display:flex;align-items:center;justify-content:space-between;gap:20px}.mode-panel-intro strong{font-size:12px}.mode-panel-intro span{font-size:10px;color:var(--muted)}.booking-picker-label{display:block;font-size:11px;font-weight:800;margin-bottom:7px}.booking-picker-wrap{height:48px;border:1px solid #cfdcdc;background:#fff;display:flex;align-items:center;gap:10px;padding:0 13px}.booking-picker-wrap>span{color:var(--primary);font-size:18px}.booking-picker-wrap input,.booking-picker-wrap .form-control{border:0!important;outline:0!important;box-shadow:none!important;width:100%;font:inherit;font-size:13px;background:transparent!important;padding:0!important;cursor:pointer}.picker-help{display:block;color:var(--muted);font-size:10px;margin-top:7px}.booking-slots-area{min-height:160px;border:1px solid #e1e8e8;background:#fff;padding:14px}.booking-empty-state{height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.booking-empty-state>span{font-size:22px;color:#9ab2b3;margin-bottom:6px}.booking-empty-state strong{font-size:12px}.booking-empty-state p{font-size:10px;color:var(--muted);margin:4px 0 0}.booking-loading{height:130px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:11px}.booking-loading i{width:18px;height:18px;border:2px solid #d9e7e6;border-top-color:var(--primary);border-radius:50%;animation:bookingSpin .7s linear infinite}@keyframes bookingSpin{to{transform:rotate(360deg)}}.booking-slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.booking-slot{display:flex;flex-direction:column;align-items:flex-start;padding:11px 12px;min-height:78px;border:1px solid #dce6e6;background:#fff;font:inherit;cursor:pointer;transition:.16s}.booking-slot:hover{border-color:#9ebebb;background:#fbfefe}.booking-slot.is-selected{border-color:var(--primary);background:#eef9f7;box-shadow:0 0 0 2px rgba(15,125,120,.09)}.booking-slot span{text-transform:capitalize;font-size:9px;color:var(--muted)}.booking-slot strong{font-size:11px;margin:1px 0 5px}.booking-slot b{font-size:18px;color:#0d3a3d}.booking-summary{display:grid;grid-template-columns:1.15fr .85fr 1fr;border:1px solid var(--line);margin-bottom:20px}.booking-summary>div{padding:14px 16px;border-right:1px solid var(--line);display:flex;flex-direction:column}.booking-summary>div:last-child{border-right:0}.booking-summary span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}.booking-summary strong{font-size:11px}.booking-note-label{display:flex;justify-content:space-between;font-size:11px;font-weight:800;margin:0 0 7px}.booking-note-label small{font-weight:500;color:var(--muted)}.booking-note{width:100%;border:1px solid #cfdcdc;padding:12px 13px;font:inherit;font-size:12px;resize:vertical;outline:0}.booking-note:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(15,125,120,.08)}.booking-submit{width:100%;min-height:58px;margin-top:16px;border:0;background:#0f7d78;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font:inherit;cursor:pointer;transition:.18s}.booking-submit:not(:disabled):hover{background:#0a615d}.booking-submit:disabled{background:#c9d6d5;cursor:not-allowed}.booking-submit span{font-size:13px;font-weight:800}.booking-submit small{font-size:9px;opacity:.8}.booking-field-error,.booking-validation{display:block;color:#a64040;font-size:10px;margin-top:7px}.booking-validation:empty{display:none}.booking-side-card{position:sticky;top:136px;background:#fff;border:1px solid var(--line);padding:22px}.booking-side-logo{padding:8px 0 20px;border-bottom:1px solid var(--line);margin-bottom:18px}.booking-side-logo img{width:220px;max-width:100%;height:auto}.booking-side-card h3{font-size:17px;margin:0 0 14px}.booking-info-row{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #edf1f1}.booking-info-row span{font-size:10px;color:var(--muted)}.booking-info-row strong{font-size:10px;text-align:right}.booking-side-card>p{font-size:10px;color:var(--muted);margin:16px 0}.booking-side-link,.booking-whatsapp-link{display:block;font-size:11px;font-weight:800;padding:10px 0}.booking-side-link{color:var(--primary)}.booking-whatsapp-link{border-top:1px solid var(--line);color:#1a874c}.flatpickr-calendar{font-family:Manrope,system-ui,sans-serif!important;box-shadow:0 18px 50px rgba(16,42,45,.16)!important;border:1px solid #dbe5e5!important}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange{background:#0f7d78!important;border-color:#0f7d78!important}.flatpickr-day.today{border-color:#b8974e!important}

.patient-portal-hero{background:linear-gradient(135deg,#0a3437,#0f4a4b);padding:42px 0;color:#fff}.patient-portal-head{display:flex;align-items:center;justify-content:space-between;gap:35px}.patient-welcome{display:flex;align-items:center;gap:18px}.patient-welcome img{width:74px;height:74px;object-fit:contain;background:#fff;border-radius:12px;padding:5px}.patient-welcome span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#9dc8c6}.patient-welcome h1{font-size:31px;margin:3px 0 3px;letter-spacing:-.035em}.patient-welcome p{font-size:11px;color:#bdd0d1;margin:0}.patient-portal-actions{display:flex;gap:8px}.patient-primary-action,.patient-secondary-action{display:flex;align-items:center;gap:11px;min-width:190px;padding:13px 15px;border:1px solid rgba(255,255,255,.18)}.patient-primary-action{background:#fff;color:#123638}.patient-secondary-action{background:rgba(255,255,255,.06);color:#fff}.patient-primary-action>span,.patient-secondary-action>span{font-size:20px}.patient-primary-action div,.patient-secondary-action div{display:flex;flex-direction:column}.patient-primary-action strong,.patient-secondary-action strong{font-size:11px}.patient-primary-action small,.patient-secondary-action small{font-size:8px;opacity:.7;margin-top:2px}.patient-portal-section{background:#f5f7f7;padding:30px 0 90px}.patient-portal-grid{display:grid;grid-template-columns:245px minmax(0,1fr);gap:20px;align-items:start}.patient-account-card{position:sticky;top:136px;background:#fff;border:1px solid var(--line);padding:20px}.patient-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#eaf5f3;color:#0f7d78;font-weight:800;margin-bottom:10px}.patient-account-card>strong{display:block;font-size:13px}.patient-account-card>span{display:block;font-size:9px;color:var(--muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis}.patient-account-stats{display:grid;grid-template-columns:1fr 1fr;margin:17px 0;border:1px solid var(--line)}.patient-account-stats div{padding:10px;border-right:1px solid var(--line);display:flex;flex-direction:column}.patient-account-stats div:last-child{border-right:0}.patient-account-stats b{font-size:16px}.patient-account-stats small{font-size:8px;color:var(--muted)}.patient-mini-nav{display:grid;gap:2px}.patient-mini-nav a{font-size:10px;font-weight:700;padding:9px 10px;color:#526b6e}.patient-mini-nav a:hover,.patient-mini-nav a.is-active{background:#eef7f6;color:#0f7d78}.patient-portal-content{min-width:0}.patient-alert{padding:12px 14px;margin-bottom:12px;border:1px solid;font-size:10px}.patient-alert.success{background:#eff9f3;border-color:#cde9d8;color:#236445}.patient-alert.danger{background:#fff1f1;border-color:#efcece;color:#8b3434}.next-appointment-card{display:grid;grid-template-columns:110px minmax(0,1fr);background:#fff;border:1px solid var(--line);box-shadow:0 12px 35px rgba(16,42,45,.05);margin-bottom:18px}.next-appointment-date{background:#0d3a3d;color:#fff;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center}.next-appointment-date span{text-transform:uppercase;font-size:9px;color:#a8c9c7}.next-appointment-date strong{font-size:36px;line-height:1.05}.next-appointment-date b{font-size:16px;color:#f0cd7d;margin-top:6px}.next-appointment-copy{padding:22px 24px}.next-appointment-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.next-appointment-top small{font-size:9px;color:var(--muted)}.next-appointment-copy h2{font-size:21px;margin:10px 0 3px}.next-appointment-copy>p{font-size:10px;color:var(--muted);margin:0 0 15px}.next-appointment-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.next-appointment-actions form{margin:0}.patient-inline-action{display:inline-flex;align-items:center;border:1px solid #d8e3e3;background:#fff;padding:7px 10px;font:inherit;font-size:9px;font-weight:800;color:#0f7d78;cursor:pointer}.patient-inline-action.muted{color:#526b6e}.patient-inline-action.danger{color:#9e3f3f}.patient-no-appointment{background:#fff;border:1px solid var(--line);padding:24px;display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:18px}.patient-no-icon{width:50px;height:50px;background:#eef7f6;color:#0f7d78;display:grid;place-items:center;font-size:22px}.patient-no-appointment span{font-size:9px;text-transform:uppercase;color:var(--muted)}.patient-no-appointment h2{font-size:18px;margin:3px 0}.patient-no-appointment p{font-size:10px;color:var(--muted);margin:0}.patient-section-card{background:#fff;border:1px solid var(--line);margin-bottom:18px}.patient-section-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}.patient-section-head span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.patient-section-head h2{font-size:16px;margin:2px 0 0}.patient-section-head>a{font-size:9px;font-weight:800;color:var(--primary)}.patient-appointment-cards{display:grid}.patient-appointment-row{display:grid;grid-template-columns:75px minmax(0,1fr) auto;align-items:center;gap:15px;padding:14px 18px;border-bottom:1px solid #edf1f1}.patient-appointment-row:last-child{border-bottom:0}.patient-appointment-row time{display:grid;grid-template-columns:auto 1fr;align-items:end;border-right:1px solid var(--line);padding-right:14px}.patient-appointment-row time strong{font-size:22px;line-height:1}.patient-appointment-row time span{font-size:8px;text-transform:uppercase;color:var(--muted);padding-left:4px}.patient-appointment-row time b{grid-column:1/3;font-size:11px;color:#8b7441;margin-top:4px}.patient-appointment-row-main h3{font-size:12px;margin:5px 0 1px}.patient-appointment-row-main p{font-size:9px;color:var(--muted);margin:0}.patient-row-menu{border:1px solid #efdada;background:#fff;color:#9e3f3f;padding:6px 9px;font:inherit;font-size:9px;font-weight:800;cursor:pointer}.patient-list-empty{padding:24px;color:var(--muted);font-size:10px}.patient-history-list article{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 18px;border-bottom:1px solid #edf1f1}.patient-history-list article:last-child{border-bottom:0}.patient-history-list article>div{display:flex;flex-direction:column}.patient-history-list strong{font-size:11px}.patient-history-list div span{font-size:9px;color:var(--muted);margin-top:2px}.patient-mobile-bar{display:none}

@media(max-width:1000px){.patient-booking-hero-inner{align-items:flex-start}.booking-doctor-card{width:290px;flex-basis:290px}.booking-shell{grid-template-columns:1fr}.booking-side-card{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.booking-side-logo,.booking-side-card h3,.booking-side-card>p,.booking-side-link,.booking-whatsapp-link{grid-column:1/3}.patient-portal-head{align-items:flex-start}.patient-portal-actions{flex-direction:column}.patient-portal-grid{grid-template-columns:210px minmax(0,1fr)}}
@media(max-width:760px){body{padding-bottom:62px}.patient-booking-hero{padding:30px 0 26px}.patient-booking-hero-inner{display:block}.patient-booking-hero h1{font-size:36px}.patient-booking-hero p{font-size:12px}.booking-doctor-card{width:100%;margin-top:20px}.patient-booking-section{padding:18px 0 78px}.booking-shell{display:block}.booking-main-card{border-left:0;border-right:0}.booking-step{padding:22px 16px}.treatment-choice-grid{grid-template-columns:1fr}.treatment-choice{min-height:78px}.booking-mode-grid{grid-template-columns:1fr}.booking-mode{min-height:auto;display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;column-gap:8px;padding:12px}.booking-mode .mode-icon{grid-row:1/3;margin:0}.booking-mode strong{align-self:end}.booking-mode small{align-self:start}.mode-panel-intro{display:block}.mode-panel-intro span{display:block;margin-top:4px}.booking-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-summary{grid-template-columns:1fr}.booking-summary>div{border-right:0;border-bottom:1px solid var(--line)}.booking-summary>div:last-child{border-bottom:0}.booking-submit{align-items:flex-start;flex-direction:column;justify-content:center;gap:2px}.booking-side-card{display:block;margin-top:14px}.patient-portal-hero{padding:26px 0}.patient-portal-head{display:block}.patient-welcome{align-items:flex-start}.patient-welcome img{width:58px;height:58px}.patient-welcome h1{font-size:25px}.patient-welcome p{font-size:10px}.patient-portal-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:20px}.patient-primary-action,.patient-secondary-action{min-width:0}.patient-portal-section{padding:16px 0 84px}.patient-portal-grid{display:block}.patient-account-card{position:static;margin-bottom:12px;padding:14px;display:grid;grid-template-columns:42px 1fr;column-gap:10px}.patient-avatar{grid-row:1/4}.patient-account-stats{grid-column:1/3}.patient-mini-nav{display:none}.next-appointment-card{grid-template-columns:82px minmax(0,1fr)}.next-appointment-date{padding:13px 8px}.next-appointment-date strong{font-size:30px}.next-appointment-copy{padding:16px}.next-appointment-copy h2{font-size:17px}.next-appointment-top{align-items:flex-start;flex-direction:column-reverse}.patient-no-appointment{grid-template-columns:46px 1fr}.patient-no-appointment>.btn{grid-column:1/3;width:100%}.patient-appointment-row{grid-template-columns:62px minmax(0,1fr);padding:12px}.patient-appointment-row>form{grid-column:1/3}.patient-row-menu{width:100%}.patient-history-list article{align-items:flex-start}.patient-mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:95;height:62px;background:#fff;border-top:1px solid #dbe5e5;display:grid;grid-template-columns:1fr 1fr 1fr;padding:5px 12px max(5px,env(safe-area-inset-bottom))}.patient-mobile-bar a{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#627779}.patient-mobile-bar a span{font-size:17px}.patient-mobile-bar a small{font-size:8px;font-weight:700;margin-top:1px}.patient-mobile-bar .patient-mobile-new{color:#0f7d78}.patient-experience .whatsapp-float{display:none}}
@media(max-width:430px){.booking-slot-grid{grid-template-columns:1fr 1fr}.patient-portal-actions{grid-template-columns:1fr}.patient-primary-action,.patient-secondary-action{padding:11px}.next-appointment-actions{display:grid;grid-template-columns:1fr 1fr}.next-appointment-actions form{grid-column:1/3}.patient-inline-action{justify-content:center}.next-appointment-actions form .patient-inline-action{width:100%}.patient-section-head{padding:15px}.patient-history-list article{padding:12px 14px}}

/* ============================================================
   Patient UX v6 — compact mobile-first appointment wizard
   ============================================================ */
.patient-booking-wizard-page .topline{display:none}.patient-booking-wizard-page .site-footer,.patient-booking-wizard-page .whatsapp-float{display:none!important}.patient-booking-wizard-page .nav-wrap{height:74px}.patient-booking-wizard-page{background:#f4f6f6}.appointment-wizard-shell{min-height:calc(100dvh - 74px);display:grid;place-items:center;padding:22px}.appointment-wizard-card{width:min(840px,100%);height:min(680px,calc(100dvh - 118px));min-height:560px;background:#fff;border:1px solid #dce5e5;box-shadow:0 24px 70px rgba(15,48,51,.10);display:flex;flex-direction:column;overflow:hidden}.appointment-wizard-header{height:62px;flex:0 0 62px;border-bottom:1px solid #e4eaea;display:flex;align-items:center;justify-content:space-between;padding:0 18px}.wizard-close,.wizard-help{font-size:11px;font-weight:800;color:#526b6e}.wizard-close{width:34px;height:34px;display:grid;place-items:center;border:1px solid #e0e7e7;font-size:17px}.wizard-help{color:var(--primary)}.wizard-brand{display:flex;align-items:center;gap:9px}.wizard-brand img{width:38px;height:38px;object-fit:contain}.wizard-brand div{display:flex;flex-direction:column}.wizard-brand strong{font-size:12px}.wizard-brand span{font-size:9px;color:var(--muted)}.wizard-progress{height:58px;flex:0 0 58px;display:flex;align-items:center;justify-content:center;padding:0 22px;background:#fbfcfc;border-bottom:1px solid #e9eeee}.wizard-progress-item{border:0;background:none;padding:0;display:flex;align-items:center;gap:6px;font:inherit;color:#9aabab;cursor:default}.wizard-progress-item b{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;border:1px solid #d2dddd;background:#fff;font-size:9px}.wizard-progress-item span{font-size:9px;font-weight:800}.wizard-progress-item.is-active{color:#123b3d}.wizard-progress-item.is-active b{background:var(--primary);border-color:var(--primary);color:#fff}.wizard-progress-item.is-done{color:#58797a;cursor:pointer}.wizard-progress-item.is-done b{background:#e8f5f3;border-color:#b9d8d5;color:var(--primary)}.wizard-progress>i{width:46px;height:1px;background:#dde5e5;margin:0 8px}.appointment-wizard-form{display:flex;flex:1;min-height:0;flex-direction:column}.wizard-server-error{margin:8px 18px 0;padding:8px 10px;background:#fff2f2;border:1px solid #efd5d5;color:#8f3d3d;font-size:10px}.wizard-server-error:empty{display:none}.wizard-stage-wrap{flex:1;min-height:0;position:relative}.wizard-stage{display:none;height:100%;overflow-y:auto;padding:26px 32px 22px;overscroll-behavior:contain}.wizard-stage.is-active{display:block}.wizard-stage-heading{margin:0 auto 20px;max-width:720px}.wizard-stage-heading>span,.wizard-stage-heading>div>span{font-size:9px;color:#8b7441;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.wizard-stage-heading h1{font-size:27px;line-height:1.15;letter-spacing:-.035em;margin:4px 0 5px}.wizard-stage-heading p{font-size:11px;color:var(--muted);margin:0}.wizard-stage-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.wizard-change-link{border:0;background:none;color:var(--primary);font:inherit;font-size:10px;font-weight:800;cursor:pointer;padding:6px 0}.wizard-treatment-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-width:720px;margin:auto}.wizard-treatment{position:relative;min-height:82px;border:1px solid #dbe5e5;background:#fff;padding:11px 12px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;font:inherit;cursor:pointer;transition:.16s}.wizard-treatment:hover{border-color:#a8c5c3;background:#fcfefe}.wizard-treatment.is-selected{border-color:var(--primary);background:#eff9f7;box-shadow:inset 3px 0 0 var(--primary)}.wizard-treatment-icon{width:36px;height:36px;border-radius:8px;background:#eef7f6;color:var(--primary);display:grid;place-items:center}.wizard-treatment-icon svg{width:21px}.wizard-treatment-main{min-width:0;display:flex;flex-direction:column}.wizard-treatment-main strong{font-size:11px}.wizard-treatment-main small{font-size:8px;line-height:1.35;color:var(--muted);margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.wizard-treatment-duration{font-size:8px;font-weight:800;color:#8b7441;white-space:nowrap}.wizard-treatment-check{position:absolute;right:7px;top:7px;width:17px;height:17px;border-radius:50%;display:none;place-items:center;background:var(--primary);color:#fff;font-size:9px}.wizard-treatment.is-selected .wizard-treatment-check{display:grid}.wizard-calendar-panel{max-width:430px;margin:0 auto}.wizard-date-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.appointment-wizard-card .flatpickr-calendar.inline{width:100%;max-width:360px;margin:0 auto;box-shadow:none!important;border:1px solid #e0e8e8!important}.appointment-wizard-card .flatpickr-rContainer,.appointment-wizard-card .flatpickr-days,.appointment-wizard-card .dayContainer{width:100%;max-width:none}.wizard-date-status{max-width:360px;margin:10px auto 0;border:1px solid #dfe7e7;padding:9px 11px;display:flex;align-items:center;gap:9px;background:#fff}.wizard-date-status-icon{width:28px;height:28px;border-radius:50%;background:#f0f5f5;display:grid;place-items:center;font-size:11px;color:#657b7d}.wizard-date-status div{display:flex;flex-direction:column}.wizard-date-status strong{font-size:10px}.wizard-date-status small{font-size:8px;color:var(--muted);margin-top:1px}.wizard-date-status.is-loading .wizard-date-status-icon{animation:bookingSpin .8s linear infinite}.wizard-date-status.is-success{border-color:#c9e4d7;background:#f6fcf9}.wizard-date-status.is-success .wizard-date-status-icon{background:#e5f5ec;color:#29704e}.wizard-date-status.is-empty{border-color:#ecd8d3;background:#fff9f7}.wizard-date-status.is-empty .wizard-date-status-icon{background:#f9e9e5;color:#9c4c3f}.wizard-time-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;max-width:620px;margin:0 auto}.wizard-time{height:49px;border:1px solid #d7e2e2;background:#fff;font:inherit;cursor:pointer;color:#143b3d;transition:.14s}.wizard-time strong{font-size:13px}.wizard-time:hover{border-color:#9bbebb;background:#f8fcfb}.wizard-time.is-selected{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 7px 18px rgba(15,125,120,.18)}.wizard-time-state,.wizard-time-empty{max-width:620px;margin:0 auto;min-height:180px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:var(--muted)}.wizard-time-state i{width:22px;height:22px;border:2px solid #d9e7e6;border-top-color:var(--primary);border-radius:50%;animation:bookingSpin .7s linear infinite;margin-bottom:8px}.wizard-time-state span{font-size:10px}.wizard-time-empty>span{font-size:25px;color:#9aaeaf}.wizard-time-empty strong{font-size:12px;color:#294a4c;margin-top:5px}.wizard-time-empty p{font-size:9px;margin:4px 0 10px}.wizard-time-empty button{border:1px solid #cddddd;background:#fff;color:var(--primary);font:inherit;font-size:9px;font-weight:800;padding:8px 12px;cursor:pointer}.wizard-confirm-card{max-width:620px;margin:0 auto 16px;border:1px solid #dce5e5}.wizard-confirm-doctor{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#f8fbfb;border-bottom:1px solid #e2e9e9}.wizard-confirm-doctor img{width:42px;height:42px;object-fit:contain}.wizard-confirm-doctor div{display:flex;flex-direction:column}.wizard-confirm-doctor span,.wizard-confirm-row>span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.wizard-confirm-doctor strong{font-size:11px}.wizard-confirm-row{display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid #edf1f1}.wizard-confirm-row:last-child{border-bottom:0}.wizard-confirm-row strong{font-size:11px}.wizard-confirm-row button{border:0;background:none;color:var(--primary);font:inherit;font-size:9px;font-weight:800;cursor:pointer}.wizard-note-label{max-width:620px;margin:0 auto 6px;display:flex;justify-content:space-between;font-size:10px;font-weight:800}.wizard-note-label small{font-weight:500;color:var(--muted)}.wizard-note{display:block;width:100%;max-width:620px;margin:auto;border:1px solid #cfdcdc;padding:10px 12px;font:inherit;font-size:11px;resize:none;outline:0}.wizard-note:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(15,125,120,.07)}.wizard-confirm-info{max-width:620px;margin:8px auto 0;font-size:8px;color:var(--muted)}.wizard-field-error{display:block;max-width:720px;margin:6px auto 0;color:#a64040;font-size:9px}.wizard-actions{height:70px;flex:0 0 70px;border-top:1px solid #e1e8e8;background:#fff;display:grid;grid-template-columns:140px minmax(0,1fr) 160px;align-items:center;gap:12px;padding:10px 18px}.wizard-back,.wizard-next,.wizard-submit{height:46px;border:0;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.wizard-back{border:1px solid #d8e2e2;background:#fff;color:#496568}.wizard-back:disabled{opacity:.35;cursor:not-allowed}.wizard-next,.wizard-submit{background:var(--primary);color:#fff}.wizard-next:disabled{background:#cbd7d6;cursor:not-allowed}.wizard-submit{grid-column:3}.wizard-selection-mini{min-width:0;display:flex;flex-direction:column;align-items:center}.wizard-selection-mini span{font-size:7px;text-transform:uppercase;letter-spacing:.09em;color:#98a8a9}.wizard-selection-mini strong{max-width:100%;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#405f61}

/* Patient dashboard v6 */
.patient-dashboard-page{background:#f4f6f6}.patient-dashboard-page .whatsapp-float{display:none!important}.patient-dashboard-shell{min-height:calc(100dvh - 116px);padding:28px 0 90px}.patient-dashboard-container{max-width:920px}.patient-dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}.patient-dashboard-brand{display:flex;align-items:center;gap:12px}.patient-dashboard-brand img{width:54px;height:54px;object-fit:contain;background:#fff;border:1px solid #e1e8e8}.patient-dashboard-brand>div{display:flex;flex-direction:column}.patient-dashboard-brand span{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#8b7441;font-weight:800}.patient-dashboard-brand h1{font-size:24px;line-height:1.15;margin:2px 0}.patient-dashboard-brand p{font-size:9px;color:var(--muted);margin:0}.patient-new-appointment{height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 14px;background:var(--primary);color:#fff;font-size:10px}.patient-new-appointment span{font-size:17px}.patient-next-card{background:#fff;border:1px solid #dbe5e5;margin-bottom:14px}.patient-next-label{height:39px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid #e7ecec}.patient-next-label>span:first-child{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.patient-next-main{display:grid;grid-template-columns:72px minmax(0,1fr) 130px;align-items:center;gap:16px;padding:16px}.patient-next-date{height:70px;background:#0d3a3d;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.patient-next-date strong{font-size:27px;line-height:1}.patient-next-date span{font-size:8px;text-transform:uppercase;color:#b8d1d0;margin-top:3px}.patient-next-copy h2{font-size:17px;margin:0 0 3px}.patient-next-copy p{font-size:9px;color:var(--muted);margin:0 0 5px}.patient-next-copy b{font-size:19px;color:#8b7441}.patient-next-doctor{display:flex;align-items:center;gap:7px;border-left:1px solid #e5ebeb;padding-left:14px}.patient-next-doctor img{width:34px;height:34px;object-fit:contain}.patient-next-doctor span{font-size:9px;font-weight:700}.patient-next-actions{display:flex;align-items:center;gap:6px;padding:10px 16px;border-top:1px solid #edf1f1}.patient-next-actions a,.patient-next-actions button{border:1px solid #dce5e5;background:#fff;color:#526b6e;height:31px;padding:0 10px;display:inline-flex;align-items:center;font:inherit;font-size:8px;font-weight:800;cursor:pointer}.patient-next-actions form{margin-left:auto}.patient-next-actions form button{color:#9b4141;border-color:#ecd9d9}.patient-empty-next{background:#fff;border:1px solid #dbe5e5;padding:15px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.patient-empty-next>div{display:flex;align-items:center;gap:11px}.patient-empty-next>div>span{width:42px;height:42px;background:#eef7f6;color:var(--primary);display:grid;place-items:center;font-size:19px}.patient-empty-next strong{font-size:11px}.patient-empty-next p{font-size:8px;color:var(--muted);margin:2px 0 0}.patient-empty-next a{font-size:9px;font-weight:800;color:var(--primary)}.patient-dashboard-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.patient-dashboard-quick>a{background:#fff;border:1px solid #dbe5e5;min-height:62px;padding:10px 12px;display:flex;align-items:center;gap:10px}.patient-dashboard-quick>a>span{font-size:19px;color:var(--primary)}.patient-dashboard-quick div{display:flex;flex-direction:column}.patient-dashboard-quick strong{font-size:10px}.patient-dashboard-quick small{font-size:8px;color:var(--muted)}.patient-simple-section{background:#fff;border:1px solid #dbe5e5;margin-bottom:14px}.patient-simple-head{height:51px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border-bottom:1px solid #e7eded}.patient-simple-head span{font-size:7px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.patient-simple-head h2{font-size:13px;margin:1px 0 0}.patient-simple-head>b{font-size:13px;color:var(--primary)}.patient-simple-list article{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid #edf1f1}.patient-simple-list article:last-child{border-bottom:0}.patient-simple-list time{display:flex;flex-direction:column;border-right:1px solid #e4eaea}.patient-simple-list time strong{font-size:14px}.patient-simple-list time span{font-size:7px;text-transform:uppercase;color:var(--muted)}.patient-simple-list h3{font-size:10px;margin:0 0 2px}.patient-simple-list p{font-size:8px;color:var(--muted);margin:0}.patient-simple-empty{padding:18px 15px;font-size:9px;color:var(--muted)}

@media(max-width:760px){.patient-booking-wizard-page{padding-bottom:0!important}.patient-booking-wizard-page .site-header .main-nav,.patient-booking-wizard-page .site-header .nav-actions,.patient-booking-wizard-page .site-header .menu-toggle{display:none!important}.patient-booking-wizard-page .site-header .nav-wrap{justify-content:center;height:58px}.patient-booking-wizard-page .site-header .brand{transform:scale(.82)}.appointment-wizard-shell{min-height:calc(100dvh - 58px);padding:0;display:block}.appointment-wizard-card{width:100%;height:calc(100dvh - 58px);min-height:0;border:0;box-shadow:none}.appointment-wizard-header{height:52px;flex-basis:52px;padding:0 12px}.wizard-brand img{width:32px;height:32px}.wizard-brand strong{font-size:10px}.wizard-brand span{font-size:8px}.wizard-progress{height:46px;flex-basis:46px;padding:0 10px}.wizard-progress-item{gap:3px}.wizard-progress-item b{width:22px;height:22px;font-size:8px}.wizard-progress-item span{font-size:7px}.wizard-progress>i{width:18px;margin:0 3px}.wizard-stage{padding:17px 14px 14px}.wizard-stage-heading{margin-bottom:13px}.wizard-stage-heading h1{font-size:21px;margin-top:3px}.wizard-stage-heading p{font-size:9px;line-height:1.4}.wizard-treatment-grid{grid-template-columns:1fr 1fr;gap:7px}.wizard-treatment{min-height:68px;padding:8px;grid-template-columns:30px minmax(0,1fr);gap:7px}.wizard-treatment-icon{width:29px;height:29px}.wizard-treatment-icon svg{width:18px}.wizard-treatment-main strong{font-size:9px;line-height:1.25}.wizard-treatment-main small{display:none}.wizard-treatment-duration{grid-column:2;font-size:7px;margin-top:-5px}.wizard-treatment-check{right:5px;top:5px;width:15px;height:15px}.wizard-calendar-panel{max-width:340px}.appointment-wizard-card .flatpickr-calendar.inline{max-width:318px}.wizard-date-status{max-width:318px}.wizard-stage-heading-row{align-items:flex-start}.wizard-time-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.wizard-time{height:44px}.wizard-time strong{font-size:12px}.wizard-confirm-row{grid-template-columns:92px minmax(0,1fr) auto;padding:10px}.wizard-confirm-doctor{padding:9px 10px}.wizard-confirm-doctor img{width:35px;height:35px}.wizard-note{font-size:10px}.wizard-actions{height:64px;flex-basis:64px;grid-template-columns:88px minmax(0,1fr) 105px;padding:8px 10px;gap:7px}.wizard-back,.wizard-next,.wizard-submit{height:46px;font-size:9px}.wizard-submit{grid-column:3}.wizard-selection-mini strong{font-size:7px}.patient-dashboard-page{padding-bottom:62px!important}.patient-dashboard-shell{min-height:calc(100dvh - 74px);padding:16px 0 76px}.patient-dashboard-header{align-items:flex-start;margin-bottom:12px}.patient-dashboard-brand img{width:45px;height:45px}.patient-dashboard-brand h1{font-size:20px}.patient-dashboard-brand p{display:none}.patient-new-appointment{width:43px;padding:0;justify-content:center}.patient-new-appointment strong{display:none}.patient-next-main{grid-template-columns:60px minmax(0,1fr);gap:11px;padding:12px}.patient-next-date{height:60px}.patient-next-doctor{grid-column:2;border-left:0;padding-left:0;margin-top:4px}.patient-next-actions{display:grid;grid-template-columns:1fr 1fr 1fr}.patient-next-actions a,.patient-next-actions button{justify-content:center;padding:0 5px}.patient-next-actions form{margin:0}.patient-next-actions form button{width:100%}.patient-dashboard-quick{gap:6px}.patient-dashboard-quick>a{min-height:58px;padding:8px;gap:6px}.patient-dashboard-quick>a>span{font-size:16px}.patient-dashboard-quick strong{font-size:9px}.patient-dashboard-quick small{font-size:7px}.patient-simple-list article{grid-template-columns:55px minmax(0,1fr);padding:10px}.patient-simple-list article>.status{grid-column:2;justify-self:start;margin-top:2px}.patient-history-compact{margin-bottom:0}}
@media(max-width:390px){.wizard-treatment-grid{grid-template-columns:1fr}.wizard-treatment{min-height:57px;grid-template-columns:28px minmax(0,1fr) auto}.wizard-treatment-duration{grid-column:auto;margin:0}.wizard-time-grid{grid-template-columns:repeat(4,1fr)}.patient-dashboard-quick{grid-template-columns:1fr 1fr 1fr}.patient-dashboard-quick small{display:none}}

/* ============================================================
   Patient Booking UX v7 — strict 4-step flow + availability calendar
   ============================================================ */
.patient-booking-v7-page{background:#f3f6f6;overflow:hidden}.patient-booking-v7-page .topline,.patient-booking-v7-page .site-footer,.patient-booking-v7-page .whatsapp-float,.patient-booking-v7-page .night-modal{display:none!important}.patient-booking-v7-page .nav-wrap{height:62px}.patient-booking-v7-page .main-nav,.patient-booking-v7-page .nav-actions,.patient-booking-v7-page .menu-toggle{display:none!important}.patient-booking-v7-page .nav-wrap{justify-content:center}.patient-booking-v7-page .brand{transform:scale(.88)}
.booking-v7-shell{height:calc(100dvh - 62px);display:grid;place-items:center;padding:14px}.booking-v7-card{width:min(780px,100%);height:min(650px,calc(100dvh - 90px));min-height:540px;background:#fff;border:1px solid #dce6e6;box-shadow:0 18px 55px rgba(15,48,51,.10);display:flex;flex-direction:column;overflow:hidden}.booking-v7-header{height:54px;flex:0 0 54px;border-bottom:1px solid #e5ecec;display:flex;align-items:center;justify-content:space-between;padding:0 15px}.booking-v7-close{width:32px;height:32px;display:grid;place-items:center;border:1px solid #dfe7e7;font-size:16px;color:#4d696b}.booking-v7-help{font-size:10px;font-weight:800;color:var(--primary)}.booking-v7-brand{display:flex;align-items:center;gap:8px}.booking-v7-brand img{width:34px;height:34px;object-fit:contain}.booking-v7-brand>div{display:flex;flex-direction:column}.booking-v7-brand strong{font-size:11px}.booking-v7-brand span{font-size:8px;color:var(--muted)}
.booking-v7-stepper{height:48px;flex:0 0 48px;border-bottom:1px solid #e9eeee;background:#fafcfc;display:flex;align-items:center;justify-content:center;padding:0 16px}.booking-v7-step{display:flex;align-items:center;gap:5px;color:#9aa9aa}.booking-v7-step b{width:22px;height:22px;border-radius:50%;border:1px solid #d2dddd;background:#fff;display:grid;place-items:center;font-size:8px}.booking-v7-step span{font-size:8px;font-weight:800}.booking-v7-step.is-active{color:#183f41}.booking-v7-step.is-active b{background:var(--primary);border-color:var(--primary);color:#fff}.booking-v7-step.is-done{color:#4f7475}.booking-v7-step.is-done b{background:#e8f5f3;border-color:#b8d9d5;color:var(--primary)}.booking-v7-stepper>i{width:38px;height:1px;background:#dce5e5;margin:0 7px}
.booking-v7-form{flex:1;min-height:0;display:flex;flex-direction:column}.booking-v7-server-error{margin:7px 14px 0;padding:7px 9px;background:#fff2f2;border:1px solid #efd7d7;color:#8f3e3e;font-size:9px}.booking-v7-server-error:empty{display:none}.booking-v7-guard{margin:7px 14px 0;padding:8px 10px;background:#fff7e9;border:1px solid #ead9b4;color:#76591e;font-size:9px;font-weight:700}.booking-v7-stage-wrap{flex:1;min-height:0;position:relative}.booking-v7-stage{display:none;height:100%;overflow:auto;padding:18px 25px 16px;overscroll-behavior:contain}.booking-v7-stage.is-active{display:block}.booking-v7-heading{max-width:660px;margin:0 auto 14px}.booking-v7-heading>span,.booking-v7-heading>div>span{font-size:8px;color:#9a7e40;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.booking-v7-heading h1{font-size:22px;line-height:1.18;letter-spacing:-.03em;margin:3px 0 4px}.booking-v7-heading p{font-size:9px;color:var(--muted);margin:0;line-height:1.45}.booking-v7-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:15px}.booking-v7-change{border:0;background:none;color:var(--primary);font:inherit;font-size:9px;font-weight:800;cursor:pointer;padding:5px 0;white-space:nowrap}
.booking-v7-services{max-width:660px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:7px}.booking-v7-service{min-height:58px;position:relative;border:1px solid #dce5e5;background:#fff;padding:8px 9px;display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:8px;text-align:left;font:inherit;cursor:pointer;transition:.15s}.booking-v7-service:hover{border-color:#abc7c5;background:#fbfefe}.booking-v7-service.is-selected{border-color:var(--primary);background:#eff8f7;box-shadow:inset 3px 0 0 var(--primary)}.booking-v7-service-icon{width:29px;height:29px;border-radius:7px;background:#edf7f5;color:var(--primary);display:grid;place-items:center}.booking-v7-service-icon svg{width:17px}.booking-v7-service-copy{min-width:0;display:flex;flex-direction:column}.booking-v7-service-copy strong{font-size:9px;line-height:1.2}.booking-v7-service-copy small{font-size:7px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-v7-service-duration{font-size:7px;font-weight:800;color:#8b7441;white-space:nowrap;padding-right:13px}.booking-v7-service-check{position:absolute;right:5px;top:5px;width:14px;height:14px;border-radius:50%;background:var(--primary);color:#fff;display:none;place-items:center;font-size:7px}.booking-v7-service.is-selected .booking-v7-service-check{display:grid}
.booking-v7-calendar-panel{max-width:360px;margin:0 auto}.booking-v7-calendar-loading{height:310px;border:1px solid #e0e8e8;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted)}.booking-v7-calendar-loading i,.booking-v7-time-loading i{width:20px;height:20px;border:2px solid #d8e5e4;border-top-color:var(--primary);border-radius:50%;animation:bookingSpin .7s linear infinite}.booking-v7-calendar-loading strong{font-size:10px;color:#365657;margin-top:8px}.booking-v7-calendar-loading span{font-size:8px;margin-top:2px}.booking-v7-date-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.booking-v7-card .flatpickr-calendar.inline{width:320px;max-width:100%;margin:0 auto;box-shadow:none!important;border:1px solid #dfe7e7!important;border-radius:6px}.booking-v7-card .flatpickr-rContainer,.booking-v7-card .flatpickr-days,.booking-v7-card .dayContainer{width:100%;max-width:100%;min-width:0}.booking-v7-card .flatpickr-months{height:42px}.booking-v7-card .flatpickr-current-month{font-size:13px;padding-top:10px}.booking-v7-card .flatpickr-weekdays{height:28px}.booking-v7-card span.flatpickr-weekday{font-size:8px}.booking-v7-card .flatpickr-day{height:34px;line-height:34px;max-width:none;font-size:9px;border-radius:5px;position:relative}.booking-v7-card .flatpickr-day.booking-day-available:not(.selected){background:#f1faf6;border-color:#d8eee3;color:#275d49}.booking-v7-card .flatpickr-day.booking-day-available:not(.selected):after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:#3f9d70;bottom:3px;left:50%;transform:translateX(-50%)}.booking-v7-card .flatpickr-day.booking-day-full.flatpickr-disabled{opacity:1;background:#fff1ef;border-color:#f0d9d4;color:#ad5b50}.booking-v7-card .flatpickr-day.booking-day-full.flatpickr-disabled:after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:#c96b5c;bottom:3px;left:50%;transform:translateX(-50%)}.booking-v7-card .flatpickr-day.booking-day-closed.flatpickr-disabled{opacity:1;background:#f2f4f4;color:#adb7b7;border-color:#e7ebeb}.booking-v7-card .flatpickr-day.selected{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important}.booking-v7-calendar-legend{display:flex;align-items:center;justify-content:center;gap:14px;margin:8px 0 0}.booking-v7-calendar-legend span{display:flex;align-items:center;gap:4px;font-size:7px;color:var(--muted)}.booking-v7-calendar-legend i{width:8px;height:8px;border-radius:2px}.booking-v7-calendar-legend i.is-available{background:#dff2e7}.booking-v7-calendar-legend i.is-full{background:#f6deda}.booking-v7-calendar-legend i.is-closed{background:#e7ebeb}.booking-v7-date-status{margin:7px auto 0;min-height:42px;border:1px solid #dfe7e7;padding:7px 9px;display:flex;align-items:center;gap:8px}.booking-v7-date-status-icon{width:25px;height:25px;border-radius:50%;background:#f0f5f5;display:grid;place-items:center;font-size:9px}.booking-v7-date-status>div{display:flex;flex-direction:column}.booking-v7-date-status strong{font-size:8px}.booking-v7-date-status small{font-size:7px;color:var(--muted)}.booking-v7-date-status.is-success{background:#f5fbf8;border-color:#cce5d7}.booking-v7-date-status.is-success .booking-v7-date-status-icon{background:#e2f4e9;color:#2e7855}.booking-v7-date-status.is-full{background:#fff8f6;border-color:#efd8d3;color:#94483f}
.booking-v7-time-loading,.booking-v7-time-empty{max-width:620px;height:150px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted)}.booking-v7-time-loading span{font-size:9px;margin-top:7px}.booking-v7-time-empty>span{font-size:22px}.booking-v7-time-empty strong{font-size:10px;color:#365657;margin-top:4px}.booking-v7-time-empty p{font-size:8px;margin:3px 0 8px}.booking-v7-time-empty button{border:1px solid #cfdede;background:#fff;color:var(--primary);font:inherit;font-size:8px;font-weight:800;padding:7px 10px;cursor:pointer}.booking-v7-time-picker{max-width:620px;margin:28px auto 0}.booking-v7-time-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.booking-v7-time-meta strong{font-size:10px}.booking-v7-time-meta span{font-size:7px;color:var(--muted)}.booking-v7-time-slider-row{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:7px}.booking-v7-time-nav{width:32px;height:38px;border:1px solid #d9e3e3;background:#fff;color:#365759;font:inherit;font-size:19px;cursor:pointer}.booking-v7-time-nav.swiper-button-disabled{opacity:.3;cursor:default}.booking-v7-time-swiper{width:100%;min-width:0;overflow:hidden}.booking-v7-time-swiper .swiper-slide{width:68px!important}.booking-v7-time-chip{width:68px;height:38px;border:1px solid #d8e3e3;background:#fff;color:#193f41;font:inherit;font-size:10px;font-weight:800;cursor:pointer;border-radius:5px;transition:.12s}.booking-v7-time-chip:hover{border-color:#9cbdba;background:#f7fbfa}.booking-v7-time-chip.is-selected{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 5px 12px rgba(15,125,120,.16)}.booking-v7-selected-time{margin:10px auto 0;max-width:190px;border:1px solid #cfe2df;background:#f4fbf9;height:43px;display:flex;align-items:center;justify-content:center;gap:9px}.booking-v7-selected-time span{font-size:7px;color:var(--muted)}.booking-v7-selected-time strong{font-size:15px;color:var(--primary)}
.booking-v7-summary{max-width:560px;margin:0 auto 12px;border:1px solid #dce5e5}.booking-v7-doctor{padding:10px 12px;background:#f8fbfb;display:flex;align-items:center;gap:8px;border-bottom:1px solid #e4eaea}.booking-v7-doctor img{width:34px;height:34px;object-fit:contain}.booking-v7-doctor>div{display:flex;flex-direction:column}.booking-v7-doctor span,.booking-v7-summary-row>span{font-size:7px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.booking-v7-doctor strong{font-size:9px}.booking-v7-summary-row{display:grid;grid-template-columns:105px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 12px;border-bottom:1px solid #edf1f1}.booking-v7-summary-row:last-child{border-bottom:0}.booking-v7-summary-row strong{font-size:9px}.booking-v7-summary-row button{border:0;background:none;color:var(--primary);font:inherit;font-size:8px;font-weight:800;cursor:pointer}.booking-v7-note-label{display:flex;justify-content:space-between;max-width:560px;margin:0 auto 5px;font-size:9px;font-weight:800}.booking-v7-note-label small{font-weight:500;color:var(--muted)}.booking-v7-note{display:block;width:100%;max-width:560px;height:70px;margin:auto;border:1px solid #cfdcdc;padding:8px 10px;font:inherit;font-size:9px;resize:none;outline:0}.booking-v7-note:focus{border-color:var(--primary)}.booking-v7-field-error{display:block;max-width:660px;margin:5px auto 0;color:#a64040;font-size:8px}
.booking-v7-actions{height:62px;flex:0 0 62px;border-top:1px solid #e2e9e9;background:#fff;display:grid;grid-template-columns:110px minmax(0,1fr) 125px;align-items:center;gap:9px;padding:8px 13px}.booking-v7-back,.booking-v7-next,.booking-v7-submit{height:43px;border:0;font:inherit;font-size:9px;font-weight:800;cursor:pointer}.booking-v7-back{border:1px solid #d8e2e2;background:#fff;color:#4a686a}.booking-v7-back:disabled{opacity:.3}.booking-v7-next,.booking-v7-submit{background:var(--primary);color:#fff}.booking-v7-next:disabled,.booking-v7-submit:disabled{background:#cbd7d6;cursor:not-allowed}.booking-v7-submit{grid-column:3}.booking-v7-mini{min-width:0;text-align:center;display:flex;flex-direction:column}.booking-v7-mini span{font-size:6px;text-transform:uppercase;letter-spacing:.1em;color:#9aa8a9}.booking-v7-mini strong{font-size:8px;color:#456466;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){.patient-booking-v7-page .nav-wrap{height:56px}.patient-booking-v7-page .brand{transform:scale(.78)}.booking-v7-shell{height:calc(100dvh - 56px);padding:0}.booking-v7-card{width:100%;height:100%;min-height:0;border:0;box-shadow:none}.booking-v7-header{height:48px;flex-basis:48px;padding:0 10px}.booking-v7-brand img{width:30px;height:30px}.booking-v7-brand strong{font-size:10px}.booking-v7-brand span{font-size:7px}.booking-v7-stepper{height:42px;flex-basis:42px;padding:0 8px}.booking-v7-step b{width:20px;height:20px}.booking-v7-step span{font-size:7px}.booking-v7-stepper>i{width:18px;margin:0 3px}.booking-v7-stage{padding:13px 12px 11px}.booking-v7-heading{margin-bottom:10px}.booking-v7-heading h1{font-size:18px}.booking-v7-heading p{font-size:8px}.booking-v7-services{grid-template-columns:1fr;gap:5px}.booking-v7-service{min-height:48px;padding:6px 7px;grid-template-columns:27px minmax(0,1fr) auto}.booking-v7-service-icon{width:25px;height:25px}.booking-v7-service-icon svg{width:15px}.booking-v7-service-copy strong{font-size:8px}.booking-v7-service-copy small{font-size:6.5px}.booking-v7-calendar-panel{max-width:330px}.booking-v7-calendar-loading{height:280px}.booking-v7-card .flatpickr-calendar.inline{width:300px}.booking-v7-card .flatpickr-day{height:31px;line-height:31px;font-size:8px}.booking-v7-calendar-legend{gap:10px}.booking-v7-calendar-legend span{font-size:6.5px}.booking-v7-time-picker{margin-top:18px}.booking-v7-time-slider-row{grid-template-columns:28px minmax(0,1fr) 28px;gap:5px}.booking-v7-time-nav{width:28px;height:36px}.booking-v7-time-swiper .swiper-slide{width:62px!important}.booking-v7-time-chip{width:62px;height:36px;font-size:9px}.booking-v7-selected-time{height:39px;margin-top:8px}.booking-v7-summary-row{grid-template-columns:85px minmax(0,1fr) auto}.booking-v7-actions{height:58px;flex-basis:58px;grid-template-columns:1fr 1fr;padding:7px 9px}.booking-v7-mini{display:none}.booking-v7-back,.booking-v7-next,.booking-v7-submit{height:44px;font-size:9px}.booking-v7-submit{grid-column:2}.booking-v7-heading-row{align-items:flex-start}.booking-v7-change{font-size:8px}.booking-v7-guard{margin:5px 9px 0}}
@media(max-width:380px){.booking-v7-step span{display:none}.booking-v7-stepper>i{width:26px}.booking-v7-card .flatpickr-calendar.inline{width:286px}.booking-v7-service-copy small{display:none}.booking-v7-service{min-height:43px}.booking-v7-time-meta span{display:none}}
/* v7 booking runs as a focused application screen; public header is intentionally hidden here. */
.patient-booking-v7-page .site-header{display:none!important}.booking-v7-shell{height:100dvh}.booking-v7-card{height:min(650px,calc(100dvh - 28px))}@media(max-width:760px){.booking-v7-shell{height:100dvh}.booking-v7-card{height:100dvh}}
.auth-row-links{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 16px}.auth-row-links .check-row{margin:0!important}.auth-row-links>a{font-size:12px;font-weight:800;color:var(--primary);white-space:nowrap}@media(max-width:420px){.auth-row-links{align-items:flex-start;flex-direction:column;gap:7px}.auth-row-links>a{white-space:normal}}
/* Public brand refresh aligned with the Dt. Bünyamin TURHAN public theme. */
:root{--primary:#0b3558;--primary-dark:#082846;--mint:#f6f1e5;--ink:#142a35;--surface:#f4f7f8;--line:#dfe6e8;--shadow:0 20px 56px rgba(8,40,70,.10)}
.topline{background:#061f38}.topline-inner{gap:24px}.topline-location{margin-right:auto}.topline-status{display:inline-flex;align-items:center;gap:7px;font-weight:700}.topline-status i{width:6px;height:6px;border-radius:50%;background:#d8a84e;box-shadow:0 0 0 3px rgba(216,168,78,.13)}.topline-status.is-open i{background:#58bd84;box-shadow:0 0 0 3px rgba(88,189,132,.14)}.brand-v8{height:70px;min-width:154px}.brand-v8-full{display:block;width:148px;height:64px;object-fit:contain}.brand-v8-mobile{display:none;align-items:center;gap:8px}.brand-v8-mobile img{width:38px;height:38px;object-fit:contain}.brand-v8-mobile b{font-size:12px;line-height:1.15;letter-spacing:.01em}.brand-v8-mobile small{display:block;font-size:7px;margin-top:3px;color:#7e8e94;letter-spacing:.08em}.nav-night-badge{font-size:9px;font-weight:800;color:#8b641d;background:#fff8e7;border:1px solid #ead7a7;padding:6px 8px;border-radius:4px;white-space:nowrap}.main-nav a:after{background:#c79a42}.btn-primary{background:#0b3558;box-shadow:0 10px 25px rgba(8,40,70,.18)}.btn-primary:hover{background:#082846}.eyebrow,.text-link,.service-card>a{color:#0b3558}.site-footer{background:#061f38}.footer-hours{display:block;font-size:11px;color:#c5d0d6;margin:9px 0}.mobile-contact-bar{display:none}
@media(max-width:1000px){.nav-night-badge{display:none}.brand-v8-full{width:126px}.brand-v8{min-width:130px}.topline-status{margin-left:auto}.topline-location{display:none}}
@media(max-width:640px){body:not(.patient-booking-v7-page):not(.patient-dashboard-page){padding-bottom:62px}.brand-v8{height:54px;min-width:0;max-width:210px}.brand-v8-full{display:none}.brand-v8-mobile{display:flex}.whatsapp-float{display:none!important}.mobile-contact-bar{position:fixed;left:0;right:0;bottom:0;z-index:100;display:grid;grid-template-columns:.8fr 1fr 1.2fr;height:62px;background:#fff;border-top:1px solid #dde5e8;box-shadow:0 -8px 30px rgba(8,40,70,.10)}.mobile-contact-bar a{display:flex;align-items:center;justify-content:center;gap:5px;flex-direction:column;font-size:9px;color:#183342;border-right:1px solid #edf0f1}.mobile-contact-bar a span{font-size:15px;line-height:1}.mobile-contact-bar a b{font-size:8px}.mobile-contact-bar .mobile-contact-primary{background:#082846;color:#fff;border-right:0}.patient-booking-v7-page .mobile-contact-bar,.patient-dashboard-page .mobile-contact-bar{display:none}.topline{display:none}.nav-wrap{height:62px}.menu-open .main-nav{top:62px}.site-footer{padding-bottom:28px}}

/* OAuth / modern account screens */
.auth-card-modern{max-width:560px}.auth-card-head{margin-bottom:20px}.auth-card-head h2{margin:0 0 6px}.auth-card-head p{margin:0;color:var(--muted);font-size:13px}.oauth-form{margin:0}.oauth-button{width:100%;min-height:50px;border:1px solid #d8e0e3;background:#fff;color:#1f2d33;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:11px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.oauth-button:hover{border-color:#b9c8ce;background:#fbfcfc;box-shadow:0 6px 18px rgba(8,40,70,.06)}.oauth-button:focus-visible{outline:3px solid rgba(15,125,120,.18);outline-offset:2px}.oauth-button svg{width:21px;height:21px;flex:0 0 auto}.oauth-note{margin:9px 0 0;text-align:center;color:var(--muted);font-size:11px}.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:#8a989d;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.auth-divider::before,.auth-divider::after{content:"";height:1px;background:#e2e8ea;flex:1}.auth-divider span{white-space:nowrap}.auth-help-box{margin:12px 0 18px;padding:12px 14px;border:1px solid #dfe7ea;background:#f7f9fa;border-radius:8px;color:#52646b;font-size:12px;line-height:1.55}

/* Compact night appointment popup for mobile screens. */
@media(max-width:640px){
  .night-modal{padding:10px 12px calc(72px + env(safe-area-inset-bottom));align-items:center}
  .night-modal-dialog{width:min(100%,360px);max-height:calc(100dvh - 92px);overflow-y:auto;padding:18px 16px 16px;border-radius:12px}
  .night-modal-close{right:10px;top:10px;width:32px;height:32px;font-size:20px}
  .night-modal-logo{margin-bottom:10px;padding-right:36px}
  .night-modal-logo img{width:148px}
  .night-modal-badge{padding:5px 7px;font-size:8px;letter-spacing:.1em}
  .night-modal-dialog h2{font-size:23px;line-height:1.1;margin:9px 0 8px;letter-spacing:-.025em}
  .night-modal-dialog p{font-size:12px;line-height:1.45}
  .night-modal-hours{margin:12px 0;padding:10px 12px;border-radius:8px;gap:1px}
  .night-modal-hours span{font-size:10px}
  .night-modal-hours strong{font-size:17px}
  .night-modal-actions{gap:7px}
  .night-modal-actions .btn{min-height:42px;padding:0 12px;font-size:12px;border-radius:8px}
  .night-modal-note{margin-top:9px;font-size:9px}
}

@media(max-width:360px),(max-height:700px){
  .night-modal-dialog{padding:15px 14px 14px}
  .night-modal-logo img{width:130px}
  .night-modal-dialog h2{font-size:21px}
  .night-modal-dialog p{font-size:11px}
  .night-modal-hours{margin:10px 0}
}

/* v20.14 - randevu giris gecisi ve net amac bildirimi */
.auth-purpose-note{display:grid;grid-template-columns:38px 1fr;gap:11px;align-items:center;margin:0 0 18px;padding:12px 13px;border:1px solid #d9e5e9;background:#f6f9fa;border-radius:8px;color:#173443}
.auth-purpose-note>i{width:38px;height:38px;display:grid;place-items:center;background:#fff;border:1px solid #dfe8eb;border-radius:7px;color:#0f7d78}
.auth-purpose-note b,.auth-purpose-note span{display:block}.auth-purpose-note b{font-size:12px}.auth-purpose-note span{margin-top:2px;font-size:10px;color:#6c7d85}
.appointment-start{padding:64px 0 80px;background:#f6f8f9;min-height:calc(100vh - 116px)}
.appointment-start-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.65fr);gap:36px;align-items:start}
.appointment-start-copy,.appointment-start-summary{background:#fff;border:1px solid #dfe6e9;padding:34px}
.appointment-start-icon{width:48px;height:48px;display:grid;place-items:center;background:#edf7f5;color:#0f7d78;border-radius:9px;font-size:21px}
.appointment-start-copy h1{font-size:clamp(30px,4vw,46px);line-height:1.08;letter-spacing:-.04em;margin:18px 0 12px}.appointment-start-copy>p{max-width:690px;color:#667680;margin:0}
.appointment-start-actions{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}
.appointment-start-help{border-top:1px solid #e7ecee;padding-top:20px}.appointment-start-help b,.appointment-start-help span{display:block}.appointment-start-help b{font-size:13px}.appointment-start-help span{margin-top:3px;font-size:11px;color:#708087}.appointment-start-help>div{display:flex;gap:18px;margin-top:13px}.appointment-start-help a{font-size:12px;font-weight:800;color:#0b5f59}.appointment-start-help a i{margin-right:6px}
.appointment-start-summary h2{margin:0 0 18px;font-size:19px}.appointment-start-summary ol{list-style:none;padding:0;margin:0;display:grid;gap:14px}.appointment-start-summary li{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:start}.appointment-start-summary li>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#082846;color:#fff;font-size:11px;font-weight:800}.appointment-start-summary b,.appointment-start-summary small{display:block}.appointment-start-summary b{font-size:12px}.appointment-start-summary small{margin-top:2px;color:#71818a;font-size:10px}
@media(max-width:820px){.appointment-start-grid{grid-template-columns:1fr}.appointment-start{padding:38px 0 88px}.appointment-start-copy,.appointment-start-summary{padding:24px}}
@media(max-width:640px){.appointment-start-actions{display:grid}.appointment-start-actions .btn{width:100%}.appointment-start-copy,.appointment-start-summary{padding:20px}}
