*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--za-font-body);color:var(--za-text);background:var(--za-surface);flex-direction:column;min-height:100vh;margin:0;font-size:1rem;line-height:1.55;display:flex}main{flex:1 0 auto}h1,h2,h3,h4{font-family:var(--za-font-heading);color:var(--za-heading);margin:0 0 .75rem;font-weight:500;line-height:1.3}h1{font-size:clamp(1.75rem,1.2rem + 2.2vw,2.5rem)}h2{font-size:clamp(1.4rem,1.1rem + 1.2vw,2.125rem)}h3{font-size:clamp(1.2rem,1.05rem + .6vw,1.5625rem)}p{margin:0 0 1rem}a{color:var(--za-primary);text-underline-offset:2px}a:hover{color:var(--za-primary-hover)}img{max-width:100%;height:auto}:focus-visible{outline:3px solid var(--za-primary);outline-offset:2px;border-radius:2px}.container{width:100%;max-width:980px;margin:0 auto;padding:0 1.25rem}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--za-primary);color:#fff;padding:.75rem 1rem;position:absolute;top:0;left:-9999px}.skip-link:focus{color:#fff;top:1rem;left:1rem}.muted{color:var(--za-muted)}.text-accent{color:var(--za-accent-text)}.page{padding-top:2rem;padding-bottom:4rem}.page-title{margin:2rem 0 1.5rem;font-size:clamp(1.25rem,1.1rem + .6vw,1.5rem);font-weight:600}.inline-form{display:inline}.plain-list{flex-wrap:wrap;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}code{overflow-wrap:anywhere}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.pin-help{margin-top:.5rem;font-size:.95rem}.pin-help summary{cursor:pointer;text-decoration:underline}.corrections-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem 1rem;margin:.75rem 0;display:grid}.corrections-grid label{flex-direction:column;gap:.25rem;display:flex}.corrections-grid input,.corrections-grid select{border:1px solid var(--za-border,#c8cdd3);font:inherit;border-radius:6px;padding:.45rem .5rem}.field-error{color:var(--za-danger,#b42318);font-size:.9rem}.profile{gap:.5rem;display:grid}.profile div{gap:.75rem;display:flex}.profile dt{min-width:6rem;font-weight:600}.chart-spent{fill:var(--za-primary,#2f6fae)}.chart-saved{fill:var(--za-success,#2e7d4f)}.print-only{display:none}@media print{header,footer,nav,.no-print,button{display:none!important}.print-only{display:block}body{color:#000;background:#fff}a[href]:after{content:""}}
