:root{--sea:#075985;--blue:#0284c7;--ink:#163047;--muted:#64748b;--bg:#f4f8fb;--line:#dbe7ef;--ok:#15803d;--bad:#b91c1c}*{box-sizing:border-box}body{margin:0;font:15px/1.45 "Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);display:grid;grid-template-columns:240px 1fr;min-height:100vh}aside{background:linear-gradient(180deg,#064e6b,#082f49);color:white;padding:24px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 25px}.brand>span{font-size:34px}.brand b{font-size:22px;display:block}.brand small{opacity:.7}nav{display:grid;gap:6px}nav button{border:0;background:transparent;color:#dbeafe;text-align:left;padding:11px 13px;border-radius:10px;font:inherit;cursor:pointer}nav button:hover,nav button.active{background:#ffffff18;color:#fff}.aside-note{margin-top:auto;font-size:12px;opacity:.75;padding:8px}.aside-note span{color:#86efac}main{padding:28px 34px;min-width:0}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}h1{margin:0;font-size:28px}header p{margin:3px 0;color:var(--muted)}input,select,textarea{font:inherit;border:1px solid var(--line);border-radius:8px;padding:9px 10px;background:white;color:var(--ink)}button.primary,.action{border:0;background:var(--blue);color:#fff;border-radius:9px;padding:10px 15px;font-weight:600;cursor:pointer}.toolbar{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:15px}.toolbar input{min-width:260px}.cards{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:15px;margin-bottom:22px}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 4px 16px #0f27450a}.card small{color:var(--muted);display:block}.card strong{font-size:26px;margin-top:5px;display:block}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel h2{font-size:17px;margin:0 0 14px}.table-wrap{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:11px 13px;border-bottom:1px solid #eaf0f4;white-space:nowrap}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#f8fafc}tr:hover td{background:#f8fbfd}.pill{display:inline-block;border-radius:20px;padding:3px 8px;font-size:12px;background:#e0f2fe;color:#0369a1}.pill.ok{background:#dcfce7;color:var(--ok)}.pill.bad{background:#fee2e2;color:var(--bad)}.money{font-variant-numeric:tabular-nums;font-weight:600}.empty{text-align:center;padding:45px;color:var(--muted)}dialog{border:0;border-radius:16px;padding:0;box-shadow:0 20px 70px #0005;max-width:760px;width:calc(100% - 30px)}dialog form{padding:24px;position:relative}.close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:28px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.formgrid label{display:grid;gap:5px;font-size:13px;color:var(--muted)}.formgrid .wide{grid-column:1/-1}.checks{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:9px;padding:8px;display:grid;grid-template-columns:repeat(2,1fr)}.checks label{display:flex;gap:8px;padding:5px;color:var(--ink)}#toast{position:fixed;right:25px;bottom:25px;background:#082f49;color:#fff;padding:12px 18px;border-radius:10px;display:none}.membership{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding:9px 0}.membership>label{color:var(--ink);display:flex;gap:7px}.chart{display:grid;gap:20px}.chart-group>b{display:block;margin-bottom:7px}.chart-group>div{display:grid;grid-template-columns:70px minmax(10px,1fr) 105px;gap:8px;align-items:center;margin:5px 0;font-size:12px}.chart-group em{text-align:right;font-style:normal}.bar{height:12px;border-radius:7px;display:block;min-width:2px}.bar.income{background:#0ea5e9}.bar.costs{background:#f59e0b}.bar.result{background:#22c55e}.bar.result.negative{background:#ef4444}@media(max-width:900px){body{grid-template-columns:1fr}aside{position:static;height:auto;padding:12px}nav{display:flex;overflow:auto}.aside-note{display:none}main{padding:20px}.cards{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}}@media(max-width:650px){.membership{grid-template-columns:1fr}.chart-group>div{grid-template-columns:58px minmax(10px,1fr) 85px}}@media(max-width:550px){.cards,.formgrid{grid-template-columns:1fr}.formgrid .wide{grid-column:auto}header{align-items:flex-start}.toolbar{align-items:stretch;flex-direction:column}.toolbar input{min-width:0}}
