/* Savings finder (/public-money/savings). Colors come from tokens.css, so dark mode follows. */
.sav-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 8px}
.sav-stats>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;display:flex;flex-direction:column;gap:2px;min-width:0}
.sav-stats b{font-family:var(--f-data);font-size:1.35rem;color:var(--navy);line-height:1.2}
.sav-stats span{font-size:.8rem;color:var(--muted)}

.sav-filters{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 14px}
.sav-list{display:flex;flex-direction:column;gap:12px}
.sav-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column;gap:10px;scroll-margin-top:80px;min-width:0;overflow-wrap:anywhere}
.sav-top{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.sav-rank{font-family:var(--f-data);font-weight:600;color:var(--navy)}
.sav-n{font-weight:600;font-size:1.05rem;color:var(--ink);line-height:1.35;margin:0}
.sav-chip{display:inline-block;font-size:.72rem;line-height:1.5;padding:1px 9px;border-radius:999px;border:1px solid var(--line);color:var(--muted);text-transform:none;letter-spacing:0;white-space:nowrap}
.sav-chip.c-medium{color:var(--navy);border-color:color-mix(in srgb,var(--navy) 45%,transparent)}
.sav-chip.c-records{color:var(--ink);border-color:var(--amber);background:color-mix(in srgb,var(--amber) 14%,transparent)}

.sav-figs{display:flex;flex-wrap:wrap;gap:8px 28px}
.sav-fig span{display:block;font-size:.75rem;color:var(--muted)}
.sav-fig b{font-family:var(--f-data);font-weight:500;font-size:1.05rem;color:var(--ink)}
.sav-fig small{display:block;font-size:.75rem;color:var(--muted);max-width:22rem}
.sav-p{margin:0;font-size:.9rem;line-height:1.55;color:var(--ink)}
.sav-p.muted{color:var(--muted)}
.sav-p b{font-weight:600}

.sav-ev{border-top:1px solid var(--line);padding-top:10px;display:flex;flex-direction:column;gap:12px}
.sav-g h4{margin:0 0 6px;line-height:1.35;font-size:.82rem;font-weight:600;color:var(--ink)}
.sav-g .note{margin:4px 0 0;font-size:.75rem;color:var(--muted)}
/* One row per record: the full label (wrapping, never cut off) and its figure on top, the bar under it. */
.sav-row{display:flex;flex-direction:column;gap:4px;margin:0 0 10px;font-size:.82rem}
.sav-row:last-child{margin-bottom:0}
.sav-row-hd{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px}
.sav-row-hd>span{flex:1 1 12rem;min-width:0;color:var(--ink);line-height:1.4}
.sav-row-hd>b{font-family:var(--f-data);font-weight:500;color:var(--ink);white-space:nowrap}
.sav-row-hd>b small{font-weight:400;color:var(--muted);margin-left:4px}
.sav-track{position:relative;display:block;height:10px;border-radius:4px;background:color-mix(in srgb,var(--navy) 16%,transparent)}
.sav-track em{position:absolute;inset:0 auto 0 0;border-radius:4px;background:var(--navy)}
.sav-key{font-size:.72rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 12px;margin:0 0 8px}
.sav-key i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px;background:var(--navy)}
.sav-key i.out{background:color-mix(in srgb,var(--navy) 16%,transparent)}

.sav-more{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.8rem;align-items:center}
.sav-more a{color:var(--blue)}
.sav-reqs li{padding:10px 0;border-bottom:1px solid var(--line);font-size:.9rem;line-height:1.5}
.sav-reqs li:last-child{border-bottom:0}
.sav-reqs .pill{margin-top:4px}

@media (max-width:760px){
  .sav-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
