/* Readable workspace typography and consistent, labeled stage colors. */
body{font-size:17px;line-height:1.55;background:#f3f6fc}
.mobile-nav-toggle{display:none}
.kanban-column{max-height:680px;overflow-y:auto;overscroll-behavior:contain}
.kanban-column .column-heading{position:sticky;top:-14px;background:var(--stage-bg);padding:10px 0;z-index:1}
.nav-item{font-size:15px;min-height:46px}.brand-sub{font-size:11px;letter-spacing:.4px;white-space:normal;line-height:1.5}
.page-heading p,td,table,input,select,textarea,label,.btn,.notice{font-size:16px}
th{font-size:14px}.small-text,small,td small,.tag,.status-badge,.case-owner,.protocol,.definitions{font-size:14px}
.panel-heading h2,h2{font-size:21px}.panel-heading>a,.panel-heading>.muted,.section-heading>.muted{font-size:14px}
.table-title,.attention-item strong,.attention-item small,.sync-card,.sync-card strong,.sync-card p,.sync-card .small-text{font-size:15px}
.overview-banner{min-height:0;padding:18px 24px;margin-bottom:18px;background:linear-gradient(110deg,#fff1df,#fce9db 60%,#e6efff);border-color:#edc79e;display:flex;align-items:center}
.overview-banner h2{font-size:28px;margin:4px 0}.overview-banner p{font-size:16px;margin:4px 0 10px;max-width:680px}.banner-label{font-size:12px}.banner-visual{width:160px;height:135px;right:20px;opacity:.25}.overview-banner .btn{padding:7px 14px;min-height:40px}
.dashboard-heading{margin-bottom:14px;gap:12px}.dashboard-heading>div{flex:1}.dashboard-heading h1{font-size:24px;margin:0}.dashboard-heading p,.dashboard-heading .eyebrow{display:none}
.metric{padding:15px 18px;border-top:4px solid var(--metric-color,#3157b2);background:var(--metric-bg,#edf3ff)}
.metric>div{font-size:16px;color:#24354e;font-weight:600}.metric strong{font-size:38px;line-height:1.3;color:#172d4d}.metric small{font-size:13px;color:#45566e}
.metric:nth-child(4n+2){--metric-color:#147a67;--metric-bg:#eaf8f2}.metric:nth-child(4n+3){--metric-color:#8350ad;--metric-bg:#f4edfc}.metric:nth-child(4n+4){--metric-color:#b66b13;--metric-bg:#fff4df}
[data-stage="Identified"]{--stage-color:#285bab;--stage-bg:#eaf2ff}
[data-stage="Data Review"]{--stage-color:#966008;--stage-bg:#fff5db}
[data-stage="Investigator Review"]{--stage-color:#7143a6;--stage-bg:#f3ecfc}
[data-stage="Consent"]{--stage-color:#087984;--stage-bg:#e2f7f8}
[data-stage="Enrolled"]{--stage-color:#13744d;--stage-bg:#e7f7ed}
[data-stage="Screen Fail"]{--stage-color:#ae3648;--stage-bg:#fff0f2}
.workflow-roadmap{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:20px 0}
.workflow-roadmap a,.stage-strip a[data-stage]{border:1px solid var(--stage-color);border-top:5px solid var(--stage-color);border-radius:10px;background:var(--stage-bg);padding:14px;color:var(--stage-color);overflow-wrap:anywhere}
.workflow-roadmap strong,.workflow-roadmap small{display:block}.workflow-roadmap span{font-weight:700;font-size:19px}.workflow-roadmap small{font-size:13px;margin-top:6px}.workflow-roadmap a:hover{text-decoration:none;box-shadow:0 3px 12px #24354e18}
.kanban{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}
.kanban-column{border-top:5px solid var(--stage-color);background:var(--stage-bg);padding:14px}.column-heading h2{font-size:18px;color:var(--stage-color)}.column-heading>span{background:white;color:var(--stage-color);font-size:16px;font-weight:700}
.case-card{padding:18px}.case-card h3{font-size:20px;margin-top:10px}.case-card h3 a{color:#203c60}.case-data{font-size:14px;gap:8px}.case-owner{flex-wrap:wrap}.case-owner a{margin-left:auto}
.next-action{padding:14px 0;border-bottom:1px solid #dde4ed}.next-action small{font-size:12px;font-weight:700;letter-spacing:.6px;color:var(--stage-color)}.next-action a{display:block;font-size:17px;font-weight:650;color:var(--stage-color)}.next-action p{font-size:15px;color:#4b5d73;margin:7px 0 0}
.stage-chip{display:inline-block;padding:7px 12px;border-radius:8px;background:var(--stage-bg);color:var(--stage-color);font-weight:650;border:1px solid var(--stage-color);font-size:15px}
.next-step-panel{padding:22px;margin-top:20px;border-left:5px solid var(--stage-color);background:var(--stage-bg);border-radius:10px}.next-step-panel h2{margin-top:14px}.next-step-panel p{font-size:17px}
.stage-strip{gap:10px}.stage-strip a{font-size:15px}.stage-strip strong{font-size:30px}.trial-next{min-height:0!important;font-size:15px!important;padding:12px;border-radius:8px;background:#edf3ff;color:#254b80!important}
@media(max-width:1100px){.workflow-roadmap{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){body{font-size:16px}.brand-sub{display:block;font-size:10px}.nav-item{font-size:14px}.overview-banner{padding:18px}.overview-banner h2{font-size:25px;max-width:none}.overview-banner p{max-width:none}.banner-visual{display:none}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{padding:12px}.metric>div{font-size:14px}.metric strong{font-size:32px}.metric small{font-size:12px}.workflow-roadmap{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-roadmap a{padding:10px}.workflow-roadmap strong{font-size:15px}.panel-heading{padding:17px}.page-heading p,td,table{font-size:16px}.stage-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar .brand>span{font-size:23px;max-width:65%}.brand img{max-width:30%}}
@media print{.overview-banner,.workflow-roadmap{break-inside:avoid}.next-action,.next-step-panel{break-inside:avoid}}
@media(max-width:680px){.mobile-nav-toggle{display:block;margin-top:10px;width:100%;min-height:44px;border:1px solid #ccd8e9;border-radius:8px;background:#edf3ff;color:#244977;font-weight:650}.sidebar nav{display:none}.sidebar.mobile-menu-open nav{display:grid}.sidebar .nav-item{font-size:14px}.sidebar-bottom{padding-top:8px}.overview-banner .btn{font-size:15px}}

/* Keep ordered menu groups readable at desktop and mobile widths. */
.sidebar .nav-label{display:block;margin:16px 0 6px;padding:8px 12px;grid-column:1 / -1;font-size:14px;line-height:1.4;font-weight:700;letter-spacing:0;color:#243b53;background:#eef2f6;border-radius:6px;white-space:normal}
.sidebar .nav-item{padding:9px 12px;min-height:44px;margin:2px 0}
@media(min-width:681px){.sidebar .brand{padding-bottom:12px}.sidebar nav{flex:1;min-height:0;overflow-y:auto}.sidebar-bottom{flex-shrink:0}.sidebar{overflow:hidden}}

@media(min-width:681px){.sidebar{padding-top:16px;padding-bottom:12px}.sidebar .brand img{width:105px;margin-bottom:8px}.sidebar .brand>span{font-size:22px}.sidebar .user-block{padding-top:10px}.sidebar .environment{padding:7px 10px}.sidebar-bottom{padding-top:10px}}
.dashboard-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.dashboard-filters label{flex:1 1 150px;margin:0}.dashboard-filters label[hidden]{display:none}.dashboard-filters select,.dashboard-filters input{width:100%}.dashboard-filters .btn{min-height:44px}.bulk-options{display:flex;flex-wrap:wrap;gap:16px;align-items:end}.bulk-options label{min-width:160px;flex:1}.selection-list{max-height:360px;overflow:auto}.selection-list label{display:flex;gap:12px;align-items:center;padding:10px;border-bottom:1px solid var(--app-border)}.selection-list input[type=checkbox]{width:18px;flex:none}.source-preview{white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto}
