:root{--bg:#f5f7fb;--card:#fff;--text:#172033;--muted:#748096;--line:#e6eaf1;--primary:#6556e8;--primary2:#5144cf;--green:#18a957;--red:#ee4c5b;--shadow:0 8px 30px rgba(34,45,80,.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Tahoma,Arial,sans-serif;line-height:1.5}.topbar{height:72px;background:var(--card);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1200px)/2));position:sticky;top:0;z-index:10}.topbar>div{display:grid;grid-template-columns:44px auto;column-gap:10px;align-items:center}.topbar strong{font-size:18px}.topbar small{color:var(--muted);grid-column:2}.logo{grid-row:1/3;background:linear-gradient(145deg,#7566f0,#5144cf);color:#fff;width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-size:24px;font-weight:bold}.container{max-width:1200px;margin:28px auto;padding:0 18px 50px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:24px;margin-bottom:20px}.hero{background:linear-gradient(115deg,#6556e8,#897cf2);color:#fff;display:flex;justify-content:space-between;align-items:center}.hero h1{margin:2px 0;font-size:30px}.hero p{margin:0;opacity:.86}.eyebrow{font-size:12px!important;text-transform:uppercase}.today{background:#ffffff20;border:1px solid #ffffff30;padding:12px 18px;border-radius:12px}.section-title{display:flex;align-items:center;gap:12px;margin-bottom:21px}.section-title h2{font-size:20px;margin:0}.section-title p{color:var(--muted);font-size:13px;margin:2px 0 0}.icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;font-size:22px}.purple{background:#eeeaff;color:#6556e8}.blue{background:#e7f4ff;color:#2387d8}.pink{background:#ffe9ef;color:#ed4e76}.orange{background:#fff0dc;color:#df8517}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.span-2{grid-column:span 2}label{font-size:13px;font-weight:bold;color:#4d586d;display:flex;flex-direction:column;gap:7px}input,select,button{font:inherit}input,select{width:100%;height:42px;border:1px solid #dce1e9;border-radius:9px;padding:0 11px;background:var(--card);color:var(--text);outline:none}input:focus,select:focus{border-color:#7669ec;box-shadow:0 0 0 3px #7669ec20}.form-actions{display:flex;align-items:end;gap:8px}button{border:0;border-radius:9px;padding:10px 16px;cursor:pointer;white-space:nowrap}.primary{color:#fff;background:var(--primary)}.primary:hover{background:var(--primary2)}.secondary,.ghost{color:var(--text);background:#f0f2f7;border:1px solid var(--line)}.hidden{display:none}.filters{display:grid;grid-template-columns:2fr 1fr 1fr auto auto;gap:12px;align-items:end}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.stat{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:19px;display:flex;align-items:center;gap:13px}.stat>span{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:25px}.stat small{display:block;color:var(--muted)}.stat strong{font-size:21px}.income>span{background:#e7faef;color:var(--green)}.income strong{color:var(--green)}.expense>span{background:#ffebed;color:var(--red)}.expense strong{color:var(--red)}.balance>span{background:#eeeaff;color:var(--primary)}.chart-wrap{height:360px;position:relative}.chart-wrap canvas{width:100%;height:100%}.empty-chart{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted)}.legend{text-align:center;color:var(--muted);font-size:13px}.legend span{margin:0 10px}.legend i{display:inline-block;width:24px;height:7px;border-radius:5px}.green{background:var(--green)}.red{background:var(--red)}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.report-actions{display:flex;gap:8px}.table-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;background:#f8f9fc;padding:12px;border-radius:12px;margin-bottom:14px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;min-width:850px}th,td{padding:13px 11px;border-bottom:1px solid var(--line);text-align:right;font-size:13px}th{background:#f6f7fa;color:#566176}td.amount{font-weight:bold;direction:ltr;text-align:right}.badge{display:inline-block;padding:4px 9px;border-radius:20px;font-size:12px}.badge.income{background:#e7faef;color:#087e3b}.badge.expense{background:#ffebed;color:#c82e3e}.actions{display:flex;gap:5px}.actions button{padding:6px 9px}.edit{background:#eaf2ff;color:#276fc2}.delete{background:#ffeaed;color:#d73344}.table-empty{text-align:center;padding:35px;color:var(--muted)}.pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:15px}.pagination button{background:#f0f2f7}.shop-list{display:flex;flex-wrap:wrap;gap:10px}.shop-chip{border:1px solid var(--line);background:#f8f9fc;border-radius:10px;padding:9px 12px;display:flex;gap:10px;align-items:center}.shop-chip button{padding:2px 6px;background:transparent;color:var(--red)}#shopForm{display:flex;gap:8px}.toast{position:fixed;left:25px;bottom:25px;background:#172033;color:#fff;padding:12px 18px;border-radius:10px;box-shadow:var(--shadow);transform:translateY(100px);opacity:0;transition:.25s;z-index:30}.toast.show{transform:none;opacity:1}.toast.error{background:#c93242}body.dark{--bg:#111521;--card:#1a2030;--text:#eef1f7;--muted:#9da8bb;--line:#2b3347;--shadow:0 8px 30px rgba(0,0,0,.18)}body.dark .table-filters,body.dark th,body.dark .shop-chip{background:#202738}body.dark .secondary,body.dark .ghost,body.dark .pagination button{background:#252d40}@media(max-width:800px){.form-grid{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr}.section-head{display:block}.report-actions{margin-bottom:15px}.hero{align-items:flex-start}.today{display:none}}@media(max-width:520px){.form-grid,.filters,.table-filters{grid-template-columns:1fr}.span-2{grid-column:auto}.container{padding:0 10px}.card{padding:17px;border-radius:14px}.topbar small{display:none}.hero h1{font-size:24px}.report-actions{display:grid}.section-title h2{font-size:18px}}@media print{.topbar,.hero,.card:not(.chart-card):not(.operations),.report-actions,.table-filters,.pagination,.actions{display:none!important}body{background:white}.container{max-width:none;margin:0}.card{box-shadow:none;border:0}.chart-card,.operations{display:block!important}button{display:none}.operations table{min-width:0}}
