body:has(.finance-dashboard) .app-shell { display: flex; height: 100dvh; overflow: hidden; }
body:has(.finance-dashboard) .app-main { height: 100dvh; min-height: 0; overflow: hidden; }
.finance-dashboard { display: flex; flex: 1 1 0; flex-direction: column; gap: 12px; min-height: 0; min-width: 0; overflow-y: auto; }
.finance-dashboard > * { flex-shrink: 0; min-width: 0; }
.finance-dashboard .finance-metrics { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.finance-dashboard .metric-card { min-width: 0; min-height: 82px; padding: 14px; }
.finance-dashboard .metric-card strong { font-size: clamp(1rem, 1.5vw, 1.5rem); overflow-wrap: anywhere; }
.finance-chart-grid { display: grid; grid-template-rows: minmax(210px, 1fr) minmax(220px, 1fr); gap: 12px; }
.finance-dashboard .finance-split-grid { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 12px; }
.finance-dashboard .chart-card { display: flex; flex-direction: column; min-width: 0; padding: 14px 16px; }
.finance-dashboard .chart-card .page-header { margin-bottom: 10px; }
.finance-dashboard .chart-bars { display: flex; flex: 1; flex-direction: column; justify-content: space-between; gap: 10px; }
.finance-dashboard .chart-bar-row { gap: 5px; }
.finance-dashboard .chart-bar-labels { font-size: .76rem; gap: 8px; }
.finance-dashboard .chart-bar-labels strong { overflow-wrap: anywhere; }
.finance-dashboard .chart-bar-track { height: 10px; }
.finance-dashboard .finance-pie-layout { flex: 1; grid-template-columns: minmax(95px, .85fr) minmax(0, 1fr); gap: 12px; }
.finance-dashboard .finance-pie-chart { width: clamp(110px, 18dvh, 190px); height: clamp(110px, 18dvh, 190px); max-width: 100%; aspect-ratio: 1; }
.finance-dashboard .finance-pie-center { width: 60%; height: 60%; padding: 6px; }
.finance-dashboard .finance-pie-center span { font-size: .6rem; letter-spacing: 0; }
.finance-dashboard .finance-pie-center strong { font-size: 1rem; }
.finance-dashboard .finance-pie-legend { gap: 7px; }
.finance-dashboard .finance-pie-legend-item { padding: 7px 9px; gap: 3px; }
.finance-dashboard .finance-pie-legend-item :is(span, strong) { font-size: .74rem; }
.finance-maturity-card { min-width: 0; padding: 14px 16px; display: flex; flex-direction: column; gap: 12px; }
.finance-maturity-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; }
.finance-maturity-heading h2 { font-size: 1rem; margin: 0; }
.finance-maturity-heading p { font-size: .76rem; color: var(--sipedy-muted); margin: 4px 0 0; }
.finance-maturity-legend { display: flex; flex-wrap: wrap; gap: 12px; font-size: .74rem; }
.finance-maturity-legend span { display: inline-flex; align-items: center; gap: 6px; }
.finance-maturity-legend i { width: 9px; height: 9px; border-radius: 3px; }
.finance-receive-dot, .finance-receive-bar { background: #1f6fb2; }
.finance-pay-dot, .finance-pay-bar { background: #e77721; }
.finance-maturity-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; flex: 1; min-height: 0; }
.finance-maturity-bucket { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.finance-maturity-bucket h3 { font-size: .78rem; margin: 0; font-weight: 600; }
.finance-maturity-bucket:first-child h3 { color: #b42339; }
.finance-maturity-bars { height: clamp(40px, 7dvh, 120px); min-height: 40px; display: flex; align-items: flex-end; justify-content: center; gap: 12px; border-bottom: 1px solid var(--sipedy-border); background: repeating-linear-gradient(to top, transparent 0, transparent calc(50% - 1px), #edf2f7 50%); }
.finance-maturity-bar { width: 26%; max-width: 60px; border-radius: 5px 5px 0 0; }
.finance-maturity-values { margin: 0; display: grid; gap: 4px; font-size: .72rem; }
.finance-maturity-values > div { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 8px; }
.finance-maturity-values dt { color: var(--sipedy-muted); }
.finance-maturity-values dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
@media (min-width: 1100px) and (min-height: 720px) {
 .finance-dashboard { overflow: hidden; }
 .finance-chart-grid { flex: 1 1 0; min-height: 0; overflow: auto; overscroll-behavior: contain; }
 .finance-maturity-bars { flex: 1 1 0; height: auto; }
}
@media (max-width: 1099px) {
 .finance-dashboard .finance-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 .finance-chart-grid { grid-template-rows: auto auto; }
 .finance-maturity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
 .finance-dashboard .finance-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .finance-dashboard .finance-split-grid { grid-template-columns: minmax(0, 1fr); }
 .finance-maturity-grid { grid-template-columns: minmax(0, 1fr); }
 .finance-dashboard .finance-pie-layout { grid-template-columns: minmax(95px, .8fr) minmax(0, 1fr); }
 .finance-maturity-bars { height: 65px; }
}
