:root{--p:#0759f9;--p2:#122033;--bg:#f3f7fc;--text:#11223c;--muted:#718099;--line:#e9edf3;--gold:#dab66b}.practice-ui{font-size:13px}.practice-side{position:fixed;inset:0 auto 0 0;width:230px;background:linear-gradient(155deg,#122238,#101e2e);color:#dce5f1;display:flex;flex-direction:column;z-index:100;overflow:auto}.practice-brand{display:flex;gap:12px;align-items:center;padding:24px 18px 28px;color:white;font-size:17px;font-weight:650;line-height:1.25}.practice-brand img{width:46px;height:46px;object-fit:contain}.practice-side nav{padding:0 10px}.nav-link,.nav-group summary{display:flex;align-items:center;gap:16px;padding:12px 14px;margin:3px 0;border-radius:6px;color:#d3dce8;font-size:13px;font-weight:450;min-height:44px}.nav-link:hover,.nav-group summary:hover{background:#20374e;color:white}.nav-link.active{background:linear-gradient(90deg,#1c447c,#183359);color:white;border-left:4px solid var(--p);padding-left:10px}.nav-group summary{list-style:none;cursor:pointer}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary b{margin-left:auto;font-size:18px;font-weight:400}.nav-group[open]>summary b{transform:rotate(90deg)}.nav-group .nav-link{font-size:12px;padding:8px 10px 8px 44px;gap:8px;min-height:36px}.nav-group .nav-link .ui-icon{display:none}.side-bottom{margin:20px 12px 12px;padding-top:12px;border-top:1px solid #ffffff24}.ui-icon{width:21px;height:21px;flex:none;vertical-align:middle}.practice-work{margin-left:230px;min-width:0;min-height:100vh}.practice-top{height:72px;padding:0 24px;display:flex;align-items:center;gap:20px;background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}.top-search{display:flex;align-items:center;gap:12px;background:#f8fafc;border:1px solid #e1e7ee;border-radius:7px;padding:8px 12px;max-width:560px;flex:1;color:#8390a4}.top-search input{background:none;border:0;outline:0;width:100%;font:inherit;color:var(--text);min-width:0}.top-actions{display:flex;gap:10px;margin-left:auto}.btn{border-radius:6px;padding:10px 14px;gap:8px}.btn.alt{border-color:#dce4ef;color:#254a73}.icon-button{border:0;background:transparent;color:var(--text);display:inline-flex;align-items:center;justify-content:center;padding:8px;cursor:pointer}.initial-avatar{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;border-radius:50%;background:#eaf1fd;color:#1857a2;font-weight:700}.account-pill{display:flex;gap:10px;align-items:center;color:var(--text);white-space:nowrap}.account-pill small{display:block;color:var(--muted);font-size:11px}.portal-main{max-width:1920px;padding:26px 24px}.page-head h1{font:700 28px/1.2 system-ui,sans-serif;color:#0b1938;letter-spacing:-.6px}.page-head p{font-size:14px}.card{border-radius:11px;padding:18px;border-color:#eef1f6;box-shadow:0 4px 20px #294e7b05;min-width:0}.card h2{font:650 16px/1.3 system-ui,sans-serif;color:#101e3c;margin-bottom:16px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.card-heading h2{margin:0;display:flex;align-items:center;gap:10px}.card-heading h2 .ui-icon{color:var(--p)}.card-heading a{font-size:11px;white-space:nowrap}.admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px}.admin-main,.admin-rail{display:grid;align-content:start;gap:18px;min-width:0}.dashboard-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.kpi{display:flex;flex-direction:column;gap:9px;padding:16px 13px;min-height:128px;color:var(--text)}.kpi-label{display:flex;gap:10px;align-items:center;color:#50617d;font-size:12px}.icon-tile{background:#eaf2ff;color:var(--p);display:inline-flex;align-items:center;justify-content:center;flex:none;width:38px;height:38px;border-radius:11px}.kpi strong{font-size:26px;font-weight:700;line-height:1.15;letter-spacing:-1px}.kpi small{font-size:10px;color:#758398}.dashboard-row{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:16px}.dashboard-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.table-wrap{border:0;border-radius:5px}th{background:#f6f9fc;text-transform:none;letter-spacing:0;color:#53627c;font-weight:500}th,td{padding:12px 8px;border-bottom:1px solid #edf1f6;font-size:11px;vertical-align:middle}td .initial-avatar{width:28px;height:28px;font-size:10px;margin-right:6px}.badge{font-size:10px;font-weight:500}.row-link{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);color:var(--text);font-size:12px}.row-link:last-child{border-bottom:0}.row-link>span:first-child{display:flex;gap:12px;align-items:center}.row-link .ui-icon{color:var(--p);width:19px}.row-link small{color:var(--muted);font-size:11px}.timeline-item{margin-left:6px;border-left:1px solid #e0e8f4;font-size:11px;padding-left:17px}.timeline-item:before{background:var(--p);width:7px;height:7px;left:-4px}.timeline-item small{font-size:10px;margin-top:4px}.health-row{display:flex;gap:10px;padding:10px 0;align-items:center;border-bottom:1px solid var(--line);font-size:12px}.health-row>span:last-child{margin-left:auto;color:var(--muted);font-size:11px;text-align:right}.health-dot{color:#24ad78}.health-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.health-actions .btn{font-size:10px;padding:8px}.mini-appointment{display:flex;gap:10px;align-items:center;padding:12px 0}.mini-appointment time{font-size:11px;width:58px;flex:none}.mini-appointment strong{display:block;font-size:12px}.mini-appointment small{font-size:10px;color:var(--muted)}.mini-appointment .icon-tile{width:28px;height:28px}.revenue-stats{display:flex;justify-content:space-between;gap:8px;padding:8px 0 16px}.revenue-stats strong{display:block;font-size:16px}.revenue-stats small{font-size:10px;color:var(--muted)}.revenue-chart{width:100%;height:175px;display:block}.chart-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.task-tabs{display:flex;gap:5px;flex-wrap:wrap;margin:14px 0}.task-tabs button{font:inherit;font-size:10px;border:1px solid #e4eaf3;background:#f9fbfe;color:#60718b;padding:5px 8px;border-radius:7px;cursor:pointer}.task-tabs button.selected{background:#e6eeff;color:var(--p)}.task-item{padding:12px 0;border-bottom:1px solid var(--line);font-size:11px}.task-item strong{display:block}.task-item small{display:block;color:var(--muted);margin-top:4px}.task-item a{float:right}.practice-footer{padding:16px 24px;color:#8b96a7;font-size:10px;display:flex;justify-content:space-between}.empty-state{font-size:12px;padding:22px 12px;border:0;background:#f8fafc;color:#78869d}.menu-toggle{display:none}.dashboard-note{background:linear-gradient(90deg,#132b40ed,#132b4090),url('../img/portal-art.webp') center 67%/cover;color:#e4c77f;border-radius:9px;padding:14px 16px;font:italic 14px Georgia,serif}.client-body{--p:#1c7180;--p2:#102638;--bg:#fafbfc}.client-body .practice-side{width:265px;background:linear-gradient(155deg,#10283a,#102131)}.client-body .practice-work{margin-left:265px}.client-brand{flex-direction:column;text-align:center;padding-bottom:10px;font:23px Georgia,serif}.client-brand img{width:62px;height:62px}.client-brand small{font:14px system-ui;display:block;margin-top:8px}.brand-doctor{text-align:center;margin:6px 35px 28px;border-top:1px solid #bfaa6c;padding-top:12px;font-size:13px}.client-body .nav-link.active{border-color:#d8b96c;background:#1b465b}.client-body .initial-avatar{background:#1c7180;color:white}.lock-label{font-size:8px;margin-left:auto;color:#d6b974}.breadcrumb{display:flex;gap:12px;align-items:center;color:#78879b;margin-right:auto;white-space:nowrap}.breadcrumb strong{color:var(--text)}.client-body .top-search{max-width:290px}.client-body .page-head h1{font:600 38px/1.2 Georgia,serif}.client-body .portal-main{padding:26px 32px}.client-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:20px}.client-stat{display:flex;gap:16px;align-items:center;padding:21px}.client-stat .icon-tile{border-radius:50%;width:54px;height:54px;background:#e9f4f7}.client-stat strong{font:600 29px Georgia,serif;display:block;margin-top:4px;color:#102239}.client-stat small{font-size:12px;color:#4c5d72}.client-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;margin-bottom:18px}.client-body .card h2{font:600 23px Georgia,serif}.question-row{display:flex;align-items:center;gap:13px;padding:16px 0;border-bottom:1px solid var(--line);color:var(--text)}.question-row>span:nth-child(2){flex:1;min-width:0}.question-row strong{font-size:13px;font-weight:500;display:block}.question-row small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.question-row .icon-tile{border-radius:50%}.session-content{display:flex;gap:22px;align-items:center;padding:25px 0}.session-content .icon-tile{width:76px;height:76px;border-radius:50%;background:#edf8f4}.session-content .ui-icon{width:36px;height:36px}.session-content h3{font:600 21px Georgia,serif;margin:0 0 10px}.session-content p{margin:6px 0}.full-width{width:100%}.birth-preview{display:grid;grid-template-columns:1fr 190px;gap:18px;align-items:center}.birth-preview p{display:flex;align-items:center;gap:10px;font-size:12px;margin:17px 0}.birth-preview .kundli svg{width:100%;height:auto}.birth-preview .kundli a{display:block;color:var(--muted);text-align:center;font-size:10px}.birth-placeholder{min-height:145px;background:linear-gradient(#10263865,#102638aa),url('../img/portal-art.webp') center 72%/cover;border-radius:10px;color:#ebd49b;display:grid;place-items:center;text-align:center;padding:16px;font-size:12px}.premium-card{background:linear-gradient(90deg,#102537fa,#102537b0),url('../img/portal-art.webp') center 68%/cover;color:white;text-align:center;padding:29px 30px}.premium-card h2{color:#e9ce8d!important;font-size:28px!important;margin:14px 0}.premium-card>.ui-icon{width:35px;height:35px;color:#e3bd66}.premium-card .btn{background:linear-gradient(120deg,#f0d48d,#c9a253);color:#132236;border:0;max-width:350px;width:100%;margin:12px 0}.premium-card small{display:block;color:#d6e1e8;font-size:11px}.quick-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.quick-links a{display:flex;align-items:flex-start;gap:10px;padding:15px 10px;border:1px solid var(--line);border-radius:8px;color:var(--text);font-size:11px}.quick-links small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.quick-links .ui-icon{color:var(--p)}.data-warning{padding:12px;margin-bottom:14px;background:#fff4dd;color:#69551f;border-radius:8px}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #c39a43;outline-offset:3px}
/* Authentication: a real form beside generated artwork. */
.auth-page{margin:0;background:#fff;--p:#1c7180}.auth-layout{display:grid;grid-template-columns:46% 54%;min-height:100vh}.auth-art{position:relative;background:#0b2032 url('../img/portal-art.webp') center/cover;color:white;display:flex;flex-direction:column;justify-content:space-between;padding:48px 52px}.auth-art:before{content:'';position:absolute;inset:0;background:linear-gradient(#071b3080,transparent 70%,#071b30dd);pointer-events:none}.auth-art>*{position:relative}.auth-art-brand{display:flex;gap:12px;align-items:center;font-size:17px;line-height:1.3}.auth-art-brand img{width:48px;height:48px;object-fit:contain}.auth-art h2{font:500 40px/1.2 Georgia,serif;color:#f1dca4;max-width:430px;margin:35px 0 15px}.auth-art p{max-width:350px;color:#dce5ea;font-size:15px;line-height:1.7}.auth-art-bottom{font-size:12px;line-height:1.8;color:#e1e5e9}.auth-form-panel{padding:36px;display:flex;align-items:center;justify-content:center}.auth-form{width:min(440px,100%)}.auth-eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;color:#96773b;margin:15px 0}.auth-form h1{font:600 35px Georgia,serif;color:#132b40;margin:8px 0 10px}.auth-form>.sub{color:#718096;line-height:1.6;margin-bottom:24px}.auth-form .oauth{gap:12px;min-height:47px;font-weight:500}.auth-form .field input{padding:12px 14px;background:#fff;border-color:#dce3e9}.auth-form .field label{font-weight:600;font-size:12px}.auth-form .btn{min-height:45px}.auth-form .note{line-height:1.7}.auth-form .terms-row{display:flex;gap:9px;align-items:flex-start}.auth-form .terms-row input{margin-top:5px}.auth-form-footer{margin-top:22px;padding-top:18px;border-top:1px solid #edf0f4;display:flex;justify-content:space-between;font-size:12px;color:#718096}.password-wrap{position:relative}.password-wrap input{padding-right:64px!important}.password-wrap button{position:absolute;right:8px;top:8px;height:31px;border:0;background:none;color:#657891;font-size:11px;cursor:pointer}.auth-admin{--p:#0759f9}.auth-form .signup-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-form .signup-grid .full{grid-column:1/-1}
@media(min-width:1750px){.dashboard-kpis{gap:16px}.kpi{padding:18px}.admin-layout{grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:1450px){.admin-layout{grid-template-columns:minmax(0,1fr) 250px}.dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-bottom{grid-template-columns:1fr 1fr}.dashboard-bottom>.card:last-child{grid-column:1/-1}.top-actions .btn{font-size:11px;padding:8px}.practice-top{gap:12px}.birth-preview{grid-template-columns:1fr 140px}.client-body .portal-main{padding:24px}.client-stat{padding:16px;gap:10px}}
@media(max-width:1180px){.practice-side{width:210px}.practice-work{margin-left:210px}.admin-layout{grid-template-columns:1fr}.admin-rail{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-bottom{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-bottom>.card:last-child{grid-column:auto}.top-actions .btn:nth-child(2){display:none}.account-pill>span:last-child{display:none}.client-body .practice-side{width:220px}.client-body .practice-work{margin-left:220px}.client-grid{grid-template-columns:1fr}.client-stats{gap:10px}.client-stat .icon-tile{width:35px;height:35px}.client-stat small{font-size:10px}.auth-art{padding:35px}.auth-art h2{font-size:34px}}
@media(max-width:900px){.practice-side,.client-body .practice-side{transform:translateX(-100%);width:265px;transition:transform .2s}.practice-work,.client-body .practice-work{margin-left:0}.menu-open .practice-side{transform:translateX(0);box-shadow:10px 0 0 100vw #0c213555}.menu-open .menu-toggle{position:fixed;left:270px;top:14px;background:white;border-radius:7px;z-index:110}.menu-toggle{display:inline-flex}.practice-top{padding:0 16px;height:64px}.portal-main,.client-body .portal-main{padding:20px}.dashboard-bottom{grid-template-columns:1fr 1fr}.dashboard-bottom>.card:last-child{grid-column:1/-1}.breadcrumb{font-size:11px}.auth-layout{grid-template-columns:40% 60%}.auth-art{padding:28px}.auth-art h2{font-size:29px}.auth-art p{font-size:13px}}
@media(max-width:640px){.practice-top{gap:8px}.top-actions{display:none}.top-search{min-width:0}.client-body .top-search{display:none}.portal-main,.client-body .portal-main{padding:16px}.page-head{gap:15px}.page-head h1{font-size:25px}.client-body .page-head h1{font-size:31px}.client-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.client-stat strong{font-size:25px}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi strong{font-size:24px}.dashboard-row,.dashboard-bottom,.admin-rail{grid-template-columns:1fr}.dashboard-bottom>.card:last-child{grid-column:auto}.card{padding:16px}.quick-links{grid-template-columns:1fr}.birth-preview{grid-template-columns:1fr 125px}.premium-card{padding:25px 18px}.client-body .card h2{font-size:21px}.practice-footer{padding:16px;font-size:9px}.practice-footer span{display:none}.question-row{gap:10px}.question-row strong{font-size:12px}.question-row .icon-tile{display:none}.session-content{gap:15px}.auth-layout{display:flex;flex-direction:column}.auth-art{min-height:240px;padding:23px;background-position:center 64%}.auth-art:before{background:#071b30a0}.auth-art-brand{font-size:14px}.auth-art-brand img{width:34px;height:34px}.auth-art h2{font-size:27px;margin:20px 0 10px;max-width:300px}.auth-art p{margin:0;font-size:12px;max-width:300px}.auth-art-bottom{display:none}.auth-form-panel{padding:25px 22px}.auth-form h1{font-size:30px}.auth-form .signup-grid{grid-template-columns:1fr}.auth-form .signup-grid .full{grid-column:auto}}
@media print{.practice-side,.practice-top,.practice-footer{display:none!important}.practice-work,.client-body .practice-work{margin:0}.portal-main{padding:0}}
[id^="appointment-"]{scroll-margin-top:85px}[id^="appointment-"]:target{outline:2px solid var(--p);outline-offset:-2px}

.health-warning{color:#c28a22}.client-brand{font-size:21px}.client-body .practice-side nav{padding-top:0}
/* Calendar and integration settings */
.calendar-scroll{overflow-x:auto}.client-month{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));min-width:700px;gap:4px}.month-label{padding:12px;text-align:center}.month-day{min-height:110px;padding:10px;border:1px solid #e0e5ef;border-radius:8px;background:#fff}.month-day.muted{background:#f4f6fa}.month-day.is-today{border:2px solid #3879db}.month-event{display:block;margin-top:6px;padding:6px;border-radius:5px;background:#eaf2ff;color:#214d89;font-size:12px;overflow-wrap:anywhere}.month-event small{display:block}.calendar-agenda{display:flex;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid #e0e5ef}.practice-brand span{overflow-wrap:anywhere}.payment-details{overflow-wrap:anywhere}@media(max-width:600px){.calendar-agenda{flex-direction:column}}
.astro-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.astro-tabs a{padding:10px 14px;background:#fff;border:1px solid #dce4ef;border-radius:9px;color:#29425c}.astro-tabs a.selected{background:#164b76;color:white}.astro-chart{min-width:0;padding:12px;border:1px solid #e4e8ef;border-radius:12px}.astro-chart svg{display:block;width:100%;max-width:400px;margin:auto}.astro-result{padding:14px 0;border-bottom:1px solid #e3e9f0}.astro-result summary{font-weight:700;cursor:pointer}.astro-result>.table-wrap{margin-top:12px}.settings-links{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.settings-links a{padding:10px 14px;background:#eaf2ff;border-radius:8px}.leaflet-container{font-family:inherit}.leaflet-container img{max-width:none!important}.report-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}
