*{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;--sb-w:220px;--sb-col-w:54px}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 7px;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{width:100%;max-width:100%;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}.sidebar{display:none}@media (width>=768px){.layout{min-height:100vh;display:flex}.sidebar{width:var(--sb-w);background:var(--bg2);border-right:1px solid var(--border);z-index:50;flex-direction:column;min-height:100vh;transition:width .22s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.main-content{margin-left:var(--sb-w);width:calc(100% - var(--sb-w));min-width:0;padding:24px 28px 40px;transition:margin-left .22s,width .22s;overflow-x:hidden}body.sb-col .sidebar{width:var(--sb-col-w)}body.sb-col .main-content{margin-left:var(--sb-col-w);width:calc(100% - var(--sb-col-w))}body.sb-col .sb-title,body.sb-col .sb-sub,body.sb-col .nav-text,body.sb-col .nav-logout-text{display:none}body.sb-col .sidebar-nav a,body.sb-col .logout-btn{justify-content:center;padding:11px}body.sb-col .sidebar-logo{padding:12px 8px}body.sb-col .sidebar-nav a{position:relative}body.sb-col .sidebar-nav a:after{content:attr(data-label);left:calc(var(--sb-col-w) + 4px);background:var(--bg2);border:1px solid var(--border);color:var(--text);white-space:nowrap;z-index:100;pointer-events:none;opacity:0;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600;transition:opacity .15s;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 12px #0000004d}body.sb-col .sidebar-nav a:hover:after{opacity:1}.bottom-nav{display:none!important}.page-title{font-size:24px}.data-table{table-layout:auto;width:100%}.overflow-table{width:100%;overflow-x:auto}}.sidebar-logo{border-bottom:1px solid var(--border);margin-bottom:6px;padding:16px}.sb-title{color:var(--primary);white-space:nowrap;text-overflow:ellipsis;font-family:Noto Sans Tamil,Inter,sans-serif;font-size:12px;font-weight:800;line-height:1.4;overflow:hidden}.sb-sub{color:var(--text3);white-space:nowrap;margin-top:2px;font-family:Noto Sans Tamil,Inter,sans-serif;font-size:11px}.sidebar-toggle{color:var(--text3);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:color .15s;display:flex}.sidebar-toggle:hover{color:var(--primary)}.sidebar-toggle svg{stroke-width:2px;width:16px;height:16px}.sidebar-nav a{color:var(--text3);white-space:nowrap;border-left:3px solid #0000;align-items:center;gap:10px;padding:10px 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}.nav-icon{flex-shrink:0;align-items:center;display:flex}.nav-icon svg{width:16px;height:16px}.nav-text{flex-direction:column;gap:1px;display:flex;overflow:hidden}.nav-en{color:inherit;white-space:nowrap;font-size:13px;font-weight:600;line-height:1.2}.nav-ta{opacity:.6;white-space:nowrap;font-family:Noto Sans Tamil,Inter,sans-serif;font-size:10px;font-weight:400;line-height:1.2}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding:12px 16px}.logout-btn{color:#f87171;cursor:pointer;white-space:nowrap;background:#f8717114;border:1px solid #f8717126;border-radius:8px;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:12px;font-weight:600;transition:all .18s;display:flex}.logout-btn:hover{background:#f8717126}.nav-logout-text{font-size:12px;font-weight:600}.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:5px 0 14px;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:var(--text3);flex-direction:column;align-items:center;gap:2px;padding:3px 8px;font-size:9px;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:19px;height:19px}.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);white-space:nowrap;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}.desc-cell{word-break:break-word;white-space:normal;min-width:120px;line-height:1.4}.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}.amount-link{cursor:pointer;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;transition:opacity .15s}.amount-link:hover{opacity:.75}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-thumb{background:var(--bg3);border-radius:4px}@media (width<=767px){button{min-height:40px}.btn-sm{min-height:34px}input,select{font-size:16px!important}.main-content{padding:12px 12px 80px}.page-title{font-size:20px}.card{padding:14px}.form-row{grid-template-columns:1fr;gap:8px}.bottom-nav{padding:4px 0 12px}.bottom-nav a{gap:1px;padding:3px 6px;font-size:9px}.bottom-nav a svg{width:19px;height:19px}.overflow-table:before{content:"← scroll →";text-align:center;color:var(--text3);padding:4px 0;font-size:10px;display:block}}
