/* Shared visual finish drawn from the landing page and the MindeLine UI guide. */
.portal-main>.page-heading{align-items:flex-start;margin-bottom:24px}
.portal-main>.hero-panel{position:relative;overflow:hidden;min-height:178px;padding:28px 32px;border:0;border-radius:12px;background:#192436;color:#fff}
.portal-main>.hero-panel:after{content:"";position:absolute;width:230px;height:230px;right:-54px;top:-126px;border:1px solid #3fa7a055;border-radius:50%;box-shadow:0 0 0 24px #3fa7a01a,0 0 0 50px #3fa7a010;pointer-events:none}
.portal-main>.hero-panel h2,.portal-main>.hero-panel p{position:relative;z-index:1;color:#fff}
.portal-main>.hero-panel .eyebrow{color:#71c5b8}
.portal-main>.hero-panel .hero-date{position:relative;z-index:1;border-left:1px solid #ffffff30;padding-left:24px}
.portal-main>.hero-panel .hero-date strong{color:#fff;font:600 24px/32px Montserrat,Inter,sans-serif}
.portal-workspace .panel-head{gap:16px;align-items:flex-start}
.portal-nav-icon{width:20px;height:20px;flex:0 0 20px;display:grid;place-items:center;color:currentColor}
.portal-nav-icon svg{width:18px;height:18px;display:block}
.portal-workspace .panel-head h3{margin:0}
.portal-main .panel{margin-bottom:16px}
.portal-main .stat-card{min-height:102px;display:flex;flex-direction:column;justify-content:space-between}
.portal-main .stat-card strong{font:600 24px/32px Montserrat,Inter,sans-serif}
.portal-main .page-heading .eyebrow{font-weight:600}
.executive-workspace .exec-layout{grid-template-columns:minmax(290px,.86fr) minmax(0,1.14fr);align-items:start;gap:16px}
.executive-workspace #executive-scenario{display:grid;gap:10px}
.executive-workspace #executive-scenario .panel-head{margin-bottom:8px}
.executive-workspace #executive-scenario .field-label{margin-top:3px}
.executive-workspace .impact-result{overflow:hidden;border:0;border-radius:12px;background:#192436;color:#fff}
.executive-workspace .impact-result .panel-head h3,.executive-workspace .impact-result .panel-head p{color:#fff}
.executive-workspace .impact-result .panel-head{border-bottom:1px solid #ffffff20;padding-bottom:14px}
.executive-workspace .impact-result .impact-hero{margin:0 0 12px;padding:22px 20px;border:1px solid #3fa7a055;border-radius:8px;background:linear-gradient(120deg,#237873,#192436 78%)}
.executive-workspace .impact-result .impact-hero strong{font-size:40px;line-height:48px}
.executive-workspace .impact-result .detail-row{border-color:#ffffff24;color:#fff}
.executive-workspace .impact-result .detail-row span,.executive-workspace .impact-result .detail-row strong,.executive-workspace .impact-result .impact-net{color:#fff}
.executive-workspace .impact-result .divider{border-color:#ffffff24}
.executive-workspace .impact-result .notice{background:#fff;color:#192436}
.impact-comparison{display:grid;gap:11px;margin:14px 0;padding:15px;border:1px solid #ffffff25;border-radius:8px;background:#ffffff08}
.impact-comparison-title{display:grid;gap:3px;margin-bottom:2px}
.impact-comparison-title strong{font:600 14px/20px Montserrat,Inter,sans-serif;color:#fff}
.impact-comparison-title small{font:400 12px/16px Inter,Arial,sans-serif;color:#c9d1de}
.impact-bar-row{display:grid;grid-template-columns:120px minmax(40px,1fr) 54px;align-items:center;gap:10px;color:#e4e9f1;font:400 12px/16px Inter,Arial,sans-serif}
.impact-bar-track{height:10px;overflow:hidden;border-radius:999px;background:#ffffff24}
.impact-bar-track i{display:block;width:0;height:100%;border-radius:inherit;background:#3fa7a0;transition:width .3s ease}
.impact-bar-row:last-child .impact-bar-track i{background:#a8d8ce}
.impact-bar-row strong{text-align:right;color:#fff;font-size:12px}
.executive-workspace #executive-method{scroll-margin-top:20px}
.agenda-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);gap:16px;align-items:start}
.agenda-board,.agenda-create{min-width:0;margin:0!important}
.appointment-section{margin:18px 0 20px;padding-top:18px;border-top:1px solid #dde2ea}
.appointment-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.appointment-section-head h4{margin:3px 0;color:#192436;font:600 16px/24px Montserrat,Inter,sans-serif}
.appointment-section-head p{margin:2px 0 0;color:#5b6475;font:400 13px/18px Inter,Arial,sans-serif}
.appointment-list{display:grid;gap:8px}
.appointment-card{display:grid;grid-template-columns:100px minmax(0,1fr) 130px;gap:12px;align-items:center;padding:12px;border:1px solid #dde2ea;border-radius:8px;background:#fff}
.appointment-time{display:grid;gap:4px;padding:10px;border-radius:8px;background:#e9f5f4;color:#192436}
.appointment-time strong{font:600 16px/20px Montserrat,Inter,sans-serif}
.appointment-time span{color:#5b6475;font:500 11px/16px Inter,Arial,sans-serif}
.appointment-main{display:grid;gap:5px;min-width:0}
.appointment-main small{color:#5b6475;font:400 12px/16px Inter,Arial,sans-serif}
.appointment-main p{margin:0;color:#33425e;font:400 13px/18px Inter,Arial,sans-serif;overflow-wrap:anywhere}
.appointment-form-block{display:grid;gap:14px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid #dde2ea}
.appointment-form-block form{display:grid;gap:14px}
.appointment-form-block label{display:grid;gap:6px;color:#5b6475;font:500 12px/16px Inter,Arial,sans-serif}
.appointment-form-block .textarea{min-height:68px}
.appointment-form-block [role="status"]{min-height:16px;color:#a12c2c;font:400 12px/16px Inter,Arial,sans-serif}
.appointment-form-block>h4,.appointment-form-block .panel-head h3{margin:0;color:#192436;font:600 16px/24px Montserrat,Inter,sans-serif}
.agenda-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}
.agenda-kpis .stat-card{min-height:88px;padding:12px}
.agenda-kpis .stat-card strong{font-size:24px;line-height:30px}
.agenda-kpis .stat-card small{line-height:16px}
.agenda-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}
.agenda-toolbar label,.agenda-create form label,.agenda-task-actions label{display:grid;gap:6px;color:#5b6475;font:500 12px/16px Inter,Arial,sans-serif}
.agenda-toolbar .select{min-width:170px}
.agenda-list{display:grid;gap:8px}
.agenda-task{display:grid;grid-template-columns:54px minmax(0,1fr) minmax(150px,190px);gap:12px;align-items:center;padding:12px;border:1px solid #dde2ea;border-radius:8px;background:#fff}
.agenda-task.is-overdue{border-left:3px solid #e8913a}
.agenda-task-date{display:grid;place-items:center;align-content:center;min-height:58px;border-radius:8px;background:#f1f4f9;color:#192436}
.agenda-task-date strong{font:600 20px/24px Montserrat,Inter,sans-serif}
.agenda-task-date span{text-transform:uppercase;color:#5b6475;font:600 10px/14px Inter,Arial,sans-serif}
.agenda-task-main{display:grid;gap:4px;min-width:0}
.agenda-task-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.agenda-task-heading>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#192436;font:600 14px/20px Montserrat,Inter,sans-serif}
.agenda-task-main p{margin:0;color:#33425e;font:400 14px/20px Inter,Arial,sans-serif;overflow-wrap:anywhere}
.agenda-task-main small{color:#5b6475;font:400 12px/16px Inter,Arial,sans-serif}
.agenda-task-actions{display:grid;gap:8px;min-width:0}
.agenda-task-actions .select{min-height:36px;padding:7px 9px;font-size:12px}
.agenda-create form{display:grid;gap:14px}
.agenda-create .textarea{min-height:78px}
.agenda-create form [role="status"]{min-height:16px;color:#a12c2c;font:400 12px/16px Inter,Arial,sans-serif}
.agenda-board>.quiet-note{margin:14px 0 0}
@media(max-width:1050px){.agenda-layout{grid-template-columns:minmax(0,1fr)}.executive-workspace .exec-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.portal-main>.hero-panel{display:grid;gap:18px;padding:22px}.portal-main>.hero-panel .hero-date{border-left:0;border-top:1px solid #ffffff30;padding:12px 0 0}.agenda-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.agenda-kpis .stat-card{padding:10px 8px}.agenda-task{grid-template-columns:48px minmax(0,1fr);align-items:start}.agenda-task-actions{grid-column:2;grid-template-columns:minmax(0,1fr) auto;align-items:end}.agenda-task-actions label{min-width:0}.agenda-task-actions .button{min-height:36px;padding:8px}.appointment-card{grid-template-columns:82px minmax(0,1fr)}.appointment-card>.agenda-task-actions{grid-column:2;grid-template-columns:auto auto;justify-content:start}.impact-bar-row{grid-template-columns:98px minmax(35px,1fr) 48px}.executive-workspace .page-heading{gap:10px}}
@media(max-width:440px){.agenda-kpis{grid-template-columns:1fr}.agenda-kpis .stat-card{min-height:68px}.agenda-toolbar{align-items:flex-start;flex-direction:column}.agenda-toolbar .select{width:100%}.agenda-task-actions{grid-template-columns:1fr}.agenda-task-actions .button{justify-self:start}.appointment-card{grid-template-columns:1fr}.appointment-card>.agenda-task-actions{grid-column:1;grid-template-columns:1fr}.appointment-time{grid-template-columns:auto 1fr;align-items:center}}

/* Patient navigation reuses the care-team shell while keeping one focused page visible. */
.patient-workspace .patient-care-view[hidden]{display:none!important}
.patient-workspace .patient-care-view:not([hidden]){display:grid;align-content:start;gap:16px;min-width:0}
.patient-workspace .patient-care-view>.hero-panel,.patient-workspace .patient-care-view>.panel{margin:0}
.patient-workspace .care-section-heading{align-items:center}
.patient-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.patient-action-card{min-width:0;min-height:132px;padding:17px 18px;display:grid;align-content:start;gap:9px;border:1px solid #DDE2EA;border-radius:8px;background:#fff;text-align:left;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.patient-action-card:hover{transform:translateY(-2px);border-color:#8ABDB6;box-shadow:0 8px 20px #1924360d}
.patient-action-card .eyebrow{font:600 11px/16px Inter,Arial,sans-serif;color:#237873}
.patient-action-card strong{color:#192436;font:600 16px/22px Montserrat,Inter,sans-serif;overflow-wrap:anywhere}
.patient-action-card small{align-self:end;color:#5B6475;font:400 13px/18px Inter,Arial,sans-serif}
.patient-appointment-help{padding:18px 20px}
.patient-workspace .care-sidebar nav button{width:100%;text-align:left}
.patient-demo-scenario{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:4px 2px;color:#5B6475;font:500 12px/16px Inter,Arial,sans-serif}
.patient-demo-scenario .select{min-width:190px}
@media(max-width:900px){.patient-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.patient-workspace .care-section-heading{align-items:flex-start}.patient-workspace .care-section-heading>.button{min-height:36px}.patient-quick-grid{grid-template-columns:1fr}.patient-action-card{min-height:112px}.patient-demo-scenario{justify-content:flex-start;flex-wrap:wrap}.patient-demo-scenario .select{min-width:0;flex:1}}

/* App-wide type scale: readable body copy, restrained headings, and clear data emphasis. */
body{font-size:16px;line-height:1.5}
.demo-banner{font-size:13px;line-height:18px}
.main-area [class],#app [class],#authScreen [class],#limitsDialog [class]{font-size:14px;line-height:1.45}
#app [class] :is(p,li,label,small,button,input,select,textarea,td,th,summary,span,strong),#authScreen [class] :is(p,li,label,small,button,input,select,textarea,td,th,summary,span,strong),#limitsDialog [class] :is(p,li,label,small,button,input,select,textarea,td,th,summary,span,strong){font-size:14px;line-height:1.45}
.main-area [class] :is(small,.message-meta,.date-label,.queue-sla,.queue-count,.status,.tag,.flag,.event-tag,.trend-change,.protocol-pending,.evidence,.auth-footnote,.consent-save-status,.clinical-disclaimer,.chart-legend,.chart-y-labels,.bar-column>small,.bar-tooltip,.chart-footnote,.trend-y-axis,.trend-column small,.indicator-week,.indicator-week small,.indicator-legend,.indicator-sources p,.outcome-value small,.indicator-channel>div),#app [class] :is(small,.message-meta,.date-label,.queue-sla,.queue-count,.status,.tag,.flag,.event-tag,.trend-change,.protocol-pending,.evidence,.auth-footnote,.consent-save-status,.clinical-disclaimer,.chart-legend,.chart-y-labels,.bar-column>small,.bar-tooltip,.chart-footnote,.trend-y-axis,.trend-column small,.indicator-week,.indicator-week small,.indicator-legend,.indicator-sources p,.outcome-value small,.indicator-channel>div),#authScreen [class] :is(small,.auth-footnote),#limitsDialog [class] small{font-size:13px;line-height:18px}
#app h1,#authScreen h1,#limitsDialog h1{font-size:28px;line-height:36px;letter-spacing:0}
#app h2,#authScreen h2,#limitsDialog h2{font-size:22px;line-height:30px;letter-spacing:0}
#app h3,#authScreen h3,#limitsDialog h3{font-size:18px;line-height:26px;letter-spacing:0}
#app h4,#authScreen h4,#limitsDialog h4{font-size:16px;line-height:24px;letter-spacing:0}
#app [class] :is(.page-heading,.care-section-heading,.panel-head) p{font-size:15px;line-height:22px}
#app .consent-copy,#app .limits-list{font-size:15px;line-height:23px}
#app .stat-card strong,#app .hero-date strong,#app .appointment-time strong{font-size:24px;line-height:32px}
#app .impact-hero strong{font-size:34px;line-height:42px}
.topbar .breadcrumbs,.topbar .secure-label,.topbar .signed-in-name,.topbar .reset-link,.app-footer{font-size:13px;line-height:18px}
.toast{font-size:14px;line-height:20px}
.care-workspace .care-sidebar nav button,.portal-workspace .portal-sidebar nav button,.button,.button-small,.choice,.field,.select,.textarea,input,select,textarea{font-size:14px;line-height:20px}
#authScreen p,#authScreen label,#authScreen small,#limitsDialog li{font-size:14px;line-height:21px}
@media(max-width:760px){#app h1,#authScreen h1,#limitsDialog h1{font-size:25px;line-height:32px}#app h2,#authScreen h2,#limitsDialog h2{font-size:21px;line-height:28px}.main-area [class],#app [class],#authScreen [class],#limitsDialog [class]{line-height:1.45}}

.main-area [class].eyebrow,#app [class].eyebrow,#authScreen [class].eyebrow,#limitsDialog [class].eyebrow{font-size:13px;line-height:18px;letter-spacing:.06em}
#app :is(span,div).care-nav-icon,#app :is(span,div).portal-nav-icon{font-size:18px}
#app .nav-chevron{font-size:20px}
#app span.notice-icon{font-size:16px}
#app .icon-button{font-size:18px}
#app .clinical-event-icon{font-size:16px}
#limitsDialog .icon-button{font-size:18px}
@media(max-width:760px){#app :is(span,div).care-nav-icon{font-size:15px}}
.sidebar .brand small,.workspace-label,.role-button small,.demo-profile small{font-size:12px;line-height:18px}
.role-button>span:nth-child(2),.demo-profile strong{font-size:14px;line-height:20px}
.sidebar-foot,.sidebar .reset-link{font-size:12px;line-height:18px}
.sidebar .avatar,.topbar .avatar-small{font-size:12px}
@media(max-width:700px){.sidebar .role-icon{font-size:15px}.sidebar .brand small{font-size:12px}.role-button>span:nth-child(2){font-size:12px;line-height:16px}}

/* Use the navy-on-white full wordmark from the design guide throughout the app. */
.topbar{height:64px;min-height:64px}
.auth-brand{display:block;width:min(136px,100%);height:auto;margin:0 auto 23px;line-height:0}
.auth-brand .brand-logo{display:block;width:100%;height:auto;object-fit:contain}
.portal-workspace .portal-brand{display:block;width:100%;padding:4px 9px 26px;text-align:center}
.portal-workspace .portal-brand .brand-logo{display:block;width:min(136px,100%);height:auto;margin:0 auto;object-fit:contain;padding:0;background:transparent;border-radius:0}
@media(max-width:700px){.topbar{height:56px;min-height:56px}}
