*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}:root{--bg:#0f172a;--bg2:#1e293b;--bg3:#334155;--primary:#38bdf8;--success:#4ade80;--danger:#f87171;--warning:#fbbf24;--text:#f1f5f9;--text2:#94a3b8;--text3:#64748b;--border:#ffffff0f;--card:#1e293b;--radius:14px;--sidebar-w:220px}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:Inter,Noto Sans Tamil,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px}button{cursor:pointer;border:none;border-radius:9px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .18s}button:active{transform:scale(.97)}button:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary);color:#0f172a}.btn-primary:hover:not(:disabled){background:#7dd3fc}.btn-danger{background:var(--danger);color:#0f172a}.btn-success{background:var(--success);color:#0f172a}.btn-outline{border:1px solid var(--bg3);color:var(--text2);background:0 0}.btn-outline:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.btn-sm{border-radius:7px;padding:5px 10px;font-size:11px}.btn-xs{border-radius:6px;padding:3px 8px;font-size:10px}input,select,textarea{background:var(--bg3);width:100%;color:var(--text);-webkit-appearance:none;border:1px solid #0000;border-radius:9px;outline:none;padding:10px 12px;font-family:Inter,Noto Sans Tamil,sans-serif;font-size:14px;transition:border .2s}input:focus,select:focus{border-color:var(--primary)}input::placeholder{color:var(--text3)}select option{background:var(--bg2)}label{color:var(--text3);letter-spacing:.07em;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:700;display:block}.card{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);padding:16px}.form-group{margin-bottom:12px}.form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.alert-error{color:#f87171;background:#f871711a;border:1px solid #f8717133;border-radius:9px;padding:10px 14px;font-family:Noto Sans Tamil,Inter,sans-serif;font-size:12px}.alert-success{color:#4ade80;background:#4ade801a;border:1px solid #4ade8033;border-radius:9px;padding:10px 14px;font-size:12px}.layout{min-height:100vh}.main-content{max-width:560px;margin:0 auto;padding:16px 16px 90px}.page-header{justify-content:space-between;align-items:center;margin-bottom:18px;padding-top:6px;display:flex}.page-title{letter-spacing:-.02em;font-size:20px;font-weight:800}@media (width>=768px){.layout{display:flex}.sidebar{width:var(--sidebar-w);background:var(--bg2);border-right:1px solid var(--border);z-index:50;flex-direction:column;min-height:100vh;padding:20px 0;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-logo{border-bottom:1px solid var(--border);margin-bottom:8px;padding:0 16px 20px}.sidebar-logo h1{color:var(--primary);font-family:Noto Sans Tamil,Inter,sans-serif;font-size:13px;font-weight:800;line-height:1.4}.sidebar-logo p{color:var(--text3);margin-top:2px;font-family:Noto Sans Tamil,Inter,sans-serif;font-size:11px}.sidebar-nav a{color:var(--text3);border-left:3px solid #0000;align-items:center;gap:10px;padding:9px 16px;font-size:13px;font-weight:500;text-decoration:none;transition:all .18s;display:flex}.sidebar-nav a:hover{color:var(--text);background:#ffffff08}.sidebar-nav a.active{color:var(--primary);border-left-color:var(--primary);background:#38bdf812}.sidebar-nav a svg{flex-shrink:0;width:16px;height:16px}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding:12px 16px}.logout-btn{color:#f87171;cursor:pointer;background:#f8717114;border:1px solid #f8717126;border-radius:8px;align-items:center;gap:7px;width:100%;padding:7px 12px;font-size:12px;font-weight:600;transition:all .18s;display:flex}.logout-btn:hover{background:#f8717126}.logout-btn svg{width:14px;height:14px}.main-content{margin-left:var(--sidebar-w);width:100%;max-width:1140px;padding:24px 28px 40px}.bottom-nav{display:none!important}.page-title{font-size:24px}.desktop-grid-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.desktop-grid-3{grid-template-columns:1fr 1fr 1fr;gap:14px;display:grid}.desktop-grid-4{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}}.bottom-nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--border);z-index:100;background:#0f172af7;justify-content:space-around;padding:7px 0 18px;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:var(--text3);flex-direction:column;align-items:center;gap:3px;padding:4px 14px;font-size:10px;font-weight:600;text-decoration:none;transition:all .18s;display:flex}.bottom-nav a.active{color:var(--primary)}.bottom-nav a svg{stroke-width:1.8px;width:20px;height:20px}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;color:var(--text3);letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid var(--border);background:#ffffff05;padding:9px 12px;font-size:10px;font-weight:700}.data-table td{border-bottom:1px solid #ffffff08;padding:10px 12px}.data-table tr:hover td{background:#ffffff05}.badge{border-radius:20px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.badge-income{color:#4ade80;background:#4ade801f}.badge-expense{color:#f87171;background:#f871711f}.badge-transfer{color:#fbbf24;background:#fbbf241f}.badge-legacy{color:#94a3b8;background:#94a3b81a}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#000000bf;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--bg2);border:1px solid var(--border);border-radius:16px;width:100%;max-width:520px;max-height:88vh;padding:22px;overflow-y:auto;box-shadow:0 20px 60px #00000080}.modal-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.modal-title{font-size:16px;font-weight:700}.loading{min-height:200px;color:var(--text3);justify-content:center;align-items:center;display:flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:.25s forwards fadeUp}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.pulse{animation:1.4s infinite pulse}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-thumb{background:var(--bg3);border-radius:4px}.amount-link{cursor:pointer;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;transition:opacity .15s}.amount-link:hover{opacity:.75}
