:root{font-family:Inter,system-ui,sans-serif;color:#17352d;background:#f4f7f4;line-height:1.45}*{box-sizing:border-box}body{margin:0}header{background:#143f35;color:#fff;padding:1.3rem max(1rem,calc((100% - 1120px)/2));display:flex;justify-content:space-between;gap:1rem;align-items:center}h1{font-size:clamp(1.45rem,4vw,2.25rem);margin:.2rem 0}header label{font-size:.75rem;text-transform:uppercase;font-weight:700}select,input,textarea{display:block;width:100%;padding:.65rem;border:1px solid #a9b8b3;border-radius:.55rem;background:#fff}nav{padding:.8rem max(1rem,calc((100% - 1120px)/2));background:#fff;border-bottom:1px solid #dde5e1}button{border:0;border-radius:.55rem;padding:.65rem .9rem;font-weight:700;cursor:pointer;background:#e4ece8;color:#17352d}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f1b84b;outline-offset:2px}nav button.active,.primary{background:#d76a34;color:#fff}main{max-width:1120px;margin:auto;padding:1rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.card{background:#fff;border:1px solid #dce5e1;border-radius:.8rem;padding:1rem;box-shadow:0 3px 12px #17352d0d}.card h2,.card h3{margin:.2rem 0}.badge{display:inline-block;padding:.2rem .5rem;border-radius:2rem;background:#e5eee9;font-size:.75rem;font-weight:800}.overdue{border-left:5px solid #b83434}.today{border-left:5px solid #d76a34}.toolbar{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:.7rem;margin-bottom:1rem}.muted{color:#60736c}.money{font-size:1.25rem;font-weight:800}.cap{padding:.6rem;border-radius:.5rem;background:#f2f4f3;margin:.4rem 0}.actions{display:flex;gap:.5rem;margin-top:1rem}dialog{border:0;border-radius:1rem;max-width:520px;width:calc(100% - 2rem)}dialog::backdrop{background:#10251fcc}#toast{position:fixed;bottom:1rem;right:1rem;background:#143f35;color:#fff;padding:.8rem;border-radius:.5rem;display:none}@media(max-width:700px){header{align-items:stretch;flex-direction:column}.toolbar{grid-template-columns:1fr}nav{display:flex}nav button{flex:1}}
