/* dashboard screens */
.dash-header-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.dash-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 20px; }
@media (max-width: 1250px) { .dash-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) { .dash-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .dash-grid { grid-template-columns: 1fr; } }
.dash-grid .stat-card { position: relative; padding: 16px 18px; min-height: 104px; transition: border-color .15s, box-shadow .15s, transform .15s; }
.dash-grid .stat-card .stat-label { font-size: 0.76rem; letter-spacing: .02em; text-transform: uppercase; }
.dash-grid .stat-card .stat-value { font-family: 'JetBrains Mono', ui-monospace, Menlo, Consolas, monospace; font-size: 1.7rem; font-weight: 600; margin-top: 6px; }
.dash-grid .stat-card .stat-sub { font-size: 0.74rem; margin-top: 4px; line-height: 1.3; }
.dash-grid .stat-card.clickable::after { content: '\2197'; position: absolute; top: 10px; right: 12px; font-size: 0.95rem; color: var(--muted); opacity: .55; }
.dash-grid .stat-card.clickable:hover { transform: translateY(-1px); }
.dash-grid .stat-card.clickable:hover::after { color: var(--brand); opacity: 1; }
.side-panel-label { min-width: 0; overflow-wrap: anywhere; }
.small-text { font-size: 0.76rem; }
.dash-wrap.has-panel { padding-right: 340px; }
@media (max-width: 900px) { .dash-wrap.has-panel { padding-right: 0; } }
.dash-grid .stat-card .stat-label { padding-right: 18px; }
/* financial-year bar */
.dash-fy-bar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; background: var(--card); border: 1px solid var(--border); border-left: 4px solid var(--brand); border-radius: 10px; padding: 10px 16px; margin-bottom: 16px; }
.dash-fy-label { font-weight: 600; font-size: 0.82rem; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.dash-fy-bar .menu-select-btn { font-size: 1.05rem; padding: 7px 14px; border-width: 2px; border-color: var(--brand); }
.dash-fy-hint { font-size: 0.85rem; color: var(--muted); }
.fy-past-badge { display: inline-block; background: var(--accent, #c08a2e); color: #fff; font-weight: 600; border-radius: 999px; padding: 2px 12px; margin-right: 8px; font-size: 0.82rem; }
.dash-tag { font-size: 0.68rem; vertical-align: middle; }
