:root{--ink:#22302c;--green:#236b4b;--light:#f3f6f3;--line:#d7dfda;--orange:#9a5d00;--red:#a12622}*{box-sizing:border-box}body{margin:0;background:var(--light);color:var(--ink);font:16px/1.5 system-ui,-apple-system,sans-serif}header{display:flex;justify-content:space-between;align-items:center;padding:1rem max(1rem,calc((100% - 1120px)/2));background:#fff;border-bottom:1px solid var(--line)}header nav{display:flex;gap:1rem;align-items:center}header form{display:inline}.brand{font-weight:750;color:var(--green);text-decoration:none}main{max-width:1120px;margin:2rem auto;padding:0 1rem}h1{font-size:2rem}h2{font-size:1.25rem}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.4rem;margin-bottom:1rem;box-shadow:0 2px 10px #00000008}.narrow{max-width:520px;margin:3rem auto}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}label{display:block;font-weight:650;margin:.8rem 0}input,select{display:block;width:100%;margin-top:.35rem;padding:.7rem;border:1px solid #9ca9a2;border-radius:6px;font:inherit}button,.button{display:inline-block;border:0;border-radius:6px;background:var(--green);color:#fff;padding:.7rem 1rem;text-decoration:none;font-weight:700;cursor:pointer}button:disabled{opacity:.5}.link{background:none;color:var(--green);padding:0}.badge{float:right;padding:.2rem .55rem;background:#e2eee7;border-radius:99px}dl{display:grid;grid-template-columns:1fr auto}dd{font-weight:700}.notice{padding:1rem;border-radius:8px;margin-bottom:1rem}.success{background:#ddf2e5}.error{background:#f8dddd;color:var(--red)}.checks{list-style:none;padding:0}.checks li{padding:.25rem}.ok{color:var(--green)}.bad{color:var(--red)}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;border-bottom:1px solid var(--line);padding:.65rem}.amount{text-align:right;font-variant-numeric:tabular-nums}.positive{color:var(--green)}.negative{color:var(--red)}.table-wrap{overflow-x:auto}.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.filters a{padding:.35rem .7rem;border:1px solid var(--line);border-radius:99px;background:#fff;text-decoration:none;color:var(--ink)}.filters a.active{background:var(--green);color:#fff}@media(max-width:700px){table{font-size:.85rem}.hide-mobile{display:none}}
