/* NevoMD v2 authenticated workspace skin.  The clinical form/analysis controllers are untouched. */
:root{--nv2-midnight:#081d2d;--nv2-mint:#77edd7;--nv2-green:#148f80;--nv2-coral:#ff976f;--nv2-ink:#123143;--nv2-line:#badbd6;--nv2-paper:#eaf6f3;--nv2-field:#f9fffe;}
html{scroll-padding-top:114px}
body.nv2-app{padding-top:0!important;margin-top:0!important;color:var(--nv2-ink)!important;font-family:Inter,'Arial',sans-serif!important;background:radial-gradient(circle at 87% 29%,transparent 0 19%,rgba(27,174,150,.075) 19.1% 28%,rgba(42,190,165,.11) 28.1% 37%,transparent 37.1%),radial-gradient(circle at 72% 31%,#20575d 0%,#0b2331 36%,#071623 78%)!important;background-attachment:fixed!important;min-width:0}
body.nv2-app .topline{font-family:inherit}
/* Keep the original shared header in the DOM: legacy authentication and page scripts read its hooks. */
body.nv2-app header.header, body.nv2-app #footer-placeholder{display:none!important}
body.nv2-app #nvxWorkspaceSidebar,body.nv2-app .nvx-workspace-sidebar,body.nv2-app .nvx-workspace-vertical-divider,body.nv2-app .nvx-workspace-sidebar-placeholder,body.nv2-app .nvx-workspace-mobile-nav,body.nv2-app .nvx-workspace-mobile-overlay{display:none!important;visibility:hidden!important}
body.nv2-app .app-page-shell.nvx-workspace-layout,body.nv2-app .nvx-workspace-layout,body.nv2-app .app-page-shell{display:block!important;box-sizing:border-box!important;max-width:1430px!important;width:calc(100% - 64px)!important;margin:0 auto!important;padding:46px 0 96px!important;min-height:60vh!important;background:transparent!important;overflow:visible!important}
body.nv2-app .app-page-content.nvx-workspace-main,body.nv2-app .nvx-workspace-main,body.nv2-app .app-page-content{display:block!important;max-width:none!important;width:100%!important;margin:0!important;background:#eef9f6eb!important;color:var(--nv2-ink)!important;border:1px solid #b8d7d2!important;border-radius:22px!important;padding:24px 26px 34px!important;box-shadow:0 22px 55px #0c465d17!important;min-width:0;overflow:visible!important}
body.nv2-app .nvx-workspace-inline-head{background:linear-gradient(112deg,#d8f0e8,#eaf6f1)!important;border:1px solid #bfdfd8!important;border-radius:16px!important;padding:25px 28px!important;margin:0 0 22px!important}
body.nv2-app .nvx-workspace-inline-head h2{font-weight:850!important;font-size:clamp(25px,3vw,37px)!important;color:#092c3e!important;letter-spacing:-.045em}
body.nv2-app .nvx-workspace-inline-head p{font-size:14px!important;color:#497077!important}
body.nv2-app .nvx-workspace-card-case{color:#0a665e!important}body.nv2-app .nvx-workspace-card-case span{color:#007d76!important}
/* Existing pages include highly specialized tables and modals; recolor surfaces, not geometry/functional states. */
body.nv2-app .app-page-content :is(.section-card,.form-card,.dashboard-card,.dashboard-panel,.panel,.info-box,.content-card,.card,.research-card,.support-card,.patient-section,.medication-card,.doctor-card,.subscription-content){background-color:#f2faf8!important;border-color:#c5ddd9!important;color:var(--nv2-ink)!important}
body.nv2-app .app-page-content :is(h1,h2,h3,h4){color:#0c3045}
body.nv2-app .app-page-content :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),textarea,select){background-color:var(--nv2-field);color:#0e3546;border-color:#9abfba;border-radius:8px;font-family:inherit}
body.nv2-app .app-page-content :is(input,textarea,select):focus-visible{outline:2px solid var(--nv2-green);outline-offset:1px}
body.nv2-app .app-page-content button:not(:disabled){font-family:inherit}
body.nv2-app .app-page-content :is(.btn-primary,.add-patient-btn,.patient-review-btn,.primary-btn,button[type="submit"]){background:linear-gradient(180deg,#159c8c,#0a6d73)!important;border-color:#08757a!important;color:#fff!important;border-radius:11px!important;box-shadow:0 4px 15px #0d767b24}
body.nv2-app .app-page-content :is(.btn-primary,.add-patient-btn,.patient-review-btn,.primary-btn,button[type="submit"]):hover:not(:disabled){filter:brightness(1.09)}
body.nv2-app .app-page-content :is(.tab-btn,.tabs-bar button,.nvx-workspace-nav-button){border-radius:9px!important}
body.nv2-app .app-page-content :is(.tab-btn.active,.tab-btn.is-active){background:#0e8d80!important;color:#fff!important}
body.nv2-app .app-page-content :is(table,thead,tbody,tr,th,td){border-color:#c6dcd8}
body.nv2-app .app-page-content :is(th){background-color:#d9efea;color:#0e3946}
body.nv2-app .app-page-content .toolbar{background-color:#e0f1ed!important;border-color:#b4d6cf!important}
body.nv2-app .app-page-content :is(.spinner,.loading-spinner,.progress-spinner,.busy-indicator){animation-play-state:running}
/* Public-style navbar in app: preserve public-page interactions without changing legacy auth hooks. */
body.nv2-app .nv2-topline{position:relative;z-index:91;min-height:35px;display:flex;align-items:center;justify-content:center;text-align:center;gap:12px;background:#071521;color:#e3f6f1;font-size:10px;font-weight:850;letter-spacing:.13em}
body.nv2-app .nv2-topline a{color:#8ef4df;text-decoration:none}
body.nv2-app .nv2-header{position:sticky;top:0;z-index:90;height:auto;background:#091e2e;color:white;border-bottom:1px solid #274856;box-shadow:0 10px 30px #04162114}
body.nv2-app .nv2-nav-shell{height:86px;width:min(1540px,calc(100% - 52px));display:flex;align-items:center;gap:22px;margin:0 auto}
body.nv2-app .nv2-brand{display:flex;align-items:center;flex:0 0 245px;min-width:0}
body.nv2-app .nv2-brand img{display:block;width:245px;height:auto;max-width:100%;object-fit:contain}
body.nv2-app .nv2-primary{display:flex;align-items:center;gap:3px;height:100%;flex:1;min-width:0}
body.nv2-app .nv2-primary a,body.nv2-app .nv2-menu-trigger{font:750 12px Inter,Arial,sans-serif;color:#ecfaf8;text-decoration:none;border:0;background:none;padding:16px 11px;white-space:nowrap;cursor:pointer}
body.nv2-app .nv2-primary :is(a,button):hover,body.nv2-app .nv2-menu-trigger[aria-expanded="true"]{color:#8cf3de}
body.nv2-app .nv2-primary .nv2-menu-trigger::after{content:'⌄';margin-left:7px;font-size:13px}
body.nv2-app .nv2-nav-right{display:flex;align-items:center;gap:15px;flex:none}
body.nv2-app .nv2-locale{background:#173b44;color:#eafffb;border:1px solid #3d6e6b;border-radius:999px;padding:10px 12px;font:700 11px Inter,Arial;max-width:116px}
body.nv2-app .nv2-logout{border:1px solid #5a8586;background:transparent;color:white;border-radius:999px;padding:11px 14px;font:750 12px Inter,Arial;cursor:pointer}
body.nv2-app .nv2-dashboard-link{text-decoration:none;color:#b0f4e0;font-weight:750;font-size:12px;white-space:nowrap}
body.nv2-app .nv2-menu-panel{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);width:min(1100px,calc(100vw - 44px));background:#f2faf7;color:#103748;border:1px solid #bdddd4;border-radius:0 0 18px 18px;box-shadow:0 28px 42px #031f2a44;padding:26px 30px;grid-template-columns:270px 1fr;gap:30px;z-index:99}
body.nv2-app .nv2-menu-panel.is-open{display:grid}
body.nv2-app .nv2-menu-intro{background:#dcefe9;border-radius:14px;padding:24px}body.nv2-app .nv2-menu-intro b{font-size:25px;letter-spacing:-.04em}body.nv2-app .nv2-menu-intro p{color:#476b73;font-size:13px;line-height:1.6}
body.nv2-app .nv2-menu-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
body.nv2-app .nv2-menu-links a{border-radius:10px;color:#143647;text-decoration:none;padding:13px 16px;border-bottom:1px solid #cee4dd;display:block}
body.nv2-app .nv2-menu-links a:hover{background:#dcefe9}
body.nv2-app .nv2-menu-links a b{display:block;font-size:14px}
body.nv2-app .nv2-menu-links a small{display:block;font-size:11px;color:#5c7779;margin-top:5px;line-height:1.4}
body.nv2-app .nv2-menu-links a.nv2-disabled{opacity:.43;cursor:not-allowed}
body.nv2-app .nv2-mobile-toggle{display:none;background:transparent;border:1px solid #597878;border-radius:10px;color:#fff;font-size:24px;width:42px;height:42px;cursor:pointer}
body.nv2-app .nv2-mobile-drawer{display:none;padding:16px 22px 22px;background:#0d2637;max-height:calc(100vh - 90px);overflow:auto}
body.nv2-app .nv2-mobile-drawer.is-open{display:block}
body.nv2-app .nv2-mobile-drawer details{border-bottom:1px solid #31505b;padding:12px 0}
body.nv2-app .nv2-mobile-drawer summary{cursor:pointer;color:#dff9f2;font-weight:750}
body.nv2-app .nv2-mobile-drawer a{display:block;padding:12px 13px;color:#d9f5f0;text-decoration:none}
body.nv2-app .nv2-mobile-drawer a:hover{color:#ffa987}
body.nv2-app .nv2-app-badge{position:fixed;z-index:48;top:135px;right:20px;width:73px;height:73px;display:block;border-radius:50%;transition:transform .2s}
body.nv2-app .nv2-app-badge:hover{transform:scale(1.07)}body.nv2-app .nv2-app-badge img{width:100%;height:100%;object-fit:contain}
body.nv2-app .nv2-footer{background:#071421;color:#c4dce0;padding:58px max(24px,calc((100vw - 1420px)/2)) 26px}
body.nv2-app .nv2-footer-grid{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:30px}
body.nv2-app .nv2-footer-brand img{width:277px;height:auto;max-width:100%}
body.nv2-app .nv2-footer-brand p{max-width:340px;font-size:12px;line-height:1.7;color:#aac5c9}
body.nv2-app .nv2-footer-col strong{display:block;color:#94e9d8;letter-spacing:.13em;font-size:11px;margin:7px 0 15px}
body.nv2-app .nv2-footer-col a{display:block;color:#b8d0d5;font-size:12px;text-decoration:none;margin:0 0 13px}
body.nv2-app .nv2-footer-col a:hover{color:#ffaf90}
body.nv2-app .nv2-footer-bottom{border-top:1px solid #264553;margin-top:40px;padding-top:21px;font-size:11px;color:#8caaae;display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px}
@media(max-width:1400px){body.nv2-app .nv2-nav-shell{gap:12px;width:calc(100% - 36px)}body.nv2-app .nv2-brand{flex-basis:205px}body.nv2-app .nv2-brand img{width:205px}body.nv2-app .nv2-primary a,body.nv2-app .nv2-menu-trigger{padding-inline:7px;font-size:11px}body.nv2-app .nv2-nav-right{gap:8px}}
@media(max-width:1190px){body.nv2-app .nv2-primary,body.nv2-app .nv2-locale{display:none}body.nv2-app .nv2-mobile-toggle{display:block}body.nv2-app .nv2-nav-shell{justify-content:space-between}body.nv2-app .nv2-brand{flex-basis:235px}body.nv2-app .nv2-brand img{width:235px}}
@media(max-width:800px){body.nv2-app .app-page-shell.nvx-workspace-layout,body.nv2-app .nvx-workspace-layout,body.nv2-app .app-page-shell{width:calc(100% - 26px)!important;margin:0 auto!important;padding:25px 0 65px!important}body.nv2-app .app-page-content.nvx-workspace-main,body.nv2-app .nvx-workspace-main,body.nv2-app .app-page-content{padding:16px 12px 25px!important;border-radius:14px!important}body.nv2-app .nv2-footer-grid{grid-template-columns:1fr 1fr;gap:30px}body.nv2-app .nv2-footer-brand{grid-column:1/-1}body.nv2-app .nv2-app-badge{width:51px;height:51px;right:12px;top:121px}body.nv2-app .nv2-brand{flex-basis:180px}body.nv2-app .nv2-brand img{width:180px}}
@media(max-width:480px){body.nv2-app .nv2-brand{flex-basis:155px}body.nv2-app .nv2-brand img{width:155px}body.nv2-app .nv2-dashboard-link{display:none}body.nv2-app .nv2-footer-grid{grid-template-columns:1fr 1fr}body.nv2-app .nv2-footer-brand img{width:235px}}

/* V2 clinical workspace navigation grouping and ESBA-style accent palette. */
body.nv2-app .nv2-menu-group{grid-column:1/-1;border-bottom:1px solid #b9dcd3;padding:12px 10px 9px;margin:3px 0 0;color:#b85736;font-size:11px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
body.nv2-app .nv2-menu-intro{border-top:4px solid var(--nv2-coral)}
body.nv2-app .nv2-primary :is(a,button):hover,body.nv2-app .nv2-menu-trigger[aria-expanded="true"]{color:var(--nv2-coral)}
body.nv2-app .nv2-menu-links a:hover{background:#fff2ec}
body.nv2-app .nv2-menu-links a:focus-visible{outline:2px solid #e67d5f;outline-offset:2px}
body.nv2-app .nv2-mobile-group{display:block;padding:12px 13px 3px;font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:var(--nv2-coral)}
body.nv2-app .nv2-logout:hover{border-color:var(--nv2-coral);color:var(--nv2-coral)}
/* Preserve individual forms, action semantics, timers and busy states for later page-by-page styling. */


/* 2026-11-02: navigation and clinical layout corrections. Avoid touching workflow logic. */
body.nv2-app{--nv2-nav-top:35px}
body.nv2-app .nv2-header{position:fixed!important;top:var(--nv2-nav-top)!important;left:0;right:0;width:100%;z-index:90}
body.nv2-app .nv2-header-spacer{height:86px;min-height:86px;pointer-events:none}
body.nv2-app .nv2-app-badge{top:calc(var(--nv2-nav-top) + 100px)}
body.nv2-app .nv2-nav-shell{width:calc(100% - 42px);max-width:1600px;gap:14px}
body.nv2-app .nv2-brand{flex-basis:277px}
body.nv2-app .nv2-brand img{width:277px}
body.nv2-app .nv2-primary{flex:0 1 auto;gap:2px}
body.nv2-app .nv2-nav-right{margin-left:auto;gap:12px;min-width:0}
body.nv2-app .nv2-patient-status{color:#b1f1e5;white-space:nowrap;max-width:210px;min-width:0;font-size:11px}
body.nv2-app .nv2-patient-status strong{font-size:12px;color:#fff;font-weight:850;overflow:hidden;text-overflow:ellipsis;display:inline-block;vertical-align:middle;max-width:115px}
body.nv2-app .nv2-patient-status[hidden],body.nv2-app .nv2-identity[hidden]{display:none!important}
body.nv2-app .nv2-language-control{display:flex;align-items:center;gap:7px;white-space:nowrap;cursor:pointer}
body.nv2-app .nv2-language-label{font-size:10px;font-weight:750;color:#d3eae9}
body.nv2-app .nv2-language-control:hover .nv2-language-label,body.nv2-app .nv2-language-control:focus-within .nv2-language-label{color:var(--nv2-coral)}
body.nv2-app .nv2-locale{cursor:pointer;max-width:118px;min-width:105px;border:1px solid #355d63;background:#183840;color:#f4fffb;transition:background-color .18s,border-color .18s,box-shadow .18s}
body.nv2-app .nv2-locale:hover,body.nv2-app .nv2-locale:focus-visible{background:#254e51;border-color:#87e8d2;box-shadow:0 0 0 2px #73dfcb2e}
body.nv2-app .nv2-identity{display:flex;flex-direction:column;gap:2px;min-width:165px;max-width:225px;color:#e7f4f5;font-size:10px;line-height:1.25}
body.nv2-app .nv2-identity-line{display:grid;grid-template-columns:54px minmax(0,1fr);column-gap:6px;align-items:baseline;min-width:0}
body.nv2-app .nv2-identity-label{text-align:right;color:#8dcac4;font-weight:700;white-space:nowrap}
body.nv2-app .nv2-identity-value{font-weight:760;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.nv2-app .nv2-logout{margin-left:5px;transform:translateY(-3px);white-space:nowrap;flex-shrink:0}
body.nv2-app .nvx-workspace-card-case{display:none!important}
/* Keep original patient Save/Delete IDs and handlers, now inside the green patient heading. */
body.nv2-app.newpatient-page:not(.medicationreview-page) .nv2-intake-actions{display:none;margin-top:17px;gap:12px;align-items:center;flex-wrap:wrap}
body.nv2-app.newpatient-page:not(.medicationreview-page)[data-nv2-active-view="intake"] .nv2-intake-actions{display:flex}
body.nv2-app .nv2-intake-actions .patient-buttons{display:flex;justify-content:flex-start;align-items:center;gap:12px;width:auto;margin:0;flex-wrap:wrap}
body.nv2-app .nv2-intake-actions .blue-button{width:auto!important;min-width:135px;border-radius:9px!important;height:35px!important;background:linear-gradient(180deg,#ffad8b,#f07a54)!important;border:1px solid #d76b49!important;color:#0a2433!important;font-weight:800;box-shadow:0 3px 9px #ab583028}
body.nv2-app .nv2-intake-actions #btnDeletePatientMain{background:#f9e7e3!important;border-color:#d89d96!important;color:#8a3130!important}
body.nv2-app .nv2-intake-actions #npPatientValidationStatus{flex-basis:100%;margin:0}
body.nv2-app.newpatient-page #section-patient .patient-header{margin:0!important;padding:0!important;min-height:0!important}
body.nv2-app.newpatient-page #section-patient .patient-header .pi-title,body.nv2-app.newpatient-page #section-patient .patient-header hr{display:none!important}
body.nv2-app.newpatient-page #patient-form-grid{row-gap:9px}
/* Use existing green title as canonical header on review pages; no duplicate oversized headings. */
body.nv2-app.medicationreview-page .mr-page-heading h1{display:none!important}
body.nv2-app.medicationreview-page .mr-page-heading{margin:4px auto 18px!important}
body.nv2-app.medicationreview-page .mr-card>h2{font-size:clamp(22px,2vw,28px)!important;line-height:1.2!important;font-weight:800!important;letter-spacing:-.025em!important;margin:0 0 18px!important}
body.nv2-app.medicationreview-page .mr-card>h2,body.nv2-app.medicationreview-page .mr-page-heading p{color:#15384a!important}
body.nv2-app.research-page .research-title-wrap{display:none!important}
body.nv2-app.research-page #diagnosisResult h1{font-size:clamp(23px,2vw,31px)!important;line-height:1.3!important;letter-spacing:-.02em!important}
body.nv2-app.research-page #diagnosisResult h2{font-size:clamp(20px,1.9vw,27px)!important;line-height:1.3!important;letter-spacing:-.02em!important}
body.nv2-app.research-page #diagnosisResult h3{font-size:clamp(18px,1.7vw,22px)!important;line-height:1.35!important}
@media(max-width:1490px){body.nv2-app .nv2-identity{max-width:175px}body.nv2-app .nv2-nav-shell{gap:9px}body.nv2-app .nv2-nav-right{gap:8px}body.nv2-app .nv2-patient-status{max-width:175px}}
@media(max-width:1330px){body.nv2-app .nv2-primary,body.nv2-app .nv2-language-control{display:none}body.nv2-app .nv2-mobile-toggle{display:block}body.nv2-app .nv2-brand{flex-basis:220px}body.nv2-app .nv2-brand img{width:220px}body.nv2-app .nv2-nav-shell{justify-content:space-between}}
@media(max-width:760px){body.nv2-app .nv2-identity{display:none!important}body.nv2-app .nv2-nav-right{gap:10px}body.nv2-app .nv2-brand{flex-basis:172px}body.nv2-app .nv2-brand img{width:172px}body.nv2-app .nv2-app-badge{top:calc(var(--nv2-nav-top) + 100px)}body.nv2-app .nv2-patient-caption{display:none}}
@media(max-width:480px){body.nv2-app .nv2-brand{flex-basis:140px}body.nv2-app .nv2-brand img{width:140px}body.nv2-app .nv2-nav-shell{gap:7px;width:calc(100% - 24px)}body.nv2-app .nv2-patient-status{max-width:104px}body.nv2-app .nv2-patient-status strong{max-width:104px;font-size:10px}body.nv2-app .nv2-logout{padding:9px 10px;font-size:11px}body.nv2-app .nv2-mobile-toggle{width:36px;height:38px}body.nv2-app .nv2-topline{font-size:8px;padding-inline:7px}}

/* Legacy workspace content originally used content-box width; avoid overflow in full-width v2 layout. */
body.nv2-app .app-page-content.nvx-workspace-main,body.nv2-app .nvx-workspace-main,body.nv2-app .app-page-content{box-sizing:border-box!important}

body.nv2-app .nv2-mobile-profile,body.nv2-app .nv2-mobile-patient{color:#dff9f2;font-size:12px;line-height:1.55;padding:12px 13px;border-bottom:1px solid #31505b;overflow-wrap:anywhere}
@media(min-width:1331px) and (max-width:1490px){body.nv2-app .nv2-brand{flex-basis:245px}body.nv2-app .nv2-brand img{width:245px}}

/* Header refinement: move the signed-in identity above Logout, keeping its
   existing session values, logout handler and fixed-header behavior intact. */
body.nv2-app .nv2-nav-right{height:100%;align-items:center;gap:12px;margin-left:auto}
body.nv2-app .nv2-patient-status{display:flex;align-items:center;align-self:flex-end;gap:5px;margin-bottom:20px;line-height:1.25}
body.nv2-app .nv2-patient-status strong{display:block;vertical-align:initial;line-height:1.25}
body.nv2-app .nv2-patient-status[hidden]{display:none!important}
body.nv2-app .nv2-language-control{align-self:center;margin-left:auto}
body.nv2-app .nv2-profile-actions{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;align-self:stretch;gap:5px;flex:0 0 225px;min-width:0}
body.nv2-app .nv2-profile-actions .nv2-identity{width:100%;max-width:100%;min-width:0;gap:2px}
body.nv2-app .nv2-profile-actions .nv2-identity-line{grid-template-columns:54px minmax(0,1fr);align-items:baseline}
body.nv2-app .nv2-profile-actions .nv2-logout{margin:0 5px 0 0;transform:translateY(-2px);align-self:flex-end}
@media(min-width:1331px) and (max-width:1490px){body.nv2-app .nv2-profile-actions{flex-basis:196px}body.nv2-app .nv2-patient-status{max-width:170px}body.nv2-app .nv2-nav-right{gap:8px}}
@media(max-width:1330px){body.nv2-app .nv2-profile-actions{flex-basis:215px}body.nv2-app .nv2-patient-status{margin-bottom:20px}}
@media(max-width:760px){body.nv2-app .nv2-profile-actions{flex:0 0 auto;justify-content:center}body.nv2-app .nv2-profile-actions .nv2-identity{display:none!important}body.nv2-app .nv2-patient-status{margin-bottom:20px}}
@media(max-width:480px){body.nv2-app .nv2-nav-right{gap:7px}body.nv2-app .nv2-profile-actions .nv2-logout{margin-right:0}}

/* 2026-11-02: language under Services; profile is pinned to the actual
   viewport right edge, not the nav-shell maximum width. */
body.nv2-app .nv2-menu-links .nv2-language-option{display:block;width:100%;text-align:left;font-family:Inter,Arial,sans-serif;background:transparent;border:0;border-bottom:1px solid #cee4dd;border-radius:10px;padding:13px 16px;color:#143647;cursor:pointer}
body.nv2-app .nv2-menu-links .nv2-language-option:hover:not(:disabled),body.nv2-app .nv2-menu-links .nv2-language-option:focus-visible{background:#fff2ec;outline:2px solid #ff976f;outline-offset:-2px}
body.nv2-app .nv2-menu-links .nv2-language-current{background:#dff5ec!important;border-left:3px solid #149f8c}
body.nv2-app .nv2-menu-links .nv2-language-pending{opacity:.46;cursor:not-allowed}
body.nv2-app .nv2-menu-links .nv2-language-pending:hover{background:transparent}
body.nv2-app .nv2-mobile-language{display:block;padding:12px 13px;color:#a9ddd6;font-size:13px}
body.nv2-app .nv2-mobile-language[aria-current="true"]{color:#ffad8f;font-weight:800}
body.nv2-app .nv2-mobile-language[aria-disabled="true"]{opacity:.5}
/* Reserve the right-most lane for profile data, without constraining its
   right edge to the centered content width. */
body.nv2-app .nv2-nav-right{padding-right:220px}
body.nv2-app .nv2-profile-actions{position:absolute;right:20px;top:0;height:86px;width:200px;box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:3px;margin:0;min-width:0;flex:none}
body.nv2-app .nv2-profile-actions .nv2-identity{width:100%;max-width:none;margin:0;align-self:center;gap:2px;font-size:10px}
body.nv2-app .nv2-profile-actions .nv2-identity-line{grid-template-columns:52px minmax(0,1fr);gap:5px;line-height:1.2}
body.nv2-app .nv2-profile-actions .nv2-logout{box-sizing:border-box;display:block;width:100%;height:28px;min-height:28px;padding:0 12px!important;margin:0!important;transform:none!important;line-height:26px;text-align:center;align-self:center;white-space:nowrap}
body.nv2-app .nv2-patient-status{align-self:flex-end;margin-bottom:20px;flex-shrink:1}
@media(max-width:1330px){
  body.nv2-app .nv2-nav-right{padding-right:222px}
  body.nv2-app .nv2-profile-actions{right:20px;width:190px}
}
@media(max-width:760px){
  body.nv2-app .nv2-nav-right{padding-right:90px}
  body.nv2-app .nv2-profile-actions{right:20px;width:70px}
  body.nv2-app .nv2-profile-actions .nv2-logout{width:70px;height:26px;min-height:26px;font-size:11px;padding:0 5px!important;line-height:24px}
}
@media(max-width:480px){
  body.nv2-app .nv2-profile-actions{right:20px}
  body.nv2-app .nv2-patient-status{max-width:72px}
  body.nv2-app .nv2-patient-status strong{max-width:72px}
}

/* Authenticated header: 20px more height, Role under wordmark,
   Patient Selected near bottom, and half-width right-anchored Logout. */
body.nv2-app .nv2-nav-shell{height:106px}
body.nv2-app .nv2-header-spacer{height:106px;min-height:106px}
body.nv2-app .nv2-app-badge{top:calc(var(--nv2-nav-top) + 120px)}
body.nv2-app .nv2-brand{position:relative;align-self:center}
body.nv2-app .nv2-brand .nv2-brand-role{position:absolute;left:30%;top:69%;display:flex;align-items:center;gap:5px;color:#9cebdc;font:700 11px/1.2 Inter,Arial,sans-serif;white-space:nowrap;grid-template-columns:none;pointer-events:none}
body.nv2-app .nv2-brand .nv2-brand-role[hidden]{display:none!important}
body.nv2-app .nv2-brand .nv2-brand-role .nv2-identity-label{color:#8dcac4}
body.nv2-app .nv2-brand .nv2-brand-role .nv2-identity-value{color:#fff;font-weight:800}
body.nv2-app .nv2-patient-status{margin-bottom:10px}
body.nv2-app .nv2-profile-actions{height:106px}
body.nv2-app .nv2-profile-actions .nv2-logout{width:100px;align-self:flex-end}
@media(max-width:1330px){body.nv2-app .nv2-brand .nv2-brand-role{font-size:10px}}
@media(max-width:760px){body.nv2-app .nv2-profile-actions .nv2-logout{width:70px}body.nv2-app .nv2-brand .nv2-brand-role{font-size:9px}}


/* Header micro-adjustment: role beneath the wordmark and signed-in identity
   in the top ribbon, right-aligned to the same 20px edge as Logout. */
body.nv2-app .nv2-brand .nv2-brand-role{
  left:calc(30% + 6px);
  top:calc(69% + 10px);
}
body.nv2-app .nv2-topline > .nv2-identity{
  position:absolute;
  top:4px;
  right:20px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
  width:max-content;
  max-width:min(380px,calc(50vw - 300px));
  min-width:0;
  font-size:10px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:normal;
  text-align:right;
  pointer-events:none;
}
body.nv2-app .nv2-topline > .nv2-identity[hidden]{display:none!important}
body.nv2-app .nv2-topline .nv2-identity-line{
  width:100%;
  display:flex;
  justify-content:flex-end;
  align-items:baseline;
  gap:5px;
  min-width:0;
}
body.nv2-app .nv2-topline .nv2-identity-label{
  flex:none;
  color:#8dcac4;
  font-weight:750;
  text-align:right;
}
body.nv2-app .nv2-topline .nv2-identity-value{
  flex:0 1 auto;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:800;
  color:#fff;
  text-align:right;
}


/* Keep the clinical announcement and signed-in Name/Account ribbon visible
   while the workspace scrolls. The original fixed navigation remains below. */
body.nv2-app .nv2-topline {
  position: sticky !important;
  top: 0 !important;
  z-index: 91;
}


/* ESBA protection belongs beside the platform attribution in the footer. */
body.nv2-app .nv2-app-badge{display:none!important}
body.nv2-app .nv2-footer-brand-end{
  display:flex;align-items:center;justify-content:flex-start;gap:17px;max-width:350px;
  margin-top:12px;
}
body.nv2-app .nv2-footer-brand-end p{margin:0;flex:0 1 auto;}
body.nv2-app .nv2-footer-brand-end .nv2-footer-esba{
  display:inline-flex;flex:none;align-items:center;justify-content:center;
  width:60px;height:60px;border-radius:50%;text-decoration:none;
  transition:transform .2s ease;
}
body.nv2-app .nv2-footer-brand-end .nv2-footer-esba img{
  display:block;width:60px;height:60px;max-width:100%;object-fit:contain;
}
body.nv2-app .nv2-footer-brand-end .nv2-footer-esba:hover,
body.nv2-app .nv2-footer-brand-end .nv2-footer-esba:focus-visible{transform:scale(1.06)}
body.nv2-app .nv2-menu-intro p:empty{display:none}
@media(max-width:480px){
  body.nv2-app .nv2-footer-brand-end .nv2-footer-esba,
  body.nv2-app .nv2-footer-brand-end .nv2-footer-esba img{width:52px;height:52px}
}


/* 2026-11-02: Keep the entire announcement/identity ribbon visible while
   scrolling. Unlike sticky, fixed is independent of ancestor overflow. */
body.nv2-app{padding-top:35px!important}
body.nv2-app .nv2-topline{
  position:fixed!important;
  top:0!important;left:0!important;right:0!important;
  width:100%!important;box-sizing:border-box;
  min-height:35px;z-index:110!important;
}
/* The existing v2-app.js places the fixed navigation below the ribbon using
   --nv2-nav-top (computed from the ribbon's bounding rectangle). */


/* Restore the subtle v2 floating navigation behavior without letting the
   announcement/identity ribbon scroll away. Only the second bar contracts. */
body.nv2-app .nv2-nav-shell,
body.nv2-app .nv2-header-spacer,
body.nv2-app .nv2-profile-actions{
  transition:height 220ms ease, min-height 220ms ease;
}
body.nv2-app.nv2-nav-condensed .nv2-nav-shell{height:88px}
body.nv2-app.nv2-nav-condensed .nv2-header-spacer{height:88px;min-height:88px}
body.nv2-app.nv2-nav-condensed .nv2-profile-actions{height:88px}
@media (prefers-reduced-motion:reduce){
  body.nv2-app .nv2-nav-shell,
  body.nv2-app .nv2-header-spacer,
  body.nv2-app .nv2-profile-actions{transition:none}
}


/* NevoMD v2 unified clinical surfaces: transparent outer wrapper, original
   panels recolored only. No functional form controls are removed. */
html body.nv2-app .app-page-content.nvx-workspace-main,
html body.nv2-app .nvx-workspace-main,
html body.nv2-app .app-page-content{
  background:transparent!important; border:0!important; box-shadow:none!important;
  border-radius:0!important; padding:0 0 28px!important; overflow:visible!important;
}
body.nv2-app .app-page-shell.nvx-workspace-layout,
body.nv2-app .nvx-workspace-layout{padding-top:20px!important;}
body.nv2-app .nvx-workspace-inline-head{
  background:linear-gradient(110deg,#d6f0e7,#ebf6f1)!important;
  border:1px solid #bfe0d8!important;
  box-shadow:0 7px 20px rgba(8,35,48,.08);
}
/* Remove the second white/grey outer shells, retaining the tables, fields
   and embedded results within each existing functional section. */
body.nv2-app .nvx-workspace-main .nvx-workspace-inner-panel,
body.nv2-app .nvx-workspace-main :is(.support-card,.dashboard-v2-tab-panel,.patient-section,.tab-section,.doctors-tool-card,.subscription-content){
  background:linear-gradient(115deg,#d9f1e9,#eaf6f1)!important;
  border-color:#b9dcd3!important;
  box-shadow:none!important;
}
body.nv2-app .nvx-workspace-main :is(.support-card,.tab-section,.dashboard-v2-tab-panel,.nvx-workspace-inner-panel){border-radius:16px!important;}
body.nv2-app.dashboard-page #dashboard-tab-patients #patientToolbar,
body.nv2-app.dashboard-page #dashboard-tab-patients .analysis-toolbar,
body.nv2-app.dashboard-page .dashboard-v2-tab-panel{
  background:linear-gradient(110deg,#d9f1e9,#eaf6f1)!important;
}
body.nv2-app.newpatient-page #section-labs > div[style*="background: #ffffff"],
body.nv2-app.newpatient-page #section-labs > div[style*="background:#ffffff"],
body.nv2-app.newpatient-page #section-labs #labs-section,
body.nv2-app.newpatient-page #section-labs #lab-results-section,
body.nv2-app.newpatient-page #section-images .images-outer-wrapper,
body.nv2-app.newpatient-page #section-images .images-inner-wrapper,
body.nv2-app.newpatient-page #section-images #images-section{
  background-color:#e1f3ed!important;
  border-color:#bfddd7!important;
}
/* Clinical analysis report no longer sits inside an extra gray frame. */
body.nv2-app.newpatient-page #section-diagnosis2,
body.nv2-app.newpatient-page #section-diagnosis2 .nvx-workspace-inner-panel,
body.nv2-app.research-page .research-results-shell,
body.nv2-app.research-page .research-output-shell{
  background:transparent!important;border-color:transparent!important;box-shadow:none!important;
}
body.nv2-app .nvx-workspace-main :is(.section-card,.form-card,.dashboard-card,.dashboard-panel,.panel,.info-box,.content-card,.card,.research-card,.support-card,.patient-section,.medication-card,.doctor-card){
  background-color:#e1f2ed!important;
}
/* Attach elapsed time to the right side of the original green title. */
body.nv2-app .nvx-workspace-inline-head:has(.nv2-progress-slot:not([hidden])){
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(300px,430px);
  align-items:center;column-gap:24px;min-height:145px;
}
body.nv2-app .nvx-workspace-inline-head:has(.nv2-progress-slot:not([hidden])) > :not(.nv2-progress-slot){grid-column:1;min-width:0}
body.nv2-app .nv2-progress-slot{grid-column:2;grid-row:1 / span 4;min-width:0;align-self:center;margin-left:auto;width:100%;}
body.nv2-app .nv2-progress-slot[hidden],body.nv2-app .nv2-progress-slot > [hidden]{display:none!important}
body.nv2-app .nv2-progress-slot .np-elapsed-progress-panel,
body.nv2-app .nv2-progress-slot .research-wait-panel{
  width:100%!important;max-width:none!important;margin:0!important;
  border:0!important;box-shadow:none!important;border-radius:0!important;
  background:transparent!important;padding:2px 0!important;
  position:static!important;min-height:0!important;
  display:grid!important;grid-template-columns:minmax(0,1fr) auto;
  align-items:center;column-gap:8px;row-gap:3px;
}
body.nv2-app .nv2-progress-slot .np-elapsed-progress-wrap,
body.nv2-app .nv2-progress-slot .research-progress-wrap{width:100%!important;grid-column:1/-1;max-width:none!important;min-width:0!important;margin:0!important}
body.nv2-app .nv2-progress-slot .np-elapsed-progress-title,
body.nv2-app .nv2-progress-slot .research-progress-title{text-align:center;font-size:12px!important;margin:0 0 6px!important;font-weight:800}
body.nv2-app .nv2-progress-slot .np-elapsed-progress-track,
body.nv2-app .nv2-progress-slot .np-elapsed-progress-scale,
body.nv2-app .nv2-progress-slot .research-progress-track,
body.nv2-app .nv2-progress-slot .research-progress-scale{
  width:75%!important;max-width:75%!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important;
}
body.nv2-app .nv2-progress-slot :is(.np-elapsed-progress-message,.spinner-text){
  grid-column:1!important;grid-row:2;display:flex!important;align-items:center;justify-content:flex-end;
  flex-wrap:wrap;gap:3px;font-size:11px!important;margin:0!important;text-align:right!important;
  padding:0!important;white-space:normal;
}
body.nv2-app .nv2-progress-slot :is(.np-elapsed-progress-message,.spinner-text) :is([id$="-progress-note"],.nv2-status-boilerplate){display:none!important}
body.nv2-app .nv2-progress-slot :is(.np-elapsed-progress-actions,.research-progress-actions){
  grid-column:2!important;grid-row:2;display:flex!important;align-items:center;justify-content:flex-start!important;margin:0!important;
}
body.nv2-app .nv2-progress-slot :is(.np-stop-processing-button,.research-stop-processing-button){
  width:auto!important;min-width:56px!important;height:25px!important;min-height:0!important;
  padding:3px 10px!important;font-size:10px!important;line-height:1!important;
}
body.nv2-app .nv2-progress-slot :is(.np-elapsed-progress-spinner,#research-progress-spinner){
  grid-column:1;grid-row:3;margin:0 auto!important;
}
body.nv2-app .nv2-progress-slot :is(#medication-review-progress-elapsed-wrap)[hidden]{display:none!important}
body.nv2-app .nv2-progress-slot :is(.np-elapsed-progress-message,.spinner-text) [id$="-progress-elapsed"]{font-weight:850}
@media(max-width:970px){
 body.nv2-app .nvx-workspace-inline-head:has(.nv2-progress-slot:not([hidden])){grid-template-columns:minmax(0,1fr);row-gap:14px}
 body.nv2-app .nv2-progress-slot{grid-column:1!important;grid-row:auto;margin:0 auto;max-width:450px}
}
@media(max-width:600px){body.nv2-app .nv2-progress-slot{max-width:100%}}

/* Medication review and research preparation panels use the same soft green
   visual surface as the other v2 clinical work areas. Preserve result rows. */
body.nv2-app.medicationreview-page :is(#section-review,#section-analyze) .mr-card:not(.mr-results-card),
body.nv2-app.medicationreview-page :is(.mr-form-panel,.mr-review-info-panel),
body.nv2-app.research-page :is(#section-diagnosis,#section-research,#section-trials),
body.nv2-app.newpatient-page :is(#section-patient,#section-diagnosis3,#section-labs,#section-images){
  background-color:#e1f2ed!important;border-color:#bfddd7!important;
}


/* Regression correction: one timer per currently selected workflow. */
body.nv2-app .nv2-progress-slot:empty{display:none!important}
body.nv2-app .nv2-progress-slot > [hidden]{display:none!important}
body.nv2-app .nv2-progress-slot .research-wait-panel,
body.nv2-app .nv2-progress-slot .np-elapsed-progress-panel{
  grid-template-columns:minmax(0,1fr) 56px!important;
  width:100%!important;
}
body.nv2-app .nv2-progress-slot .research-progress-actions,
body.nv2-app .nv2-progress-slot .np-elapsed-progress-actions{
  grid-column:2!important;grid-row:2!important;justify-self:end!important;
  align-self:center!important;display:flex!important;justify-content:flex-end!important;
  margin:0!important;padding:0!important;
}
body.nv2-app .nv2-progress-slot .research-progress-actions button,
body.nv2-app .nv2-progress-slot .np-elapsed-progress-actions button{
  width:50px!important;min-width:50px!important;min-height:0!important;height:25px!important;
  padding:3px 6px!important;margin:0!important;font-size:10px!important;line-height:1!important;
}
body.nv2-app .nv2-progress-slot :is(.spinner-text,.np-elapsed-progress-message){
  grid-column:1!important;grid-row:2!important;justify-content:flex-end!important;align-self:center!important;
}
body.nv2-app .nv2-progress-slot .nv2-status-boilerplate{display:none!important}
body.nv2-app .nv2-progress-slot :is([id$="-progress-note"]){display:none!important}

/* Keep green page headings wholly below the fixed two-level header. */
body.nv2-app .nvx-workspace-inline-head{
  margin-top:24px!important;
  scroll-margin-top:180px!important;
}
body.nv2-app .app-page-content :is(.tab-section,.dashboard-v2-tab-panel){scroll-margin-top:180px}

/* Complex Case Analysis report: one green parent, no white nested sheet.
   The original navigation/Print and report DOM nodes are preserved. */
body.nv2-app.newpatient-page #section-diagnosis{
  background:linear-gradient(110deg,#d9f1e9,#eaf6f1)!important;
  border:1px solid #b9dcd3!important;border-radius:17px!important;
  padding:18px 20px 24px!important;box-shadow:none!important;
}
body.nv2-app.newpatient-page #section-diagnosis > div[style],
body.nv2-app.newpatient-page #section-diagnosis .h-scroll,
body.nv2-app.newpatient-page #section-diagnosis #diagnosisResult,
body.nv2-app.newpatient-page #section-diagnosis .dx-report{
  background:transparent!important;box-shadow:none!important;
}
body.nv2-app.newpatient-page #section-diagnosis #dx-nav-wrapper{
  background:transparent!important;border:0!important;box-shadow:none!important;
  position:relative!important;z-index:1!important;padding:8px 0 14px!important;margin:0 0 8px!important;
}
body.nv2-app.newpatient-page #section-diagnosis .np-analysis-title-row{
  margin:0 0 12px!important;justify-content:center;
}
/* The empty legacy report-navigation section is retained in the DOM for
   its section IDs, but no extra blank card should be painted. */
body.nv2-app.newpatient-page #section-diagnosis2{
  background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important;
}
body.nv2-app.newpatient-page #section-diagnosis2:not(:has(#dx-nav-wrapper)){
  display:none!important;
}

/* Account Details edit screen: remove only the form's outer white wrapper.
   Preserve its separate disclaimer bubble and existing form/validation IDs. */
body.nv2-app.dashboard-page #dashboard-tab-account{
  background:linear-gradient(110deg,#d9f1e9,#eaf6f1)!important;
}
body.nv2-app.dashboard-page #doctor-info-form{
  background:transparent!important;border:none!important;box-shadow:none!important;
  border-radius:0!important;padding:6px 10px!important;
}
body.nv2-app.dashboard-page #medical-disclaimer-box{
  border-radius:12px!important;
}


/* Authenticated v2 title panels only: exact color from user-provided PNG
   (#A1DEE8); keep clinical content, tables, results, and public homepage unchanged. */
body.nv2-app .nvx-workspace-inline-head{
  background:#A1DEE8!important;
  border-color:#A1DEE8!important;
  color:#092c3e!important;
}
body.nv2-app .nvx-workspace-inline-head :is(h1,h2,h3,h4,p,small),
body.nv2-app .nvx-workspace-inline-head .nvx-workspace-card-case,
body.nv2-app .nvx-workspace-inline-head .nvx-workspace-card-case span{
  color:#092c3e!important;
}

/* Every active workflow (analysis, labs, images, medications, research):
   one 25%-shorter progress bar, flush right with a 30px header inset;
   elapsed time and the original Stop control centered together below. */
body.nv2-app .nvx-workspace-inline-head:has(.nv2-progress-slot:not([hidden])){
  padding-right:30px!important;
}
body.nv2-app .nv2-progress-slot:not([hidden]){
  width:min(100%,322px)!important;
  max-width:322px!important;
  margin-left:auto!important;
  margin-right:0!important;
  align-self:center!important;
  min-width:0!important;
}
body.nv2-app .nv2-progress-slot > :is(.np-elapsed-progress-panel,.research-wait-panel){
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:stretch!important;
  gap:4px!important;
  width:100%!important;
}
body.nv2-app .nv2-progress-slot :is(.np-elapsed-progress-wrap,.research-progress-wrap){
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
}
body.nv2-app .nv2-progress-slot :is(.np-elapsed-progress-track,.np-elapsed-progress-scale,.research-progress-track,.research-progress-scale){
  width:100%!important;
  max-width:100%!important;
  margin-inline:0!important;
  box-sizing:border-box!important;
}
body.nv2-app .nv2-progress-slot .nv2-progress-control-row{
  width:100%!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  min-height:26px;
  margin:2px 0 0!important;
}
body.nv2-app .nv2-progress-slot .nv2-progress-control-row :is(.np-elapsed-progress-message,.spinner-text){
  display:inline-flex!important;
  flex:0 1 auto!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  justify-content:center!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:3px!important;
  text-align:center!important;
  white-space:normal!important;
  font-size:11px!important;
}
body.nv2-app .nv2-progress-slot .nv2-progress-control-row :is(.np-elapsed-progress-actions,.research-progress-actions){
  display:inline-flex!important;
  flex:none!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:auto!important;
  align-self:center!important;
  margin:0!important;
  padding:0!important;
  width:auto!important;
}
body.nv2-app .nv2-progress-slot .nv2-progress-control-row :is(.np-stop-processing-button,.research-stop-processing-button){
  width:50px!important;
  min-width:50px!important;
  max-width:50px!important;
  height:25px!important;
  min-height:0!important;
  line-height:1!important;
  padding:3px 6px!important;
  font-size:10px!important;
}
@media(max-width:970px){
  body.nv2-app .nv2-progress-slot:not([hidden]){
    margin-inline:auto!important;
    max-width:322px!important;
  }
}
@media(max-width:460px){
  body.nv2-app .nv2-progress-slot:not([hidden]){width:100%!important;}
  body.nv2-app .nv2-progress-slot .nv2-progress-control-row{gap:6px!important;}
}


/* NevoMD v2 authenticated clinical panels — transparent canvas with a subtle
   white perimeter. Scope to v2 app only; the coral title panels and public
   site are deliberately excluded. No DOM controls or API code are changed. */
body.nv2-app .nv2-brand .nv2-brand-role .nv2-identity-label{
  color:#fb9c72!important;
}

/* One outline for each functional section; do not recolor children that are
   independently useful cards (e.g. medication review readiness, input fields). */
html body.nv2-app .nvx-workspace-main .nvx-workspace-inner-panel,
html body.nv2-app .nvx-workspace-main :is(.tab-section,.dashboard-v2-tab-panel,.support-card,.patient-section,.doctors-tool-card,.subscription-content){
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:1px solid rgba(255,255,255,.53)!important;
  box-shadow:none!important;
  border-radius:17px!important;
  color:#edf9fb!important;
}

/* Section-leading headings and helper copy must work directly on the navy
   background. Do not style actual input values, tables, or results cards. */
body.nv2-app .nvx-workspace-main .nvx-workspace-inner-panel > :is(h1,h2,h3,h4,p),
body.nv2-app .nvx-workspace-main .nvx-workspace-inner-panel > .dx-workflow-title,
body.nv2-app .nvx-workspace-main .nvx-workspace-inner-panel > .mr-page-heading :is(h1,h2,h3,p),
body.nv2-app .nvx-workspace-main .nvx-workspace-inner-panel > .analysis-row h2,
body.nv2-app .nvx-workspace-main .nvx-workspace-inner-panel > .research-title-wrap :is(h2,h3,p){
  color:#f3fcfc!important;
}

/* Flatten the remaining outer green layers in patient labs / images. Do not
   flatten separate file previews or tabular laboratory results. */
body.nv2-app.newpatient-page #section-labs :is(#labs-section,#lab-results-section),
body.nv2-app.newpatient-page #section-labs > div[style*="background: #ffffff"],
body.nv2-app.newpatient-page #section-labs > div[style*="background:#ffffff"],
body.nv2-app.newpatient-page #section-images :is(.images-outer-wrapper,.images-inner-wrapper,#images-section){
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
body.nv2-app.newpatient-page #section-labs :is(#labs-section,#lab-results-section) :is(h2,h3,h4),
body.nv2-app.newpatient-page #section-images :is(.images-outer-wrapper,.images-inner-wrapper,#images-section) > :is(h2,h3,h4,p),
body.nv2-app.newpatient-page #section-labs #labs-section > :is(p,div:first-child){
  color:#f2fcfc!important;
}

/* Medication Review: only the outer green parent becomes transparent. The
   original inner green form and Review Readiness card remain pale green. */
body.nv2-app.medicationreview-page #section-review .mr-page-heading p,
body.nv2-app.medicationreview-page #section-analyze > .dx-workflow-title{
  color:#f7ffff!important;
}
body.nv2-app.medicationreview-page #section-analyze > .dx-results-arrow-wrap .dx-results-arrow::before{
  background:#f7ffff!important;
}
body.nv2-app.medicationreview-page #section-analyze > .dx-results-arrow-wrap .dx-results-arrow::after{
  border-top-color:#f7ffff!important;
}
body.nv2-app.medicationreview-page #section-analyze .mr-readiness-card{
  background:linear-gradient(115deg,#d9f1e9,#eaf6f1)!important;
  border:1px solid #bfded8!important;
  color:#123143!important;
}
body.nv2-app.medicationreview-page #section-analyze .mr-readiness-card :is(h2,h3,p,div){
  color:#123143!important;
}

/* Clinical analysis reports are a single outlined transparent region. The
   report body and section titles must be readable over navy. Keep the tables
   themselves light with dark cells for data accuracy/readability. */
html body.nv2-app.newpatient-page #section-diagnosis{
  background:transparent!important;
  background-image:none!important;
  border:1px solid rgba(255,255,255,.56)!important;
  color:#f5ffff!important;
}
body.nv2-app.newpatient-page #section-diagnosis :is(#diagnosisResult,.h-scroll,.dx-report,.dx-section),
body.nv2-app.newpatient-page #section-diagnosis > div[style*="background"]{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}
body.nv2-app.newpatient-page #section-diagnosis #diagnosisResult .dx-report{
  color:#f1fcfd!important;
}
body.nv2-app.newpatient-page #section-diagnosis #diagnosisResult :is(
  .dx-title,.dx-section-title,.dx-subtitle,.dx-general-report-meta,
  .dx-general-diagnosis-title,.dx-analysis-subtitle,h1,h2,h3,h4
){
  color:#f8ffff!important;
}
body.nv2-app.newpatient-page #section-diagnosis #diagnosisResult .dx-section-title{
  border-bottom-color:rgba(251,156,114,.86)!important;
}
body.nv2-app.newpatient-page #section-diagnosis #diagnosisResult .dx-general-back-to-toc a{
  color:#fb9c72!important;
  font-weight:750;
}
body.nv2-app.newpatient-page #section-diagnosis #diagnosisResult .dx-general-back-to-toc a:hover{
  color:#ffd0b9!important;
  text-decoration:underline;
}
/* Light report sub-cards and tables retain their own dark text contrast. */
body.nv2-app.newpatient-page #section-diagnosis #diagnosisResult :is(.dx-table,.dx-table td,.dx-table th){
  color:#173044!important;
}
body.nv2-app.newpatient-page #section-diagnosis #diagnosisResult .dx-general-report-sections{
  color:#173044!important;
}
body.nv2-app.newpatient-page #section-diagnosis #diagnosisResult .dx-general-report-sections :is(h1,h2,h3,h4,a,.dx-general-report-sections-title){
  color:#173f7a!important;
}
/* Ensure printed reports remain independent of the dark on-screen theme. */
@media print{
  body.nv2-app.newpatient-page #section-diagnosis #diagnosisResult .dx-report,
  body.nv2-app.newpatient-page #section-diagnosis #diagnosisResult :is(.dx-title,.dx-section-title,.dx-subtitle,h1,h2,h3,h4){
    color:#0f172a!important;
  }
  html body.nv2-app.newpatient-page #section-diagnosis{
    background:#fff!important;border:0!important;color:#0f172a!important;
  }
}

/* Non-report clinical fields and headings now sit on the darker outer canvas.
   Keep standard text legible without changing the colors of actual form inputs
   or the tabular result cells. */
body.nv2-app.dashboard-page #dashboard-tab-account #doctor-info-panel,
body.nv2-app.dashboard-page #dashboard-tab-account #doctor-info-panel :is(td,th,strong,b,label,p),
body.nv2-app.dashboard-page #dashboard-tab-patients > :is(h2,h3,p),
body.nv2-app.newpatient-page #section-patient :is(.patient-header,.pi-title),
body.nv2-app.newpatient-page #section-labs :is(#labs-section,#lab-results-section) :is(label,p,small),
body.nv2-app.newpatient-page #section-labs :is(#labs-section,#lab-results-section) :is(h2,h3,h4),
body.nv2-app.newpatient-page #section-images :is(#images-section,.images-outer-wrapper) > :is(h2,h3,h4,p),
body.nv2-app.research-page #section-diagnosis > :is(h2,h3,h4,p,.dx-workflow-title),
body.nv2-app.support-page .support-card > :is(h2,h3,h4,p){
  color:#f0fafa!important;
}
/* All clinical input fields and light cards retain dark labels and values. */
body.nv2-app.medicationreview-page .mr-card :is(.mr-field > span,h2,h3,h4),
body.nv2-app.medicationreview-page .mr-card :is(label,.mr-k),
body.nv2-app.newpatient-page #section-labs table :is(td,th),
body.nv2-app.newpatient-page #section-images table :is(td,th),
body.nv2-app.research-page #section-diagnosis table :is(td,th),
body.nv2-app.dashboard-page #doctor-info-form :is(label,td,th),
body.nv2-app.support-page .support-card :is(.support-warning,.support-warning p){
  color:#123143!important;
}
body.nv2-app.newpatient-page #section-diagnosis :is(.np-analysis-title-row,.np-analysis-title-row h2,.np-analysis-title-row h3,#dxCounter){
  color:#f8ffff!important;
}

/* NevoMD v2 authenticated clinical surfaces — targeted regression corrections.
   Only visual properties; no clinical controllers, data or DOM changed. */

/* Logo stays the original PNG; restore the standard mint Role label and
   present a human-readable role value without modifying stored role codes. */
html body.nv2-app .nv2-brand .nv2-brand-role .nv2-identity-label {
  color:#8dcac4!important;
}
html body.nv2-app .nv2-brand .nv2-brand-role .nv2-identity-value {
  color:#fff!important;
  text-transform:capitalize!important;
}

/* These are the actual functional sections. Some are siblings of (not
   descendants of) .nvx-workspace-main, so scope them by page and ID. */
html body.nv2-app.dashboard-page #dashboard-tab-patients,
html body.nv2-app.newpatient-page :is(#section-patient,#section-labs,#section-images,#section-diagnosis3),
html body.nv2-app.research-page #section-diagnosis,
html body.nv2-app.medicationreview-page :is(#section-review,#section-analyze) {
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:1px solid rgba(238,252,252,.57)!important;
  border-radius:16px!important;
  box-shadow:none!important;
  color:#f1fcfd!important;
}
/* Patient selection: remove only the unnecessary inner green rectangle.
   Keep the outer outlined panel and the working patient list/assessment. */
html body.nv2-app.dashboard-page #dashboard-tab-patients :is(#patientToolbar,.analysis-toolbar),
html body.nv2-app.dashboard-page #dashboard-tab-patients .toolbar-center {
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}
html body.nv2-app.dashboard-page #dashboard-tab-patients :is(.patient-search-label,.patient-selection-guidance,.dashboard-top-diagnosis-label) {
  color:#edf9fc!important;
}
/* The blue latest-assessment chip remains blue, not an outlined transparent card. */

/* Intake: no green form panel; labels on the navy canvas must be white.
   Inputs themselves continue to have pale backgrounds with dark values. */
html body.nv2-app.newpatient-page #section-patient :is(#patient-form-grid,.patient-header),
html body.nv2-app.newpatient-page #section-patient > div[style*="background"] {
  background:transparent!important;background-image:none!important;
  border-color:transparent!important;box-shadow:none!important;
}
html body.nv2-app.newpatient-page #section-patient :is(label,.patient-form-label,.patient-field-label),
html body.nv2-app.newpatient-page #section-patient #patient-form-grid :is(td,th,strong) {
  color:#f2fcfc!important;
}

/* Labs: remove the inherited green tab panel and its green inner wrapper;
   keep light table cells and actual editable lab fields legible. */
html body.nv2-app.newpatient-page #section-labs > div[style*="background"],
html body.nv2-app.newpatient-page #section-labs :is(#labs-section,#lab-results-section) {
  background:transparent!important;background-image:none!important;
  box-shadow:none!important;border-color:transparent!important;
}
html body.nv2-app.newpatient-page #section-labs :is(#labs-section,#lab-results-section) :is(h2,h3,h4,label,u),
html body.nv2-app.newpatient-page #section-labs :is(#labs-section,#lab-results-section) > :is(div,p) {
  color:#f5ffff!important;
}
/* Lab table/cells and date/file values are on light surfaces. */
html body.nv2-app.newpatient-page #section-labs :is(table,thead,tbody,tr,td,th) {
  color:#123143!important;
}
html body.nv2-app.newpatient-page #section-labs :is(table,thead,tbody,tr,td,th) :not(button):not(a) {
  color:#123143!important;
}
html body.nv2-app.newpatient-page #section-labs :is(input,select,textarea) {
  color:#123143!important;
}

/* Images: transparent full-size section and nested wrappers, not three
   competing pale-green rectangles. Previews keep their own pale canvas. */
html body.nv2-app.newpatient-page #section-images :is(.images-outer-wrapper,.images-inner-wrapper,#images-section),
html body.nv2-app.newpatient-page #section-images > div[style*="background"] {
  background:transparent!important;background-image:none!important;
  border-color:transparent!important;box-shadow:none!important;
}
html body.nv2-app.newpatient-page #section-images :is(.images-upload-group,.images-outer-wrapper,#images-section) > :is(h1,h2,h3,h4,p),
html body.nv2-app.newpatient-page #section-images :is(.images-upload-group,.images-inner-wrapper) :is(label,h3),
html body.nv2-app.newpatient-page #section-images .images-list-box :is(p,em) {
  color:#f2fcfc!important;
}
html body.nv2-app.newpatient-page #section-images :is(.images-list-box,.images-preview-box,.image-uploads-scroll) :is(input,textarea,select,table,td,th) {
  color:#123143!important;
}

/* Main clinical analysis Start/Results panel: transparent and outlined.
   White section titles and arrows have contrast on the navy background. */
html body.nv2-app.newpatient-page #section-diagnosis3 :is(.dx-workflow-title,.np-analysis-title-row h2) {
  color:#f5ffff!important;
}
html body.nv2-app.newpatient-page #section-diagnosis3 .dx-results-arrow::before { background:#f5ffff!important; }
html body.nv2-app.newpatient-page #section-diagnosis3 .dx-results-arrow::after { border-top-color:#f5ffff!important; }

/* Medication review entry form: remove the green *inner* card completely,
   including its border; keep its data-entry geometry unchanged. */
html body.nv2-app.medicationreview-page #section-review #medicationReviewForm.mr-card {
  background:transparent!important;background-color:transparent!important;background-image:none!important;
  border:0!important;box-shadow:none!important;
}
html body.nv2-app.medicationreview-page #section-review :is(.mr-page-heading p,#medicationReviewForm > h2),
html body.nv2-app.medicationreview-page #section-review #medicationReviewForm :is(label,.mr-field > span,.mr-field > span b) {
  color:#f4fcfd!important;
}
html body.nv2-app.medicationreview-page #section-review #medicationReviewForm :is(textarea,input,select) {
  color:#123143!important;
  background-color:#f9fffe!important;
}
/* The separately requested readiness card stays mint green with dark text. */
html body.nv2-app.medicationreview-page #section-analyze .mr-readiness-card {
  background:linear-gradient(115deg,#d9f1e9,#eaf6f1)!important;
  border:1px solid #bfded8!important;
  color:#123143!important;
}
html body.nv2-app.medicationreview-page #section-analyze .mr-readiness-card :is(h1,h2,h3,p,div,span) {
  color:#123143!important;
}

/* Clinical Trials and Literature: the actual #section-diagnosis holds the
   whole research workflow. Its research-results-shell remains transparent;
   only individual result sheets stay white with dark body text. */
html body.nv2-app.research-page #section-diagnosis :is(.research-results-shell,.research-output-shell),
html body.nv2-app.research-page #section-diagnosis .research-title-wrap {
  background:transparent!important;background-image:none!important;
  box-shadow:none!important;border-color:transparent!important;
}
html body.nv2-app.research-page #section-diagnosis :is(.dx-focus-row label,.research-progress-head,.research-title-wrap h2) {
  color:#f4ffff!important;
}
html body.nv2-app.research-page #section-diagnosis #diagnosisResult {
  background:#fff!important;color:#123143!important;
}
html body.nv2-app.research-page #section-diagnosis #diagnosisResult :is(h1,h2,h3,h4,p,div,span,li,td,th) {
  color:#123143!important;
}
html body.nv2-app.research-page #section-diagnosis #diagnosisResult a:not(.blue-button) {
  color:#173f7a!important;
}

/* Pharmaceutical analysis: the outer report outline remains transparent as
   approved. Inside any *white* report table/sheet, use dark text, including
   child spans and generated paragraphs that previously inherited near-white. */
html body.nv2-app.newpatient-page #section-diagnosis #diagnosisResult :is(table,thead,tbody,tr,td,th),
html body.nv2-app.newpatient-page #section-diagnosis #diagnosisResult :is(table,thead,tbody,tr,td,th) :not(button):not(a),
html body.nv2-app.newpatient-page #section-diagnosis #diagnosisResult :is(.dx-table,.dx-table *) {
  color:#123143!important;
}
html body.nv2-app.newpatient-page #section-diagnosis #diagnosisResult :is(table,td,th) a {
  color:#173f7a!important;
}
/* Keep the dark-canvas section headings white and TOC return links coral. */
html body.nv2-app.newpatient-page #section-diagnosis #diagnosisResult .dx-section-title {
  color:#fff!important;
}
html body.nv2-app.newpatient-page #section-diagnosis #diagnosisResult .dx-general-back-to-toc a {
  color:#fb9c72!important;
}

/* Medication-interactions generated analysis: unlike the outer navy panel,
   its populated report is a WHITE sheet. Make all content there dark,
   including generated text, lists and table-cell descendants. */
html body.nv2-app.medicationreview-page #mrResults {
  background:#fff!important;
  color:#123143!important;
}
html body.nv2-app.medicationreview-page #mrResults :is(h1,h2,h3,h4,h5,p,div,span,li,ul,ol,td,th,blockquote,strong,em,small) {
  color:#123143!important;
}
html body.nv2-app.medicationreview-page #mrResults :is(h1,.mr-report-title,.mr-report-heading) {
  font-size:clamp(24px,2.5vw,36px)!important;
  line-height:1.16!important;
  letter-spacing:-.025em!important;
  overflow-wrap:anywhere!important;
}
html body.nv2-app.medicationreview-page #mrResults :is(h2,h3,h4) {
  line-height:1.3!important;
}
html body.nv2-app.medicationreview-page #mrResults :is(a,a:visited) {
  color:#173f7a!important;
}
html body.nv2-app.medicationreview-page #mrResults :is(button,.blue-button,.pill-btn) {
  color:#fff!important;
}

/* Restrict white-on-dark typography to surface text; fields/cards on white
   stay dark. Account details medical disclaimer remains unchanged. */
@media print {
  html body.nv2-app :is(#section-patient,#section-labs,#section-images,#section-diagnosis,#section-diagnosis3,#section-review,#section-analyze,#dashboard-tab-patients) {
    background:#fff!important;color:#123143!important;border-color:#ccc!important;
  }
}


/* v2 authenticated dark-surface contrast repair (2026-11-02)
   The original clinical pages define navy-colored captions and arrows for
   pale panels. These particular captions now sit directly on the dark v2
   canvas; do not change editable fields or generated light report cards. */

/* The original condition-focus label is #0f172a and the Start Now caption
   contains an inline color. Override those two specific inherited colors. */
html body.nv2-app.newpatient-page #section-diagnosis3 .dx-focus-row label,
html body.nv2-app.newpatient-page #section-diagnosis3 .action-launcher > span,
html body.nv2-app.newpatient-page #section-diagnosis3 .analysis-row--top .action-launcher > span {
  color:#f6ffff!important;
}

/* Use the vivid green of the original Start Research button (#2f9e44),
   rather than the pale mint Role label. Both shaft and tip use the same color. */
html body.nv2-app.newpatient-page #section-diagnosis3 .dx-results-arrow::before,
html body.nv2-app.medicationreview-page #section-analyze > .dx-results-arrow-wrap .dx-results-arrow::before,
html body.nv2-app.research-page #section-diagnosis .research-arrow::before,
html body.nv2-app.newpatient-page #section-images .dx-results-arrow::before {
  background-color:#2f9e44!important;
}
html body.nv2-app.newpatient-page #section-diagnosis3 .dx-results-arrow::after,
html body.nv2-app.medicationreview-page #section-analyze > .dx-results-arrow-wrap .dx-results-arrow::after,
html body.nv2-app.research-page #section-diagnosis .research-arrow::after,
html body.nv2-app.newpatient-page #section-images .dx-results-arrow::after {
  border-top-color:#2f9e44!important;
}

/* Direct-on-canvas workflow text: headings, labels, and helper copy only.
   Do not target descendants of white input fields, tables or report sheets. */
html body.nv2-app.newpatient-page #section-diagnosis3 .analysis-row :is(label,.dx-query-label),
html body.nv2-app.research-page #section-diagnosis .dx-focus-row label,
html body.nv2-app.research-page #section-diagnosis .analysis-row--top .action-launcher > span,
html body.nv2-app.medicationreview-page #section-analyze > .dx-workflow-title {
  color:#f6ffff!important;
}

/* Images workflow: the old hardcoded navy heading disappears on the new dark
   surface. Keep white preview/list cards and data-entry controls untouched. */
html body.nv2-app.newpatient-page #section-images .images-upload-group > div[style*="color:"],
html body.nv2-app.newpatient-page #section-images .images-inner-wrapper > div[style*="color:"] {
  color:#f6ffff!important;
}

/* Maintain dark text inside intentionally light report and data surfaces.
   Particularly important when the outer analysis panel is transparent. */
html body.nv2-app.newpatient-page #section-diagnosis #diagnosisResult :is(table,td,th) :is(span,p,strong,em),
html body.nv2-app.medicationreview-page #mrResults :is(table,td,th) :is(span,p,strong,em),
html body.nv2-app.research-page #section-diagnosis #diagnosisResult :is(table,td,th) :is(span,p,strong,em) {
  color:#123143!important;
}

@media print {
  html body.nv2-app.newpatient-page #section-diagnosis3 .dx-focus-row label,
  html body.nv2-app.newpatient-page #section-diagnosis3 .action-launcher > span,
  html body.nv2-app.research-page #section-diagnosis .dx-focus-row label {
    color:#123143!important;
  }
}


/* NevoMD v2: remaining large authenticated green parent surfaces.
   This targets only verified top-level panels. It deliberately retains the
   green Review Readiness child card, form fields, tables, and disclaimer. */
html body.nv2-app.dashboard-page #dashboard-tab-account,
html body.nv2-app.support-page .support-card,
html body.nv2-app.doctors-page .doctors-tool-card,
html body.nv2-app.outreach-page .panel {
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:1px solid rgba(238,252,252,.57)!important;
  border-radius:16px!important;
  box-shadow:none!important;
  color:#f1fcfd!important;
}

/* Light text only on the new dark canvas, not on white input/report surfaces. */
html body.nv2-app.dashboard-page #dashboard-tab-account > .dashboard-welcome-panel :is(h2,p),
html body.nv2-app.dashboard-page #dashboard-tab-account #doctor-info-form :is(.physician-account-title,.doctor-account-title-row label),
html body.nv2-app.support-page .support-card :is(h1,h2,.support-lead),
html body.nv2-app.support-page .support-card form label,
html body.nv2-app.doctors-page .doctors-tool-card :is(h1,.doctors-intro),
html body.nv2-app.doctors-page .doctors-tool-card .doctors-field-group > label,
html body.nv2-app.outreach-page .panel > :is(h2,p),
html body.nv2-app.outreach-page .panel .field > label {
  color:#f1fcfd!important;
}

/* Preserve readable dark text within intentionally light controls and cards. */
html body.nv2-app :is(.support-card,.doctors-tool-card,.panel,#dashboard-tab-account)
  :is(input,textarea,select,option) {
  color:#123143!important;
}
html body.nv2-app.support-page .support-card .support-warning,
html body.nv2-app.support-page .support-card .support-warning * {
  color:#7b2d17!important;
}

/* NevoMD v2 — generated Complex Case Analysis report contrast correction.
   Report section headings remain WHITE on the dark transparent report canvas.
   The report's own white patient-data, narrative, and table surfaces must use
   DARK text: the earlier white-on-dark rule inadvertently reached these areas.
   Scope exclusively to the generated report so other pages and inputs retain
   their approved colors and behavior. */
html body.nv2-app.newpatient-page #section-diagnosis #diagnosisResult .dx-box,
html body.nv2-app.newpatient-page #section-diagnosis #diagnosisResult .dx-report table {
  background-color:#ffffff!important;
  color:#172b3b!important;
}
html body.nv2-app.newpatient-page #section-diagnosis #diagnosisResult .dx-box :where(*),
html body.nv2-app.newpatient-page #section-diagnosis #diagnosisResult .dx-report table :where(*) {
  color:#172b3b!important;
}
/* Distinct report-table grid lines rather than white/low-contrast rules. */
html body.nv2-app.newpatient-page #section-diagnosis #diagnosisResult .dx-report table {
  border:1px solid #000000!important;
  border-collapse:collapse!important;
}
html body.nv2-app.newpatient-page #section-diagnosis #diagnosisResult .dx-report table :is(th,td) {
  border:1px solid #000000!important;
  color:#172b3b!important;
}
/* Report hyperlinks inside white content stay identifiable; Back to TOC
   remains coral outside those content surfaces. */
html body.nv2-app.newpatient-page #section-diagnosis #diagnosisResult :is(.dx-box,.dx-report table) a {
  color:#174f91!important;
}
@media print {
  html body.nv2-app.newpatient-page #section-diagnosis #diagnosisResult .dx-report table :is(th,td) {
    border-color:#000000!important;
  }
}


/* 2026-11-03 — Consistent fixed title blue bubble on authenticated pages.
   Labs is the desktop reference: one 126px-high, full-width banner.
   The separate navigation retains its original 106px -> 88px animation. */
html body.nv2-app{
  --nv2-title-height:126px;
  --nv2-active-nav-height:106px;
}
html body.nv2-app.nv2-nav-condensed{--nv2-active-nav-height:88px;}
html body.nv2-app .nv2-title-placeholder{
  display:block!important;
  height:var(--nv2-title-height)!important;
  margin:14px 0 38px!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked{
  position:fixed!important;
  z-index:80!important; /* below the existing navbar and its mega menus */
  top:calc(var(--nv2-nav-top,35px) + var(--nv2-active-nav-height) + 8px)!important;
  left:var(--nv2-title-left, 4vw)!important;
  width:var(--nv2-title-width,92vw)!important;
  height:var(--nv2-title-height)!important;
  min-height:var(--nv2-title-height)!important;
  max-height:var(--nv2-title-height)!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:20px 24px!important;
  border-radius:16px!important;
  overflow:visible!important;
  transition:top 220ms ease!important;
  align-content:center!important;
}
html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked > h2{
  margin:0 0 3px!important;line-height:1.13!important;
}
html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked > p{
  margin:0!important;line-height:1.35!important;
}
/* Existing processing bar remains in the title on the right, with 30px margin. */
html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked:has(.nv2-progress-slot:not([hidden])){
  grid-template-columns:minmax(0,1fr) minmax(240px,322px)!important;
  align-items:center!important;
  gap:20px!important;
  padding-right:30px!important;
}
/* Patient Intake and Medication Review: one matching lower-right action zone. */
html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked :is(.nv2-intake-actions,.nv2-review-save-actions){
  position:absolute!important;
  bottom:17px!important;
  right:30px!important;
  left:auto!important;
  margin:0!important;
  padding:0!important;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px!important;
  width:auto!important;
  max-width:calc(100% - 56px)!important;
}
html body.nv2-app .nvx-workspace-inline-head .nv2-intake-actions .patient-buttons{
  justify-content:flex-end!important;gap:12px!important;
}
html body.nv2-app.medicationreview-page:not([data-nv2-active-view="med-review"]) .nv2-review-save-actions{display:none!important;}
html body.nv2-app.newpatient-page:not(.medicationreview-page):not([data-nv2-active-view="intake"]) .nvx-workspace-inline-head .nv2-intake-actions{display:none!important;}
html body.nv2-app .nv2-review-save-actions .blue-button{
  width:auto!important;height:34px!important;min-height:34px!important;
  padding:0 16px!important;border-radius:9px!important;
}
/* Preserve original spinner node and its controller-driven visibility.
   Place it above/right of the timer rather than below the waiting status.
   No visual space is allocated in the title's grid or flex flow. */
html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked .nv2-header-busy-tray{
  position:absolute!important;
  right:10px!important;top:9px!important;
  width:23px!important;height:23px!important;
  display:block!important;pointer-events:none!important;
}
html body.nv2-app .nv2-header-busy-tray > :is(.np-elapsed-progress-spinner,#research-progress-spinner){
  position:static!important;
  width:21px!important;height:21px!important;
  min-height:0!important;min-width:0!important;
  margin:0!important;box-sizing:border-box!important;
  border-width:3px!important;
}
html body.nv2-app .nv2-progress-slot :is(.np-elapsed-progress-spinner,#research-progress-spinner){
  margin:0!important;
  width:21px!important;height:21px!important;
}

/* Account summary: readable headings and consistent white separators. */
html body.nv2-app.dashboard-page #dashboard-tab-account .physician-account-heading,
html body.nv2-app.dashboard-page #dashboard-tab-account .physician-account-title{
  color:#f4ffff!important;
}
html body.nv2-app.dashboard-page #dashboard-tab-account .dbi-021{
  color:#A1DEE8!important;
}
html body.nv2-app.dashboard-page #dashboard-tab-account :is(hr.dbi-011,.doctor-account-table hr){
  border:0!important;border-top:2px solid rgba(248,255,255,.75)!important;
  background:transparent!important;
}

/* Labs: file references and selected-file caption on navy need pale text. */
html body.nv2-app.newpatient-page #section-labs #labUploadsList tbody :is(td,td a),
html body.nv2-app.newpatient-page #section-labs #labInterpretSelectedName,
html body.nv2-app.newpatient-page #section-labs #labResultsEditor .dx-kv,
html body.nv2-app.newpatient-page #section-labs #labResultsEditor .dx-kv :is(.k,div,span){
  color:#A1DEE8!important;
}
html body.nv2-app.newpatient-page #section-labs #labUploadsList tbody a:hover{
  color:white!important;text-decoration:underline!important;
}
/* Lab interpreted metadata appears on a *white* card: darken there only. */
html body.nv2-app.newpatient-page #section-labs #labResultsEditor .dx-box,
html body.nv2-app.newpatient-page #section-labs #labResultsEditor .dx-box .dx-kv,
html body.nv2-app.newpatient-page #section-labs #labResultsEditor .dx-box .dx-kv :is(div,span,.k){
  color:#123143!important;
}

/* The images selection list must also be transparent: white guidance on
   the old white checklist box would otherwise be invisible. */
html body.nv2-app.newpatient-page #section-images #groupImageChecklistWrap{
  background:transparent!important;
  background-image:none!important;
  border:1px solid rgba(247,255,255,.55)!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
/* Images: only the requested dark-canvas instructions become white.
   Empty preview placeholders on light/white surfaces remain dark. */
html body.nv2-app.newpatient-page #section-images #unifiedImageInterpretSection > div[style*="color:"],
html body.nv2-app.newpatient-page #section-images #groupImageChecklist,
html body.nv2-app.newpatient-page #section-images #groupImageChecklist em,
html body.nv2-app.newpatient-page #section-images .image-hint-example,
html body.nv2-app.newpatient-page #section-images .images-list-box :is(em,p){
  color:#f7ffff!important;
}
html body.nv2-app.newpatient-page #section-images :is(.unified-selected-preview-panel,.unified-selected-preview-box) :is(em,p,.unified-selected-preview-empty){
  color:#123143!important;
}
@media(max-width:970px){
  html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked:has(.nv2-progress-slot:not([hidden])){
    grid-template-columns:minmax(0,1fr) minmax(200px,322px)!important;
    gap:10px!important;
  }
  html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked .nv2-progress-slot{
    grid-column:2!important;grid-row:1 / span 4!important;
    margin-left:auto!important;max-width:300px!important;
  }
}
@media(max-width:600px){
  /* Narrow screens: increase all title bubbles together rather than clipping. */
  html body.nv2-app{--nv2-title-height:178px;}
  html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked:has(.nv2-progress-slot:not([hidden])){
    display:flex!important;flex-direction:column!important;
    justify-content:flex-start!important;align-items:flex-start!important;
    gap:5px!important;
  }
  html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked .nv2-progress-slot{
    width:min(100%,260px)!important;max-width:260px!important;
    margin-left:auto!important;margin-right:0!important;
  }
  html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked :is(.nv2-intake-actions,.nv2-review-save-actions){
    bottom:12px!important;right:16px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked{transition:none!important;}
}
@media print{
  html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked{
    position:static!important;width:auto!important;height:auto!important;
    max-height:none!important;left:auto!important;
  }
  html body.nv2-app .nv2-title-placeholder{display:none!important;}
}


/* 2026-11-03 — Mask scroll bleed around the fixed title blue bubble.
   The separate layer is behind the title (79 < 80), over the scrolling
   content, and below the existing nav/mega-menu (90) and ribbon (110).
   It extends 15px above/below the original 126px Labs-sized title, moving
   the same 18px as the nav when the original condensed class switches. */
html body.nv2-app .nv2-title-mask {
  position:fixed!important;
  z-index:79!important;
  top:calc(var(--nv2-nav-top,35px) + var(--nv2-active-nav-height) + 8px - 15px)!important;
  left:var(--nv2-title-left,4vw)!important;
  width:var(--nv2-title-width,92vw)!important;
  height:calc(var(--nv2-title-height) + 30px)!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:0!important;
  background:#071623!important;
  border:0!important;
  border-radius:0!important;
  pointer-events:auto!important;
  transition:top 220ms ease!important;
}
html body.nv2-app .nv2-title-mask[hidden] {display:none!important;}
/* Push only the heading/description 10px lower INSIDE the fixed-size
   bubble: redistribute existing 40px vertical padding, not the height. */
html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked {
  padding-top:30px!important;
  padding-bottom:10px!important;
}
@media(prefers-reduced-motion:reduce){
  html body.nv2-app .nv2-title-mask {transition:none!important;}
}
@media print {
  html body.nv2-app .nv2-title-mask {display:none!important;}
}


/* Final title-blue-bubble alignment: same vertically centered title and
   description on Labs, Patients, Provider Search, and all other v2 pages.
   Absolute positioning keeps timers/actions independent of the copy height.
   The fixed title size and 15px top/bottom scroll mask are unchanged. */
html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked .nv2-title-copy {
  position:absolute!important;
  top:50%!important;
  left:24px!important;
  transform:translateY(-50%)!important;
  width:calc(100% - 58px)!important;
  max-width:calc(100% - 58px)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:3px!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  text-align:left!important;
  grid-column:1!important;
  grid-row:1!important;
}
html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked .nv2-title-copy #nvxWorkspaceTitle {
  margin:0!important;
  padding:0!important;
  line-height:1.13!important;
}
html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked .nv2-title-copy #nvxWorkspaceSubtitle {
  margin:0!important;
  padding:0!important;
  line-height:1.35!important;
}
/* A single reserved right lane protects the existing processing timer. */
html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked:has(.nv2-progress-slot:not([hidden])) .nv2-title-copy {
  width:calc(100% - 395px)!important;
  max-width:calc(100% - 395px)!important;
}
/* Intake and Review retain original action buttons docked at lower right. */
html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked:has(> .nv2-intake-actions:not([hidden]),> .nv2-review-save-actions:not([hidden])) .nv2-title-copy {
  max-width:calc(100% - 340px)!important;
}
/* Provider Search: the shared title replaces the duplicate in-panel heading.
   Field labels and checkbox captions now contrast with the navy canvas.
   Don't recolor white form inputs or result-table cells. */
html body.nv2-app.doctors-page .doctors-tool-card > h1 {
  display:none!important;
}
html body.nv2-app.doctors-page .doctors-tool-card :is(
  .doctors-intro,
  .doctors-field-group > label,
  .doctors-checkbox-row,
  .doctors-checkbox-row span,
  .doctors-checkbox-stack > label,
  .doctors-status
) {
  color:#f5ffff!important;
}
html body.nv2-app.doctors-page .doctors-tool-card .doctors-checkbox-row input[type="checkbox"] {
  accent-color:#138e83;
}
@media(max-width:970px){
  html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked:has(.nv2-progress-slot:not([hidden])) .nv2-title-copy {
    width:calc(100% - 345px)!important;
    max-width:calc(100% - 345px)!important;
  }
}
@media(max-width:600px){
  html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked .nv2-title-copy,
  html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked:has(.nv2-progress-slot:not([hidden])) .nv2-title-copy {
    top:22px!important;
    left:16px!important;
    transform:none!important;
    width:calc(100% - 32px)!important;
    max-width:calc(100% - 32px)!important;
  }
  html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked:has(.nv2-progress-slot:not([hidden])) .nv2-progress-slot {
    position:absolute!important;
    right:16px!important;
    bottom:8px!important;
    width:min(calc(100% - 32px),260px)!important;
  }
}


/* 2026-11-03 — Shared title-blue-bubble copy corrections.
   Existing fixed position, navigation contraction, 126px bubble, spinner
   and workflow handlers are unchanged. */
html body.nv2-app.support-page .support-card > h1,
html body.nv2-app.support-page .support-card > h1 + p.support-lead {
  display:none!important;
}
/* The copy block is centered as a unit, including on processing pages.
   An explanation is a single text line at desktop widths. */
html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked .nv2-title-copy {
  top:50%!important;
  transform:translateY(-50%)!important;
}
@media (min-width:801px) {
  html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked .nv2-title-copy #nvxWorkspaceSubtitle {
    white-space:nowrap!important;
    font-size:clamp(11px,.97vw,14px)!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
}
/* Account Details edit form: dark title on the light form surface and
   the existing conditional Cancel Edits button centered directly below.
   Do not override the button row's display; cancelEdit() controls it. */
html body.nv2-app.dashboard-page #dashboard-tab-account #doctor-info-form .doctor-account-title-row {
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  width:100%!important;
  max-width:100%!important;
  min-height:0!important;
  gap:9px!important;
  margin:0 auto!important;
  white-space:normal!important;
  text-align:center!important;
}
html body.nv2-app.dashboard-page #dashboard-tab-account #doctor-info-form .doctor-account-title-row .physician-account-title {
  color:#123143!important;
  display:block!important;
  width:100%!important;
  flex:0 0 auto!important;
  margin:0!important;
  text-align:center!important;
  white-space:normal!important;
}
html body.nv2-app.dashboard-page #dashboard-tab-account #doctor-info-form .doctor-account-title-row .doctor-edit-cancel-row {
  position:static!important;
  flex:0 0 auto!important;
  width:100%!important;
  margin:0 auto!important;
  padding:0!important;
  justify-content:center!important;
  align-items:center!important;
  transform:none!important;
}


/* 2026-11-03 — Selected patient summary in the Patients hover menu.
   Read from the existing user-scoped patient cache; never hard-code a case. */
html body.nv2-app .nv2-menu-intro .nv2-selected-patient-details {
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:9px!important;
  margin:26px 0 0!important;
  padding:0!important;
  color:#071b29!important;
}
html body.nv2-app .nv2-menu-intro .nv2-selected-patient-row {
  display:grid!important;
  grid-template-columns:104px minmax(0,1fr)!important;
  gap:7px!important;
  align-items:start!important;
  min-width:0!important;
  line-height:1.35!important;
}
html body.nv2-app .nv2-menu-intro .nv2-selected-patient-key {
  color:#8dcac4!important; /* exact mint used for Name: in navigation */
  text-align:right!important;
  white-space:nowrap!important;
  font:800 10px/1.35 Inter,Arial,sans-serif!important;
}
html body.nv2-app .nv2-menu-intro .nv2-selected-patient-value {
  color:#071824!important;
  font:850 10px/1.35 Inter,Arial,sans-serif!important;
  overflow-wrap:anywhere!important;
  min-width:0!important;
}
/* The timer is never allowed to reflow or reposition the title copy.
   Use identical midpoint positioning to Patient Intake on ALL timed views. */
@media(min-width:601px){
  html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked:has(.nv2-progress-slot:not([hidden])) > .nv2-title-copy {
    position:absolute!important;
    top:50%!important;
    inset-block-start:50%!important;
    bottom:auto!important;
    margin:0!important;
    padding:0!important;
    transform:translateY(-50%)!important;
    align-self:auto!important;
    justify-self:auto!important;
    grid-row:auto!important;
    grid-column:auto!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:3px!important;
  }
  html body.nv2-app .nvx-workspace-inline-head.nv2-title-docked:has(.nv2-progress-slot:not([hidden])) > .nv2-title-copy > :is(h2,p){
    margin:0!important;
    padding:0!important;
    flex:0 0 auto!important;
  }
}
/* Images: outer interpreted-findings container is its own section, separate
   from the previously corrected uploads surface. Keep white image cards. */
html body.nv2-app.newpatient-page #section-images #image-results-section {
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:1px solid rgba(242,253,255,.60)!important;
  border-radius:16px!important;
  box-shadow:none!important;
  color:#f5ffff!important;
}
html body.nv2-app.newpatient-page #section-images #image-results-section > div > div > :is(h2,h3),
html body.nv2-app.newpatient-page #section-images #image-results-section #imageStudyCounter {
  color:#f5ffff!important;
}
/* Account Details: transparent white-outlined EDIT form, retaining its gray
   medical disclaimer card and all original input/button elements. */
html body.nv2-app.dashboard-page #dashboard-tab-account #doctor-info-form {
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:1px solid rgba(242,253,255,.60)!important;
  border-radius:16px!important;
  box-shadow:none!important;
  padding:22px 24px!important;
  box-sizing:border-box!important;
}
html body.nv2-app.dashboard-page #dashboard-tab-account #doctor-info-form #doctor-form,
html body.nv2-app.dashboard-page #dashboard-tab-account #doctor-info-form .doctor-account-table,
html body.nv2-app.dashboard-page #dashboard-tab-account #doctor-info-form .doctor-account-table > tbody,
html body.nv2-app.dashboard-page #dashboard-tab-account #doctor-info-form .doctor-account-table > tbody > tr,
html body.nv2-app.dashboard-page #dashboard-tab-account #doctor-info-form .doctor-account-table > tbody > tr > td {
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
}
html body.nv2-app.dashboard-page #dashboard-tab-account #doctor-info-form .doctor-account-title-row .physician-account-title {
  color:#f6ffff!important;
}
html body.nv2-app.dashboard-page #dashboard-tab-account #doctor-info-form .doctor-account-table :is(.dbi-012,.dbi-015,.dbi-009),
html body.nv2-app.dashboard-page #dashboard-tab-account #doctor-info-form .doctor-account-table :is(.dbi-012,.dbi-015) > strong {
  color:#f6ffff!important;
}
html body.nv2-app.dashboard-page #dashboard-tab-account #doctor-info-form .doctor-account-table input:not([type="checkbox"]),
html body.nv2-app.dashboard-page #dashboard-tab-account #doctor-info-form .doctor-account-table select,
html body.nv2-app.dashboard-page #dashboard-tab-account #doctor-info-form .doctor-account-table textarea {
  background:#f7fffd!important;
  color:#123143!important;
}
/* Preserve the original medical disclaimer's light gray parent and typography. */
html body.nv2-app.dashboard-page #dashboard-tab-account #doctor-info-form #medical-disclaimer-box {
  background:#f5f7fa!important;
  border-radius:12px!important;
  color:#172b3b!important;
}
html body.nv2-app.dashboard-page #dashboard-tab-account #doctor-info-form #medical-disclaimer-box :is(p,strong,span,label,div) {
  color:#172b3b!important;
}
@media(max-width:600px){
  html body.nv2-app.dashboard-page #dashboard-tab-account #doctor-info-form {padding:14px 10px!important;}
  html body.nv2-app .nv2-menu-intro .nv2-selected-patient-row {grid-template-columns:100px minmax(0,1fr)!important;}
}


/* 2026-11-03 incremental fix: Images interpreted-findings editor outer
   panel should match the other clinical containers: transparent surface with
   a rounded white border, while keeping form controls usable. */
html body.nv2-app.newpatient-page #section-images #imageResultsEditor,
html body.nv2-app.newpatient-page #section-images #imageResultsEditor > .dx-box {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 1px solid rgba(242,253,255,.60) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}
html body.nv2-app.newpatient-page #section-images #imageResultsEditor > .dx-box {
  padding: 18px 22px !important;
}
html body.nv2-app.newpatient-page #section-images #imageResultsEditor :is(.image-study-top-fixed,.image-study-top-row,.image-study-scroll-shell,.image-study-card-inner,.dx-table,.dx-table tbody,.dx-table tr,.dx-table td,.dx-kv) {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}
html body.nv2-app.newpatient-page #section-images #imageResultsEditor > .dx-box,
html body.nv2-app.newpatient-page #section-images #imageResultsEditor > .dx-box :is(.image-study-meta,.image-study-preview-title,.unified-selected-preview-name,.unified-selected-preview-link-row a,.k,b,strong,em,span,div,label) {
  color: #f5ffff !important;
}
html body.nv2-app.newpatient-page #section-images #imageResultsEditor > .dx-box .dx-table td:first-child,
html body.nv2-app.newpatient-page #section-images #imageResultsEditor > .dx-box .dx-table td:first-child :is(b,strong) {
  color: #f5ffff !important;
}
html body.nv2-app.newpatient-page #section-images #imageResultsEditor > .dx-box :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select) {
  background: rgba(245,255,253,.92) !important;
  color: #123143 !important;
}


/* Account Details: retain the dashboard's larger white-outline parent;
   remove only the additional outline around the edit-form contents. */
html body.nv2-app.dashboard-page #dashboard-tab-account #doctor-info-form {
  border: none !important;
  border-width: 0 !important;
  box-shadow: none !important;
}
/* Account access status is displayed on the dark canvas in edit and view
   modes, not inside a white input. Keep both live status values readable. */
html body.nv2-app.dashboard-page #dashboard-tab-account #license-status-inline,
html body.nv2-app.dashboard-page #dashboard-tab-account #info-licenseStatus {
  color: #f6ffff !important;
}

/* Images: remove the three nested interpreted-findings outlines.
   The page's main outer container and the image preview/input surfaces remain unchanged. */
html body.nv2-app.newpatient-page #section-images #image-results-section,
html body.nv2-app.newpatient-page #section-images #image-results-section #imageResultsEditor,
html body.nv2-app.newpatient-page #section-images #image-results-section #imageResultsEditor > .dx-box {
  border: 0 !important;
  border-width: 0 !important;
  border-radius: 0 !important;
  outline: none !important;
  box-shadow: none !important;
}
