:root{--ink:#171c16;--page:#f1f3ed;--focus:#34654a;--line:#dee4d9;--muted:#526153;--green:#174e37}
.gauge-shell{display:grid;grid-template-columns:194px minmax(0,1fr);min-height:calc(100vh - 44px)}
.rail{display:flex;flex-direction:column;gap:45px;background:#e8ede3;border-right:1px solid var(--line);padding:24px 16px;min-width:0}
.logo{display:flex;align-items:center;gap:9px;font-size:24px;font-weight:650;letter-spacing:-.06em;padding-left:7px}
.logo>span:first-child{display:grid;place-items:center;width:32px;height:32px;background:#183d2a;color:#d8fc9d;border-radius:10px;font-size:25px;line-height:1}
.rail-nav .kicker{padding-left:10px;color:var(--muted);margin-bottom:12px}
.rail-nav a{display:flex;gap:10px;align-items:center;padding:9px 10px;margin:4px 0;border-radius:7px;font-size:14px}
.rail-nav a:first-of-type,.rail-nav a:hover{background:#d6e3d3}
.profile{margin-top:auto;display:flex;align-items:center;gap:8px;font-size:13px}
.profile i{display:grid;place-items:center;background:#cfdfcb;width:34px;height:34px;border-radius:50%;font-style:normal;font-size:11px}
.profile small{display:block;color:var(--muted);font-size:10px}
main{width:100%;max-width:1350px;margin:0 auto;padding:32px clamp(16px,4vw,52px) 20px}
.dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:23px}
.dashboard-head .kicker,.panel .kicker{color:var(--muted)}
h1{font-size:clamp(32px,5vw,64px);line-height:1.05;letter-spacing:-.075em;margin:7px 0 8px}
.dashboard-head p:last-child{color:var(--muted)}
.segmented{display:flex;gap:3px;padding:4px;border:1px solid var(--line);border-radius:9px;white-space:nowrap}
.segmented button{padding:7px 10px;border:0;border-radius:6px;background:transparent;font-size:13px}
.segmented button[aria-pressed=true]{background:var(--ink);color:white}
.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.metrics>div,.panel{background:#fcfdf9;border:1px solid var(--line);border-radius:12px;padding:19px}
.metrics>div:first-child{background:#d9f5aa;border-color:#d1e99e}
.metrics p{font-size:13px;color:#334a35}
.metrics strong{display:block;font-size:clamp(22px,3.5vw,42px);line-height:1.4;letter-spacing:-.065em}
.metrics small{color:#3c573e}
.analytics{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;margin:12px 0}
.panel header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.panel h2{font-size:22px;letter-spacing:-.045em}
.legend{font-size:12px;color:var(--muted);white-space:nowrap}
.legend::before{content:'';display:inline-block;width:8px;height:8px;border-radius:2px;background:var(--green);margin-right:5px}
.chart{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 4px;text-align:center;background:repeating-linear-gradient(to top,transparent 0,transparent 35px,#e8eee4 36px,#e8eee4 37px);background-size:100% calc(100% - 26px);background-repeat:no-repeat}
.chart-column{display:grid;grid-template-rows:145px auto;gap:8px;font-size:11px;color:var(--muted)}
.chart-meter{position:relative;display:flex;align-items:flex-end;justify-content:center}
.chart-meter i{position:relative;width:min(50%,53px);background:var(--green);border-radius:5px 5px 1px 1px}
.chart-column:last-child i{background:#89ae53}
.chart-meter b{position:absolute;left:50%;bottom:100%;transform:translate(-50%,-4px);color:var(--ink);font-variant-numeric:tabular-nums}
.budget-item{margin:13px 0}
.budget-item p{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:12px;margin-bottom:4px}
.budget-item span{color:var(--muted)}
progress{display:block;width:100%;height:9px;appearance:none;border:0;border-radius:8px;background:#e4ebe0;overflow:hidden;accent-color:#39674b}
progress::-webkit-progress-bar{background:#e4ebe0}progress::-webkit-progress-value{background:#39674b}progress::-moz-progress-bar{background:#39674b}
.transactions label{font-size:12px;color:var(--muted)}
select{border:1px solid var(--line);background:var(--page);padding:5px 7px;border-radius:5px}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left;font-size:13px}
th,td{padding:9px 7px;border-bottom:1px solid var(--line)}
th{font-size:11px;color:var(--muted);font-weight:550}
th:last-child,td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.credit{color:var(--green)}
.transaction-count,footer{font-size:12px;color:var(--muted);margin-top:12px}
footer{display:flex;justify-content:space-between;gap:10px;padding:5px 0}
footer a{text-decoration:underline}
@media(max-width:900px){.gauge-shell{grid-template-columns:1fr}.rail{flex-direction:row;align-items:center;justify-content:space-between;gap:10px;border-right:0;border-bottom:1px solid var(--line);padding:8px 16px}.rail-nav{display:flex}.rail-nav a{margin:0;font-size:12px}.rail-nav p,.profile{display:none}}
@media(max-width:590px){.dashboard-head{display:grid}.segmented{justify-self:start}.analytics{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metrics>div:first-child{grid-column:1/-1}.metrics>div,.panel{padding:13px}.rail-nav a{gap:3px;padding:7px 5px}.logo{padding:0;font-size:21px}.logo>span:first-child{width:27px;height:27px;font-size:20px}}
