:root{font-family:Segoe UI,system-ui,sans-serif;color:#24362f;background:#f4f6f3;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0;border-radius:9px;background:#245744;color:white;padding:12px 18px;font-weight:600}button:hover{background:#173c2f}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c19747;outline-offset:2px}input,select{width:100%;border:1px solid #d5ddd6;padding:11px;border-radius:8px;background:white;color:#24362f}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600}h1{font-size:32px;letter-spacing:-1px;margin:9px 0}h2{font-size:20px;letter-spacing:-.3px}p{line-height:1.65;color:#66756c}small,.muted{color:#728177}small{font-size:11px;letter-spacing:1.5px;font-weight:700}.brand{font-size:19px;letter-spacing:2px;font-weight:750}aside{position:fixed;inset:0 auto 0 0;width:255px;padding:34px 25px;background:#173b2d;color:#fff}aside p{font-size:12px;color:#b4c7bc}nav{display:grid;gap:9px;margin-top:38px}nav button{background:transparent;color:#c6d7cd;text-align:left;padding:14px}nav button.active{background:#315b46;color:white}.aside-bottom{position:absolute;bottom:28px;font-size:11px;color:#c6d7cd}.aside-bottom button{display:block;margin-top:18px;background:#315b46}.dot{display:inline-block;width:7px;height:7px;background:#bad2a9;border-radius:50%;margin-right:5px}main{margin-left:255px;padding:38px 42px;max-width:1600px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;gap:20px}header label{width:160px}article{background:white;border:1px solid #e1e7e0;border-radius:16px;padding:25px;margin-bottom:22px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.metrics article{padding:22px}.metrics h2{font-size:28px;margin:14px 0 8px;font-variant-numeric:tabular-nums}.metrics p{font-size:12px;margin:0}.accent{background:#e6eddf;border-color:#d5dfcb}.grid{display:grid;grid-template-columns:1.1fr 1fr;gap:22px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:end}.form-grid button{align-self:end;min-height:42px}.table-wrap{overflow:auto;margin-top:18px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:#728177;font-size:11px;text-transform:uppercase;letter-spacing:.5px}td,th{padding:15px 10px;border-bottom:1px solid #e8ece7}td small{display:block;margin-top:6px;letter-spacing:0;font-size:11px}td select,td input{min-width:135px;margin-bottom:5px;padding:7px;font-size:12px}.negative{color:#a24c3d}.positive{color:#245744}.badge{background:#eef0e9;color:#617257;padding:6px 10px;border-radius:20px;font-size:12px}#message{position:sticky;top:12px;z-index:2;padding:14px 20px;background:#e0edd7;border:1px solid #b7cea7;border-radius:10px}#message.error{background:#fbe7e0;border-color:#deb4a4}.login{max-width:470px;margin:12vh auto;padding:35px}.login h1{font-size:44px;margin-top:36px}.login form{display:grid;gap:18px;margin-top:30px}.empty{padding:25px 0;color:#728177}.category{margin:17px 0}.category-head{display:flex;justify-content:space-between;margin-bottom:7px}.bar{height:8px;background:#edf0e8;border-radius:10px;overflow:hidden}.bar-fill{height:100%;background:#7f9b67}.row{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid #edf0e9}[hidden]{display:none!important}@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,1fr)}main{padding:28px}.form-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:750px){aside{position:static;width:100%;padding:20px}aside p,.aside-bottom{display:none}nav{display:flex;overflow:auto;margin-top:16px;gap:6px}nav button{white-space:nowrap;padding:10px;font-size:12px}main{margin:0;padding:20px 15px}header{align-items:start}h1{font-size:27px}.metrics{gap:10px}.metrics article{padding:16px}.metrics h2{font-size:23px}.grid{grid-template-columns:1fr;gap:0}.form-grid{grid-template-columns:1fr}article{padding:20px}header label{width:140px}.login{margin:5vh auto}}
@media(max-width:750px){.aside-bottom{display:flex;position:static;align-items:center;justify-content:space-between;margin-top:14px;gap:12px}.aside-bottom button{margin-top:0;padding:8px 12px}.row{flex-wrap:wrap}.row span{overflow-wrap:anywhere;min-width:0}header>div{min-width:0}.metrics h2{overflow-wrap:anywhere}}

.bank-card{border:1px solid #d5ddd6;border-radius:12px;padding:18px}.bank-card button{margin:6px 8px 0 0}#bank-accounts h2{font-size:20px;overflow-wrap:anywhere}#bank-accounts article{min-width:0}#bank-accounts p{overflow-wrap:anywhere}#bank-accounts button{margin-top:10px}button:disabled{cursor:wait;opacity:.55}
