*{margin:0;padding:0;box-sizing:border-box;font-family:system-ui,-apple-system,Segoe UI,sans-serif}body{background:#f7f7fb;color:#1a1a2e}.layout{display:flex;min-height:100vh}.sidebar{width:240px;flex-shrink:0;background:#0f1026;color:#fff;padding:24px;display:flex;flex-direction:column;gap:24px}.sidebar h2{font-size:18px;letter-spacing:.4px}.sidebar nav{display:flex;flex-direction:column;gap:8px}.sidebar a{color:#fff;text-decoration:none;opacity:.72;padding:8px 10px;border-radius:8px;font-size:14px}.sidebar a:hover{background:#ffffff14;opacity:1}.sidebar a.router-link-active{background:#2b2d5c;opacity:1;font-weight:600}.content{flex:1;padding:32px;overflow-x:auto}h1{font-size:24px;margin-bottom:20px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:28px}.card{background:#fff;border-radius:12px;padding:18px;box-shadow:0 1px 3px #0000000f}.card .label{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:#7a7a92;margin-bottom:8px}.card .value{font-size:22px;font-weight:700}table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000f}th,td{text-align:left;padding:12px 14px;font-size:14px;border-bottom:1px solid #eee;vertical-align:top}th{background:#f2f2f8;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#6b6b85}tr:last-child td{border-bottom:none}.empty{padding:24px;color:#7a7a92;background:#fff;border-radius:12px}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.badge.income{background:#e3f7ea;color:#1e7a45}.badge.expense{background:#fdeaea;color:#a32727}.badge.active{background:#fff3d6;color:#8a6100}.badge.closed{background:#ececf5;color:#5c5c73}.muted{color:#7a7a92}.error{color:#a32727;margin-bottom:16px}
