:root{--ink:#13221d;--muted:#607169;--card:#fff;--line:#dfebe4;--bg:#f4f8f5;--green:#087a4b;--red:#b64242}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font:15px/1.45 Inter,ui-sans-serif,system-ui,sans-serif}a{color:inherit;text-decoration:none}.shell{grid-template-columns:230px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#e6f4ec;background:#103b2c;padding:28px 18px}.brand{letter-spacing:-.03em;margin:0 10px 30px;font-size:20px;font-weight:750;display:block}.brand small{color:#a9c9ba;letter-spacing:0;font-size:12px;font-weight:500;display:block}.nav a{color:#c5dfd2;border-radius:9px;margin:4px 0;padding:10px 12px;display:block}.nav a:hover,.nav a.active{color:#fff;background:#1b5840}.main{width:100%;max-width:1600px;margin:auto;padding:34px clamp(20px,4vw,58px)}.eyebrow{color:var(--green);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700}h1{letter-spacing:-.04em;margin:4px 0 26px;font-size:32px;line-height:1.15}h2{margin:0;font-size:17px}.cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:25px;display:grid}.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 2px 6px #153b2810}.card{padding:18px}.card span{color:var(--muted);font-size:13px;display:block}.card strong{letter-spacing:-.04em;margin-top:8px;font-size:24px;display:block}.income{color:var(--green)}.expense{color:var(--red)}.grid{grid-template-columns:1.4fr .9fr;gap:18px;display:grid}.panel{padding:20px;overflow:auto}.panel-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}table{border-collapse:collapse;width:100%;font-size:14px}th{color:var(--muted);text-align:left;font-size:12px;font-weight:650}td,th{border-bottom:1px solid var(--line);white-space:nowrap;padding:11px 8px}tr:last-child td{border:0}.tag{color:#266347;background:#edf6f0;border-radius:100px;padding:3px 7px;font-size:12px;display:inline-block}.category{border-bottom:1px solid var(--line);margin:0;padding:10px 0}.category:last-of-type{border-bottom:0}.chart{border-bottom:1px solid var(--line);align-items:end;gap:11px;height:205px;padding:12px 5px 0;display:flex}.bar{background:linear-gradient(#42ae7d,#0b764c);border-radius:5px 5px 0 0;flex:1;min-width:16px}.bar:nth-child(2n){background:linear-gradient(#f09b8f,#bd4e45)}.login{width:min(430px,100% - 32px);margin:12vh auto;padding:30px}.login input{border:1px solid var(--line);width:100%;font:inherit;border-radius:8px;margin:7px 0 16px;padding:11px}.login button{color:#fff;background:var(--green);width:100%;font:inherit;cursor:pointer;border:0;border-radius:8px;padding:11px;font-weight:700}.button-link{background:var(--green);color:#fff;border-radius:8px;padding:10px 14px;font-weight:700;display:inline-block}.hint{color:var(--muted);font-size:13px}.error{color:var(--red);font-size:13px}.empty{color:var(--muted);padding:24px 0}@media (max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}.grid,.shell{grid-template-columns:1fr}.sidebar{z-index:1;padding:14px;position:sticky;top:0}.brand{margin:0 0 8px}.brand small{display:none}.nav{display:flex;overflow:auto}.nav a{white-space:nowrap}.main{padding:24px 16px}}@media (max-width:520px){.cards{grid-template-columns:1fr 1fr}.card{padding:13px}.card strong{font-size:19px}h1{font-size:27px}}
