:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#233d36;background:#f6f5ef;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:0;border-radius:9px;padding:12px 18px;background:#214f41;color:#fff;font-weight:600}button:hover{filter:brightness(.94)}button:disabled{opacity:.55;cursor:wait}a{color:inherit;text-decoration:none}header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 5vw;border-bottom:1px solid #dde2d8}header>span{color:#738078;font-size:14px}.brand{font-size:25px;font-weight:750;letter-spacing:-1px}main{max-width:1220px;margin:auto;padding:40px 28px}h1{font-family:Georgia,serif;font-size:clamp(36px,4.5vw,60px);font-weight:400;line-height:1.07;letter-spacing:-1.5px;margin:12px 0 22px}h2{font-family:Georgia,serif;font-size:28px;font-weight:400;margin:8px 0 14px}h3{font-size:17px}p{color:#647269;line-height:1.65}small{font-size:12px;color:#647269}.eyebrow{font-size:11px;font-weight:750;letter-spacing:2px;color:#627867}.intro{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-bottom:35px}.sync{display:grid;gap:12px;max-width:290px}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:#eeeee5;padding:18px;border-radius:12px;font-size:12px}.filters label{display:flex;align-items:center;gap:5px}.filters button{padding:7px 10px}.quiet{background:transparent;color:#295742;border:1px solid #cdd7cb}.period{color:#748077;font-size:12px;margin:27px 0 15px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:26px}.stats article{border:1px solid #d8dfd4;padding:25px;border-radius:15px;display:grid;gap:13px}.stats article:first-child{background:#234d40;color:#fff}.stats article:first-child small{color:#d3e0ce}.stats strong{font-size:36px;font-weight:500}.stats em{font-size:17px;font-style:normal}.stats span{font-size:12px}.grid{display:grid;grid-template-columns:1.1fr 1fr;gap:25px}.card{background:#fffefa;border:1px solid #e3e6dc;border-radius:17px;padding:28px;margin-bottom:25px}.card>p{font-size:13px}.category{display:block;width:100%;text-align:left;background:none;color:inherit;padding:15px 0;border-bottom:1px solid #edf0e8;border-radius:0}.category>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:14px}.track{height:7px;background:#edf0e6;border-radius:6px;margin:10px 0}.track i{display:block;height:100%;background:#86a487;border-radius:6px}.opportunity{padding:8px 0 18px;border-bottom:1px solid #e6e9df}.opportunity p{font-size:13px}.opportunity button{font-size:12px}.recurring{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.repeat{display:grid;gap:16px;text-align:left;background:#f0f2e9;color:#304a3a;padding:20px}.repeat strong{font-size:28px}.repeat small{display:block;font-weight:400}.repeat span{font-size:12px}.goal{background:#e8eddb}.goal label{display:grid;gap:10px;margin:22px 0;font-size:13px}input{padding:11px;border:1px solid #becbb9;border-radius:6px;background:#fffefa;max-width:100%}input[type=range]{width:100%;accent-color:#30543c}.projection{display:block;font-size:36px;font-weight:500;margin-top:25px}.transaction{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #e9ebe2;padding:14px 0;font-size:13px}.transaction small{display:block;margin-top:6px}.transaction strong{white-space:nowrap}footer{font-size:12px;line-height:1.8;color:#768177;padding:10px 0 30px}.error{background:#ffe9dd;padding:15px;border-radius:10px}.empty{margin-top:25px;padding:50px}.login{max-width:520px;padding-top:10vh}.login form{display:grid;gap:20px;margin:35px 0}.login label{display:grid;gap:8px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#16332988;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:#fffefa;max-height:85vh;overflow:auto;width:650px;padding:28px;border-radius:16px}.modal>button{float:right}:focus-visible{outline:3px solid #bd842c;outline-offset:3px}@media(max-width:760px){header>span{display:none}main{padding:25px 16px}.intro{display:block}.sync{margin-top:25px}.stats,.grid{grid-template-columns:1fr}.stats{gap:10px}.stats article{padding:20px}.card{padding:22px}.filters{gap:10px}.filters label{padding:5px}.stats strong{font-size:32px}}
