.summary-balances{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--section-gap);margin-bottom:var(--section-gap)}
.summary-balance{padding:var(--card-inset);text-align:center;min-width:0}
.summary-balance h2{display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--font-section);margin:0 0 var(--space-3);line-height:1.4}
.summary-balance h2 .icon{width:21px;height:21px;color:var(--gold);flex-shrink:0}
.summary-balance>strong{display:block;font-size:2rem;line-height:1.2;font-weight:600;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.summary-balance>strong small{margin-left:5px;font-size:var(--font-sm);font-weight:400;color:var(--muted)}
.balance-caption{display:block;font-size:var(--font-xs);color:var(--muted);margin:var(--space-1) 0 var(--space-3)}
.summary-balance dl{margin:0;display:grid;gap:var(--space-2)}
.summary-balance dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);font-size:var(--font-sm)}
.summary-balance dt{color:var(--muted);text-align:left;min-width:0;white-space:nowrap}.summary-balance dd{white-space:nowrap;margin:0;text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0}
.summary-progress{height:5px;background:var(--soft);border-radius:999px;overflow:hidden;margin-top:var(--space-4)}
.summary-progress>span{display:block;height:100%;background:var(--gold);border-radius:inherit}
.summary-statistics,.summary-pit{padding:var(--card-inset);margin-bottom:var(--section-gap);min-width:0}
.summary-statistics>h2,.summary-pit>h2{font-size:var(--font-section);line-height:1.5;font-weight:550;margin:0 0 var(--space-3)}
.summary-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:var(--space-3)}
.summary-stat{display:flex;flex-direction:column;align-items:center;min-width:0;gap:var(--space-2);padding:var(--space-4) var(--space-2);border:1px solid var(--line);border-radius:var(--control-radius);background:var(--bg);text-align:center}
.summary-stat:hover,.summary-stat[aria-expanded=true]{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 4%,var(--bg))}
.summary-stat>.icon{width:23px;height:23px;color:var(--gold);flex-shrink:0}
.summary-stat-label{display:flex;align-items:center;justify-content:center;min-height:2.6em;line-height:1.3;font-size:var(--font-sm);color:var(--muted);overflow-wrap:normal}
.summary-stat>strong{display:flex;flex-direction:column;justify-content:center;gap:var(--space-1);flex:1;width:100%;font-size:1.125rem;font-weight:550;line-height:1.4;font-variant-numeric:tabular-nums}
.summary-number{white-space:normal;overflow-wrap:normal;word-break:normal}
.summary-stat>strong small{font-size:var(--font-xs);font-weight:400;color:var(--muted)}
.summary-detail{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--line);min-width:0}
.summary-detail h3{font-size:var(--font-sm);font-weight:550;margin:0 0 var(--space-2)}
.summary-detail p{font-size:var(--font-xs);color:var(--muted);line-height:1.6;margin:0 0 var(--space-3)}
.summary-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.summary-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:var(--font-sm);font-variant-numeric:tabular-nums}
.summary-table th,.summary-table td{padding:var(--space-2);text-align:center;border-bottom:1px solid var(--line);font-weight:400;overflow-wrap:anywhere}
.summary-table thead th{color:var(--muted);font-size:var(--font-xs)}
.summary-table tbody th{text-align:left;text-transform:capitalize;color:var(--muted)}
.pit-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);text-align:center}
.pit-metrics>div{display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-2);min-width:0}
.pit-metrics span{font-size:var(--font-xs);line-height:1.5;color:var(--muted)}
.pit-metrics strong{font-size:var(--font-md);font-weight:500;overflow-wrap:normal;font-variant-numeric:tabular-nums}
@media(max-width:700px){
 .summary-balance h2{font-size:14px;gap:var(--space-1);margin-bottom:var(--space-3)}
 .summary-balance h2 .icon{width:20px;height:20px}
 .summary-balance>strong{font-size:1.625rem}
 .summary-balance dl>div{font-size:11px;gap:4px}
 .summary-stat-grid{gap:6px}
 .summary-stat{padding:12px 3px;gap:6px}
 .summary-stat>.icon{width:21px;height:21px}
 .summary-stat-label{font-size:11px;line-height:1.3}
 .summary-stat>strong{font-size:clamp(13px,3.5vw,16px);min-height:3.2em}
 .summary-stat>strong small{font-size:11px;line-height:1.35}
 .summary-table th,.summary-table td{padding:var(--space-2) var(--space-1);font-size:var(--font-xs)}
 .pit-metrics{gap:var(--space-2)}
 .pit-metrics strong{font-size:14px}
}
@media(max-width:360px){.summary-stat>strong{font-size:12.5px}.summary-balance{padding:12px 8px}.summary-balance>strong{font-size:1.5rem}.summary-balance dl>div{font-size:10.5px}}

/* The existing balance cards keep their dimensions; the native trigger is an overlay. */
.summary-balance{position:relative}
.balance-trigger{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:inherit;background:transparent;cursor:pointer}
html.balance-modal-open{overflow:hidden}
body.balance-modal-open{position:fixed;top:var(--balance-scroll-top);left:0;width:100%;padding-right:var(--balance-scrollbar);overflow:hidden}
.balance-dialog{width:min(480px,calc(100vw - 2 * var(--page-gutter)));max-width:none;max-height:calc(100dvh - 2 * var(--page-gutter));padding:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--card-radius);background:var(--surface)}
.balance-dialog[open]{display:flex;flex-direction:column}
.balance-dialog::backdrop{background:#0009;backdrop-filter:blur(3px)}
.balance-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--card-inset);border-bottom:1px solid var(--line);flex-shrink:0}
.balance-dialog-header>div{display:flex;align-items:center;gap:var(--space-3);min-width:0}
.balance-dialog-header .icon{width:23px;height:23px;flex-shrink:0;color:var(--gold)}
.balance-dialog-header h2{font-size:1.125rem;line-height:1.35;font-weight:550;margin:0;overflow-wrap:anywhere}
.balance-dialog-header span{display:block;font-size:var(--font-xs);color:var(--muted);margin-top:var(--space-1)}
.balance-dialog-header>.icon-button{width:var(--tap-size);height:var(--tap-size);min-width:var(--tap-size);font-size:26px}
.balance-dialog-body{padding:var(--card-inset);overflow-y:auto;overscroll-behavior:contain;min-height:0;scrollbar-width:thin}
.balance-dialog-body:focus-visible{outline:1px solid var(--line);outline-offset:-3px}
.balance-dialog-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.balance-dialog-kpis>div{padding:var(--space-3);border:1px solid var(--line);border-radius:var(--control-radius);background:var(--bg);text-align:center;min-width:0}
.balance-dialog-kpis span{font-size:var(--font-xs);color:var(--muted)}
.balance-dialog-kpis strong{display:block;margin-top:var(--space-2);font-size:1.5rem;font-weight:600;line-height:1.3;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.balance-dialog-kpis small{font-size:var(--font-xs);font-weight:400;margin-left:var(--space-1);color:var(--muted)}
.balance-dialog-values{display:grid;gap:var(--space-2);margin:var(--space-4) 0 0;font-size:var(--font-sm)}
.balance-dialog-values>div{display:flex;justify-content:space-between;gap:var(--space-2)}
.balance-dialog-values dt{color:var(--muted)}
.balance-dialog-values dd{margin:0;font-variant-numeric:tabular-nums}
.balance-dialog-values .balance-excess dd{color:var(--gold)}
.balance-dialog-body h3{font-size:var(--font-sm);font-weight:550;line-height:1.5;margin:var(--space-4) 0 var(--space-2)}
.balance-months{list-style:none;padding:0;margin:0;font-size:var(--font-sm);font-variant-numeric:tabular-nums}
.balance-months li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:baseline;padding:6px 0;border-bottom:1px solid var(--line);line-height:1.4}
.balance-months span{color:var(--muted);text-transform:capitalize;overflow-wrap:anywhere}
.balance-months strong{font-weight:400}
@media(max-width:360px){.balance-dialog-header>div{gap:var(--space-2)}.balance-dialog-header h2{font-size:1rem}}

.balance-card-excess{margin-top:var(--space-2);color:var(--gold);font-size:var(--font-xs);font-variant-numeric:tabular-nums}
.balance-progress-caption{white-space:nowrap}
.balance-leave-ranges{display:grid;gap:var(--space-1);text-align:right;min-width:0}
.balance-leave-ranges strong{overflow-wrap:anywhere}
.balance-empty{color:var(--muted);font-size:var(--font-sm);line-height:1.5;margin:0}

.summary-stat>strong .summary-money{font-size:11px;line-height:1.35;overflow-wrap:normal;white-space:normal}.balance-caption{font-size:12px}.pit-metrics span{font-size:12px}.summary-detail p{font-size:12px}.summary-table thead th{font-size:11px}
