/* Clinical overview: shared brand, denser comparison and dated source context. */
.chart-page:not(.portal-panel) { font-family:"Segoe UI",Arial,sans-serif; font-size:0.8235rem; background:#f4f7fa; }
.chart-page:not(.portal-panel) .chart-brand { font-family:Poppins,"Segoe UI",sans-serif; }
.chart-page:not(.portal-panel) .chart-main { max-width:1800px; padding:20px 24px 40px; }
.chart-page:not(.portal-panel) .chart-grid { grid-template-columns:minmax(0,1fr) 272px; gap:18px; }
.chart-page:not(.portal-panel) .chart-patient-band { border:0; padding-bottom:10px; }
.chart-page:not(.portal-panel) .chart-patient-identity h1 { font-size:1.5294rem; letter-spacing:-.7px; }
.chart-page:not(.portal-panel) .chart-demo-tools { padding:0 0 15px; font-size:0.7647rem; }
.chart-page:not(.portal-panel) .chart-card, .chart-page:not(.portal-panel) .chart-entry { box-shadow:none; border-color:#dee7f0; border-radius:7px; }
.chart-page:not(.portal-panel) .chart-section { margin-bottom:18px; }
.chart-page:not(.portal-panel) .chart-section-title { margin-bottom:10px; }
.chart-page:not(.portal-panel) .chart-section-title h2 { font-size:1.1176rem; letter-spacing:-.35px; }
.chart-overview-panel { padding:16px; border:1px solid #dee7f0; border-radius:7px; background:#fff; }
.chart-focus-grid { display:grid; grid-template-columns: .85fr 1.05fr 1.2fr; border:1px solid #e2eaf2; border-radius:6px; padding:18px 0; margin-bottom:20px; }
.chart-focus-grid article { padding:0 16px; min-width:0; }
.chart-focus-grid article+article { border-left:1px solid #dce6ef; }
.chart-focus-grid h3 { font-size:0.7647rem; color:#315777; margin:0 0 9px; }
.chart-focus-grid strong { font-size:1.1765rem; display:block; margin-bottom:5px; color:#102e50; }
.chart-focus-grid p { font-size:0.7647rem; line-height:1.6; color:#4d6580; margin:5px 0; }
.chart-focus-grid .chart-focus-source { font-size:0.7647rem; color:#697f94; }
.chart-focus-grid .button { margin-top:8px; }
.chart-trend-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:10px; }
.chart-trend-heading h3 { font-size:0.9412rem; margin:0; }
.chart-trend-heading a { font-size:0.7647rem; }
.chart-trend-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
button.chart-trend { appearance:none; text-align:left; cursor:pointer; border:1px solid #dbe6f0; border-radius:5px; background:#fbfdff; color:#14385b; padding:13px; min-width:0; }
button.chart-trend:hover { border-color:#3581bd; background:#f2f8fd; }
.chart-trend h4 { font-size:0.7647rem; font-weight:600; margin:0 0 8px; }
.chart-trend-main { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.chart-trend b { font-size:1.4706rem; letter-spacing:-.7px; line-height:1.2; }
.chart-trend small { font-size:0.7647rem; font-weight:500; letter-spacing:0; }
.chart-trend p { font-size:0.7647rem; color:#546f89; margin:5px 0 0; line-height:1.45; }
.chart-trend svg { width:90px; height:40px; flex:none; overflow:visible; }
.chart-trend .chart-trend-date { color:#63778c; font-size:0.7647rem; }
.chart-page:not(.portal-panel) #chart-summary { padding:16px; border:1px solid #dee7f0; border-radius:7px; background:#fff; }
.chart-page:not(.portal-panel) .chart-kpis { margin:10px 0 0; border:1px solid #e3ebf2; border-radius:5px; box-shadow:none; }
.chart-page:not(.portal-panel) .chart-kpi { padding:12px 14px; }
.chart-page:not(.portal-panel) .chart-kpi b { font-size:1.4118rem; color:#103458; }
.chart-page:not(.portal-panel) .chart-kpi span { font-size:0.7647rem; }
.chart-page:not(.portal-panel) .chart-plot-card { border:0; padding:6px 0 0; margin-bottom:0; }
.chart-page:not(.portal-panel) .chart-graph { max-height:240px; }
.chart-page:not(.portal-panel) #chart-glucose-summary { font-size:0.7647rem; line-height:1.6; margin:7px 0; }
.chart-page:not(.portal-panel) .chart-filters select { min-height:32px; padding:5px 9px; font-size:0.7647rem; }
.chart-page:not(.portal-panel) .chart-sidebar .chart-card { padding:17px; margin-bottom:14px; }
.chart-page:not(.portal-panel) .chart-sidebar .chart-card p { font-size:0.7647rem; line-height:1.55; }
.chart-page:not(.portal-panel) #chart-completeness ul { list-style:none; padding:0; }
.chart-page:not(.portal-panel) #chart-completeness li { padding:9px 0; border-bottom:1px solid #e8eef4; font-size:0.7647rem; }
.chart-comparison-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.chart-comparison-heading h2 { margin:0; }
.chart-comparison-heading a { font-size:0.7647rem; }
.chart-comparison-caption { font-size:0.7647rem; color:#637b90; margin:8px 0 12px; }
.chart-comparison table { min-width:570px; font-size:0.7647rem; }
.chart-comparison .chart-table-wrap th { font-size:0.7647rem; }
.chart-comparison td:not(:first-child), .chart-comparison th:not(:first-child) { text-align:center; }
.chart-comparison td:first-child { min-width:200px; }
.chart-comparison .chart-study-link { padding:0; border:0; background:transparent; color:#155a97; font:inherit; cursor:pointer; text-align:left; }
.chart-comparison .chart-study-link:hover { text-decoration:underline; }
.chart-comparison th small { display:block; color:#65778a; font-weight:400; max-width:140px; white-space:normal; font-size:0.7647rem; }
.chart-comparison details { margin-top:12px; color:#5d7389; font-size:0.7647rem; }
.chart-comparison details p { margin:9px 0; }
.chart-page .chart-scroll-hint { display:none; font-size:0.7647rem; color:#687f94; margin:7px 0 0; }
.chart-preparation-intro { padding:13px 16px; background:#edf4fa; border-left:3px solid #2e79b3; font-size:0.7647rem; margin-bottom:18px; }
.chart-preparation-section { margin:0 0 20px; padding-bottom:18px; border-bottom:1px solid #e0e8ef; }
.chart-preparation-section h3 { color:#174b78; font-size:0.8824rem; margin-bottom:9px; }
.chart-preparation-section p { font-size:0.8235rem; white-space:pre-line; line-height:1.65; }
.chart-preparation-section small { color:#698096; font-size:0.7647rem; }
.chart-preparation-actions { display:flex; justify-content:flex-end; gap:9px; position:sticky; bottom:-24px; background:#fff; padding:16px 0 3px; border-top:1px solid #e1e7ee; }
.chart-graph-selection { font-size:0.7647rem; color:#285d85; min-height:20px; }
.chart-graph:focus { outline:2px solid #68a7d7; outline-offset:3px; }
@media(min-width:1500px){ .chart-page:not(.portal-panel) .chart-grid { grid-template-columns:minmax(0,1fr) 285px; } }
@media(max-width:1200px){
  .chart-page:not(.portal-panel) .chart-grid { grid-template-columns:minmax(0,1fr) 225px; }
  .chart-focus-grid { grid-template-columns:1fr 1.2fr; }
  .chart-focus-grid article:last-child { grid-column:1/-1; margin-top:14px; padding-top:14px; border-top:1px solid #e2eaf2; border-left:0; }
  .chart-trend-main { display:block; }
  .chart-trend svg { width:100%; height:30px; margin-top:8px; }
}
@media(max-width:760px){
  .chart-page:not(.portal-panel) .chart-grid { grid-template-columns:minmax(0,1fr); }
  .chart-page:not(.portal-panel) .chart-main { padding:17px 14px 32px; }
  .chart-page:not(.portal-panel) .chart-patient-identity h1 { font-size:1.2353rem; }
  .chart-page:not(.portal-panel) .chart-sidebar { grid-template-columns:1fr; }
  .chart-trend-strip { grid-template-columns:1fr; }
  .chart-trend-main { display:flex; }
  .chart-trend svg { width:105px; height:36px; margin:0; }
  .chart-focus-grid { grid-template-columns:1fr; padding:0; }
  .chart-focus-grid article { padding:15px; }
  .chart-focus-grid article+article { border-left:0; border-top:1px solid #e2eaf2; }
  .chart-focus-grid article:last-child { margin:0; }
  .chart-page .chart-scroll-hint { display:block; }
  .chart-page:not(.portal-panel) .chart-kpi { padding:10px; }
  .chart-page:not(.portal-panel) .chart-kpi b { font-size:1.2941rem; }
  .chart-comparison-heading { flex-wrap:wrap; gap:6px; }
  .chart-trend-heading { align-items:flex-start; }
  .chart-preparation-actions { flex-wrap:wrap; bottom:-18px; }
}
@media print {
  .chart-page:not(.portal-panel) .chart-grid { display:block; }
  #chart-preparation, .chart-focus-grid .button, .chart-trend-heading a, .chart-comparison-heading a { display:none !important; }
  .chart-focus-grid { grid-template-columns:1fr 1fr 1fr; }
  .chart-trend-strip { grid-template-columns:1fr 1fr 1fr; }
  .chart-overview-panel { break-inside:avoid; }
}
