:root{font-family:Inter,system-ui,sans-serif;color:#152c32;background:#f5f6f1;line-height:1.5;--muted:#445b60;--line:#d4dfdb;--navy:#122f35;--teal:#2c7668}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0}
button,select{font:inherit}
button{cursor:pointer}
a{color:#185e51}
:focus-visible{outline:3px solid #087b68;outline-offset:3px}
h1,h2,h3,p,dl{margin:0}
h1{font-size:clamp(2rem,4vw,3.15rem);line-height:1.1;letter-spacing:-.055em}
h2{font-size:1.1rem;letter-spacing:-.023em;margin-bottom:1.1rem}
h3{font-size:1rem}
.layout{display:grid;grid-template-columns:14.75rem minmax(0,1fr);min-height:100vh}
.rail{background:var(--navy);color:#f0f7f3;padding:2rem 1.15rem}
.brand{font-size:.8rem;font-weight:800;letter-spacing:.15em;margin-bottom:2rem}
.nav{display:grid;gap:.35rem}
.nav button,.secondary{border:0;border-radius:.45rem;text-align:left;color:inherit;background:transparent;padding:.63rem .8rem;min-height:2.75rem;width:100%}
.nav button[aria-current]{background:#d8ece1;color:#133a33;font-weight:750}
.nav button:not([aria-current]):hover,.secondary:hover{background:#23464b}
.rail :focus-visible{outline-color:#c5f0e1}
.secondary{margin-top:1.75rem;border:1px solid #698785}
.rail .muted{color:#c8ded9}
main{padding:clamp(1rem,4vw,3rem);max-width:92rem;width:100%;margin-inline:auto;min-width:0}
.page-header{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.35rem}
.eyebrow{color:var(--muted);font-size:.82rem;font-weight:700;margin-bottom:.2rem}
.period{display:grid;gap:.2rem;color:var(--muted);font-size:.8rem}
select{background:#fff;border:1px solid #627e78;border-radius:.45rem;min-height:2.75rem;padding:.45rem .65rem;color:#152c32}
.sample{padding:.65rem .85rem;border-left:.28rem solid #956522;background:#fff0c9;color:#573a0f;margin-bottom:1.25rem;border-radius:.2rem;overflow-wrap:anywhere}
.sample strong{margin-right:.45rem}
.muted{color:var(--muted)}
.cards,.columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-block:1.15rem}
.cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.cards>div,.panel{background:#fff;border:1px solid var(--line);border-radius:.7rem;padding:1.2rem;min-width:0}
.cards>div:last-child{background:#e0efea;border-color:#9abeb4}
.cards dt,.balances dt{font-size:.84rem;color:var(--muted);font-weight:680}
dd{margin:0;font-weight:750;color:#14362f;overflow-wrap:anywhere}
.cards dd{font-size:clamp(1.1rem,2.1vw,1.85rem);letter-spacing:-.04em;line-height:1.2;margin-top:.45rem}
.panel{margin-block:1.15rem}
.columns .panel{margin:0}
.balances>div,.events>li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.8rem 0;border-top:1px solid var(--line)}
.balances dd{text-align:right}
.events{list-style:none;margin:0;padding:0}
time,.number{white-space:nowrap;font-variant-numeric:tabular-nums}
time{color:var(--muted);font-size:.85rem}
table{width:100%;border-collapse:collapse;text-align:left}
thead th{font-size:.78rem;color:var(--muted);font-weight:700}
thead th:last-child,.number{text-align:right}
tbody th,td{padding:.65rem 0;border-top:1px solid var(--line);vertical-align:top}
tbody th{font-weight:600;padding-right:1rem;overflow-wrap:anywhere}
td{font-weight:700}
.bar{height:.37rem;border-radius:1rem;background:#edf3ef;margin-top:.35rem;overflow:hidden}
.bar span{display:block;height:100%;background:var(--teal);border-radius:inherit}
.legal-note{border-top:1px solid var(--line);padding:.8rem 0}
.legal-note>*{margin-bottom:.35rem}
.signin{max-width:34rem;margin:8vh auto;padding:2rem}
.signin #signin-status{margin:1rem 0}
.signin button{min-height:2.75rem;border:0;border-radius:.4rem;background:var(--navy);color:white;padding:.55rem 1rem}
.skip{position:absolute;top:0;left:.5rem;transform:translateY(-120%);background:white;padding:.4rem;z-index:1}
.skip:focus{transform:none}
@media(max-width:72rem){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:52rem){.layout{grid-template-columns:minmax(0,1fr)}.rail{padding:1rem}.rail .brand{margin-bottom:.55rem}.nav{display:flex;flex-wrap:wrap;gap:.2rem}.nav button,.secondary{width:auto}.secondary{margin-top:.5rem}.columns{grid-template-columns:minmax(0,1fr)}}
@media(max-width:26rem){.cards>div,.panel{padding:.85rem}.cards,.columns{gap:.6rem}.balances>div,.events>li{gap:.65rem}}
