.dashboard-page { display:flex;flex-direction:column;flex:1;min-height:0;gap:12px; }
.dash-heading { display:flex;align-items:center;gap:20px;flex-shrink:0; }
.dash-heading h1 { margin:0;font-size:24px;font-weight:650;letter-spacing:-.6px; }
.dash-view-tabs { display:flex;gap:3px;background:#e5ece7;padding:3px;border-radius:20px; }
.dash-view-tabs button { padding:7px 18px;border-radius:17px;font-size:11px;color:#779180; }
.dash-view-tabs [aria-selected="true"] { color:#fff;background:#438960;box-shadow:0 2px 5px #326a4720; }
#dash-scope { margin-left:auto;color:#8ba092;font-size:10px; }
.dash-toolbar { display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:0; }
.dash-controls { display:flex;align-items:center;gap:7px;min-width:0; }
.dash-controls .icon-button { width:26px;height:28px;background:#fff; }
.dash-controls svg { width:13px;height:13px; }
#dash-period-label { font-size:12px;font-weight:550;color:#53725e;min-width:105px;text-align:center; }
.dash-period-tabs { display:flex;background:#fff;border-radius:17px;padding:3px; }
.dash-period-tabs button { padding:5px 10px;border-radius:14px;font-size:10px;color:#8a9e90; }
.dash-period-tabs [aria-pressed="true"] { background:#e4f0e8;color:#3b8357; }
.dash-controls input,.dash-toolbar select { background:#fff;border:1px solid #e6ede8;border-radius:15px;padding:6px 9px;color:#708c7a;font-size:10px;min-width:0; }
#dash-date { width:118px; }
#dash-goal-year { width:74px;font-size:18px;font-weight:600;padding:2px 7px;text-align:center; }
.dash-today { background:#fff;border-radius:16px;font-size:10px;padding:7px 10px;color:#779180;white-space:nowrap; }
#dash-label { max-width:180px;margin-left:auto; }
#dash-content { display:flex;flex-direction:column;flex:1;min-height:0;gap:12px; }
.dash-metrics { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;flex-shrink:0; }
.dash-metric { display:flex;flex-direction:column;gap:4px;padding:12px 16px;background:#fff;border-radius:15px;min-width:0; }
.dash-metric > span { color:#84988b;font-size:10px; }
.dash-metric > strong { color:#365640;font-size:29px;font-weight:600;letter-spacing:-.8px;line-height:1.2; }
.dash-metric > small { font-size:9px;color:#9aaa9e;line-height:1.35; }
.dash-metric.green { background:#438960; }.dash-metric.green > strong { color:#fff; }.dash-metric.green > span,.dash-metric.green > small { color:#d4e8dc; }
.dash-metric.mint { background:#e3efe6; }.dash-metric.amber { background:#f7eedc; }.dash-metric.amber > strong { color:#a78246; }
.dash-panels { display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;flex:1;min-height:0; }
.dash-panel { display:flex;flex-direction:column;min-width:0;min-height:0;background:#fff;border-radius:17px;padding:14px 16px; }
.dash-panel > header { display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:12px;flex-shrink:0; }
.dash-panel h2 { margin:0;font-size:12px;color:#3c5a46;font-weight:600; }
.dash-panel > header > span { font-size:9px;color:#9aab9f;text-align:right; }
.dash-panel-body { min-height:0;flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c9d9ce transparent;overscroll-behavior:contain;padding-right:3px; }
.dash-bar-row { margin-bottom:11px; }.dash-bar-row:last-child { margin-bottom:0; }
.dash-bar-row > div:first-child,.dash-direction > div:first-child { display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:5px;font-size:10px;color:#7f9587; }
.dash-bar-row > div > span { overflow:hidden;white-space:nowrap;text-overflow:ellipsis; }
.dash-bar-row strong,.dash-direction strong { font-size:11px;color:#627c6b;font-weight:600;flex-shrink:0; }
.dash-bar-row > small { font-size:8px;color:#9aaba0;display:block;margin-top:4px; }
.dash-bar-track { background:#f0f4f1;height:5px;border-radius:6px;overflow:hidden; }
.dash-bar-track > span { height:100%;display:block;background:#55936c;border-radius:6px; }
.dash-direction { margin-bottom:13px; }.dash-direction:last-child { margin-bottom:0; }
.dash-direction > div > span { display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis; }
.dash-direction i { display:block;width:6px;height:6px;border-radius:50%;flex-shrink:0; }
.dash-direction strong small { font-size:9px;font-weight:400;color:#a0b2a7; }
.dash-chart-body { display:flex;flex-direction:column;overflow:hidden; }
.dash-chart { display:flex;gap:4px;flex:1;min-height:65px;padding-top:2px; }
.dash-chart-col { flex:1;display:flex;flex-direction:column;align-items:center;min-width:0;gap:4px; }
.dash-chart-slot { display:flex;align-items:flex-end;flex:1;min-height:25px;width:100%;max-width:35px;border-bottom:1px solid #edf2ee; }
.dash-chart-slot i { display:block;min-height:1px;width:100%;background:#8cbea0;border-radius:4px 4px 0 0; }
.dash-chart-number { font-size:9px;color:#679475;height:11px; }
.dash-chart-col small { font-size:8px;color:#98ad9f;height:10px;white-space:nowrap; }
.dash-chart-empty { font-size:9px;color:#97a99d;margin:7px 0 0; }
.dash-year-comparison { display:flex;align-items:stretch;gap:8px;overflow:hidden; }
.dash-year-summary { display:flex;flex-direction:column;justify-content:center;gap:8px;flex:1;min-width:0;text-align:left;padding:10px;border-radius:12px;background:#f6f8f6;color:#93a79a; }
.dash-year-summary.selected { background:#e8f2eb; }.dash-year-summary:hover { background:#e2eee6; }
.dash-year-summary > span { font-size:13px;font-weight:600;color:#587f65; }
.dash-year-summary > strong { font-size:25px;font-weight:550;color:#3f7952;letter-spacing:-.5px; }.dash-year-summary strong small { font-size:12px; }
.dash-year-summary > small { font-size:8px;white-space:nowrap; }
.dash-empty { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;height:100%;min-height:65px;color:#a2b5a8;text-align:center; }
.dash-empty svg { width:25px;height:25px; }.dash-empty p { font-size:10px;line-height:1.6;max-width:260px;margin:0; }
.dash-attention-item { display:flex;align-items:center;gap:9px;width:100%;text-align:left;border-bottom:1px solid #eff3f0;padding:9px 0; }
.dash-attention-item:first-child { padding-top:0; }.dash-attention-item:last-child { border:0; }
.dash-attention-item > span:nth-child(2) { display:flex;flex-direction:column;gap:4px;flex:1;min-width:0; }
.dash-attention-item strong { color:#637e6c;font-size:11px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.dash-attention-item small { font-size:9px;color:#a2b2a7; }.dash-attention-item.overdue small { color:#b18b53; }
.dash-attention-icon { display:grid;place-items:center;width:28px;height:28px;border-radius:9px;color:#91b29d;background:#f0f6f2;flex-shrink:0; }
.dash-attention-icon svg { width:14px;height:14px; }.dash-attention-item.overdue .dash-attention-icon { color:#bc9c66;background:#fbf5e8; }
.dash-attention-item > svg { width:13px;height:13px;color:#b6c5bc; }.dash-attention-item > b { font-size:11px;font-weight:550;color:#72947e; }
#dash-footnote { font-size:9px;line-height:1.5;margin:0;color:#92a79a;flex-shrink:0; }
@media(max-width:1100px) { .dashboard-page,#dash-content { gap:9px; }.dash-controls { flex-wrap:wrap; }.dash-toolbar { align-items:flex-end; }.dash-panel { padding:12px; }#dash-scope { display:none; } }
@media(max-width:820px) {
  .dashboard-page { overflow-y:auto;display:block;scrollbar-width:thin;scrollbar-color:#c9d9ce transparent;padding-bottom:8px; }
  .dash-heading { gap:10px;margin-bottom:10px; }.dash-heading h1 { font-size:22px; }.dash-view-tabs { margin-left:auto; }.dash-view-tabs button { padding:7px 13px;font-size:10px; }
  .dash-toolbar { margin-bottom:10px;gap:7px; }.dash-controls { flex-basis:100%;gap:5px; }.dash-period-tabs { margin-left:auto; }.dash-period-tabs button { padding:6px 9px; }#dash-period-label { font-size:11px;min-width:90px; }
  #dash-date { font-size:12px;padding:5px 8px; }#dash-label { margin-left:0;max-width:none;flex:1;min-width:110px; }.dash-toolbar select { font-size:12px; }
  #dash-task-controls { display:contents; }.dash-period-tabs { margin-left:0; }#dash-today { margin-left:auto; }#dash-date { width:120px; }
  #dash-content { display:block; }.dash-metrics { grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px; }.dash-metric { padding:12px; }.dash-metric > strong { font-size:28px; }.dash-metric > small { min-height:23px; }
  .dash-panels { display:flex;flex-direction:column;gap:10px; }.dash-panel { height:225px;flex-shrink:0;padding:14px; }.dash-panel > header { margin-bottom:14px; }.dash-panel h2 { font-size:13px; }.dash-panel-body { overflow-y:auto; }.dash-bar-row > div:first-child,.dash-direction > div:first-child { font-size:11px; }.dash-attention-item strong { font-size:12px; }
  #dash-footnote { margin-top:10px;font-size:9px; }.dash-year-summary { padding:10px; }.dash-year-summary > small { font-size:8px; }
}
