:root{--bg:#f5f6f8;--surface:#fff;--text:#1a1d23;--muted:#6b7280;--border:#e3e5e9;--green:#1e7e34;--green-bg:#e6f4ea;--red:#b02a37;--red-bg:#fbeaec;--accent:#2563eb;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#14161a;--surface:#1e2126;--text:#e7e9ec;--muted:#9aa0aa;--border:#2c3038;--green:#4ade80;--green-bg:#16321f;--red:#f87171;--red-bg:#3a1a1d;--accent:#60a5fa}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}input,select,button{font-family:inherit;font-size:1rem}main{max-width:640px;margin:0 auto;padding:1rem 1rem 5rem}.loading{text-align:center;color:var(--muted);margin-top:3rem}.login-screen{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-screen form{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:12px;width:100%;max-width:360px;padding:2rem}.login-screen h1{margin:0 0 .5rem}.login-screen p{color:var(--muted);margin:0 0 1.5rem}.login-screen input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:8px;margin-bottom:1rem;padding:.75rem}.app-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.app-header h1{margin:0;font-size:1.25rem}.month-picker{align-items:center;gap:.5rem;font-weight:600;display:flex}.month-picker button{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;width:2rem;height:2rem}.summary-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:1rem;padding:1rem}.summary-row{justify-content:space-between;padding:.35rem 0;display:flex}.summary-row.saldo{border-top:1px solid var(--border);margin-top:.35rem;padding-top:.6rem;font-size:1.1rem}.summary-row.saldo.negative strong{color:var(--red)}.positive{color:var(--green)}.negative{color:var(--red)}.warning{background:var(--red-bg);color:var(--red);border-radius:8px;margin:.5rem 0 0;padding:.5rem .75rem;font-size:.9rem}.error{color:var(--red);font-size:.9rem}.category-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:1rem;overflow:hidden}.category-section header{border-bottom:1px solid var(--border);justify-content:space-between;padding:.75rem 1rem;font-weight:600;display:flex}.category-section ul{margin:0;padding:0;list-style:none}.category-section li{border-bottom:1px solid var(--border);align-items:center;gap:.6rem;padding:.6rem 1rem;display:flex}.category-section li:last-child{border-bottom:none}.category-section li.paid{background:var(--green-bg)}.category-section li.paid .name{color:var(--muted);text-decoration:line-through}.category-section .name{flex:1}.category-section .amount{white-space:nowrap;font-weight:600}.category-section .delete{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1rem}.paid-toggle input{cursor:pointer;width:1.2rem;height:1.2rem}.add-button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:.85rem 1.5rem;font-weight:600;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0003}.modal-backdrop{z-index:10;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.backdrop-close{cursor:pointer;background:#00000073;border:none;padding:0;position:absolute;inset:0}@media (width>=480px){.modal-backdrop{align-items:center}}.modal{z-index:1;background:var(--surface);border-radius:16px 16px 0 0;width:100%;max-width:420px;max-height:90vh;padding:1.5rem;position:relative;overflow-y:auto}@media (width>=480px){.modal{border-radius:16px}}.modal h2{margin:0 0 1rem}.modal label{color:var(--muted);margin-bottom:.9rem;font-size:.9rem;display:block}.modal input,.modal select{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:8px;margin-top:.3rem;padding:.6rem;display:block}.modal fieldset{border:none;gap:1rem;margin:0 0 .9rem;padding:0;display:flex}.modal fieldset label{align-items:center;gap:.35rem;margin:0;display:flex}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1rem;display:flex}.modal-actions button{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:8px;padding:.6rem 1.2rem}.modal-actions button[type=submit]{background:var(--accent);color:#fff;border:none}
