:root{--page:#e6ecf2;--panel:#fff;--ink:#18202b;--ink-soft:#566476;--line:#c9d3de;--action:#2445d6;--action-ink:#fff;--paper:#fffdf8;--paper-ink:#1d232c;--highlight:#ffe45c;--negative:#b8321a;--positive:#1b7447;--focus:#2445d6;--font-display:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--font-body:"Atkinson Hyperlegible", "Segoe UI", system-ui, sans-serif;--radius-sm:6px;--radius-md:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--page:#151c26;--panel:#1e2733;--ink:#e8eef5;--ink-soft:#9aa8b8;--line:#34404f;--action:#7f97ff;--action-ink:#0e1420;--focus:#9fb0ff}}*,:before,:after{box-sizing:border-box}body{background:var(--page);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.5}h1,h2,h3{font-family:var(--font-display);margin:0;line-height:1.15}button,input,select{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{max-width:1120px;margin:0 auto;padding:clamp(1.25rem,4vw,3rem) clamp(1rem,4vw,2rem) 4rem}.header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:2.5rem;display:flex}.logo{letter-spacing:-.035em;font-size:clamp(2.5rem,7vw,4.5rem);font-weight:800}.tagline{max-width:46ch;color:var(--ink-soft);margin:.5rem 0 0;font-size:1.0625rem}.settings{gap:.75rem;display:flex}.settings label{gap:.25rem;display:grid}.layout{grid-template-columns:minmax(0,1fr) minmax(300px,380px);align-items:start;gap:2rem;display:grid}.column{gap:1rem;display:grid}@media (width<=820px){.layout{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);padding:1.25rem}.panel h2{margin-bottom:1rem;font-size:1.25rem;font-weight:700}.label,.field label{color:var(--ink-soft);font-size:.875rem;font-weight:700;display:block}input:not([type=checkbox]),select{background:var(--page);border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;min-height:2.75rem;padding:.5rem .75rem}input::placeholder{color:var(--ink-soft);opacity:.7}input[aria-invalid=true]{border-color:var(--negative)}.inline-form{gap:.5rem;display:flex}.expense-form fieldset{border:0;grid-template-columns:1fr 1fr;gap:1rem;margin:0;padding:0;display:grid}.expense-form fieldset:disabled{opacity:.5}.field{gap:.35rem;display:grid}.field-wide{grid-column:1/-1}.checks{flex-wrap:wrap;gap:.5rem;display:flex}.check{border:1px solid var(--line);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .75rem;display:inline-flex}.check:has(input:checked){border-color:var(--action);box-shadow:inset 0 0 0 1px var(--action)}.check input{accent-color:var(--action)}.hint{color:var(--ink-soft);margin:0}.field-error{color:var(--negative);margin:.5rem 0 0;font-size:.9375rem}.btn{border:1px solid var(--ink);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;min-height:2.75rem;padding:.5rem 1rem;font-weight:700}.btn:hover:not(:disabled){background:var(--ink);color:var(--page)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--action);border-color:var(--action);color:var(--action-ink)}.btn-primary:hover:not(:disabled){background:var(--ink);border-color:var(--ink)}.btn-whatsapp{color:#0b3d1f;background:#25d366;border-color:#25d366}.btn-whatsapp:hover:not(:disabled){color:#fff;background:#1da851;border-color:#1da851}.btn-ghost{text-underline-offset:3px;border-color:#0000;text-decoration:underline}.icon-btn,.chip-remove{width:2rem;height:2rem;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;font-size:1.25rem;line-height:1;display:grid}.icon-btn:hover,.chip-remove:hover{background:var(--page);color:var(--negative)}.chips{flex-wrap:wrap;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.chip{background:var(--page);border-radius:999px;align-items:center;gap:.15rem;padding:.2rem .25rem .2rem .85rem;font-weight:700;display:inline-flex}.chip-remove{width:1.75rem;height:1.75rem}.expenses{margin:0;padding:0;list-style:none}.expense{border-top:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:.75rem;padding:.75rem 0;display:grid}.expense:first-child{border-top:0;padding-top:0}.expense-main{min-width:0;display:grid}.expense-description{overflow-wrap:anywhere;font-weight:700}.expense-meta{color:var(--ink-soft);font-size:.875rem}.expense-amount{font-variant-numeric:tabular-nums;font-weight:700}.receipt{position:sticky;top:1.5rem}.receipt-paper{--tooth:12px;background:var(--paper);color:var(--paper-ink);filter:drop-shadow(0 18px 24px #18202b2e);-webkit-mask:linear-gradient(#000 0 0) top / 100% calc(100% - var(--tooth)) no-repeat, conic-gradient(from -45deg at bottom, #0000, #000 1deg 90deg, #0000 91deg) bottom / calc(var(--tooth) * 2) var(--tooth) repeat-x;mask:linear-gradient(#000 0 0) top / 100% calc(100% - var(--tooth)) no-repeat, conic-gradient(from -45deg at bottom, #0000, #000 1deg 90deg, #0000 91deg) bottom / calc(var(--tooth) * 2) var(--tooth) repeat-x;padding:1.75rem 1.5rem 2.25rem;position:relative}.receipt-title{letter-spacing:-.02em;text-align:center;border-bottom:2px dashed #1d232c59;padding-bottom:1rem;font-size:1.75rem;font-weight:800}.receipt-heading{margin:1.5rem 0 .5rem;font-size:1rem;font-weight:700}.receipt-row{font-variant-numeric:tabular-nums;justify-content:space-between;gap:1rem;padding:.3rem 0;display:flex}.receipt-total{border-bottom:2px dashed #1d232c59;padding:1rem 0;font-size:1.125rem}.receipt-total strong{font-family:var(--font-display);font-size:1.5rem}.receipt-list,.transfers{margin:0;padding:0;list-style:none}.receipt .muted{color:#5d6773}.receipt .negative{color:var(--negative)}.receipt .positive{color:var(--positive)}.transfer{border-top:1px solid #1d232c1f;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;padding:.6rem 0;display:flex}.transfer:first-child{border-top:0}.transfer-amount{background:linear-gradient(100deg, transparent 2%, var(--highlight) 4% 96%, transparent 98%);color:var(--paper-ink);font-family:var(--font-display);font-variant-numeric:tabular-nums;padding:.05rem .4rem;font-size:1.25rem;font-weight:800}.receipt-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.25rem;display:flex}@media (width<=820px){.receipt{position:static}}@media (width<=480px){.expense-form fieldset{grid-template-columns:1fr}}@media (prefers-reduced-motion:no-preference){.transfer{animation:.24s ease-out both print}@keyframes print{0%{opacity:0;transform:translateY(-4px)}}}
