@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');:root{--navy:#101c34;--blue:#3268e8;--ink:#1c2940;--muted:#718096;--line:#e7ebf2;--bg:#f4f6fa;--green:#15966a;--red:#d65353}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',sans-serif}.layout{min-height:100vh;display:flex}.side{width:248px;background:var(--navy);color:#fff;padding:27px 18px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 34px;font:800 20px Manrope}.brand b,.loginmark{display:grid;place-items:center;width:39px;height:39px;background:#3268e8;border-radius:12px;color:white}.brand small{display:block;color:#8c9bb5;font:600 9px 'DM Sans';letter-spacing:1.6px;margin-top:3px}.side nav{display:grid;gap:7px}.side nav button{border:0;background:transparent;color:#aebbd0;text-align:left;padding:13px 14px;border-radius:9px;font:600 13px 'DM Sans';cursor:pointer}.side nav button:hover,.side nav button.active{background:#243657;color:#fff}.sidefoot{margin-top:auto;color:#8da0be;font-size:9px;letter-spacing:1px;line-height:2;padding:12px}.sidefoot small{font-size:11px;letter-spacing:0}main{margin-left:248px;width:calc(100% - 248px);padding:30px 38px 60px;max-width:1800px}header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:26px}header small{color:#8491a6;font-size:10px;letter-spacing:1.3px;font-weight:700}h1,h2,h3,p{margin-top:0}h1{font:800 27px Manrope;margin:8px 0 5px}header p,.sectionhead p{color:var(--muted);margin:0}.profile{display:flex;align-items:center;gap:10px;font-weight:700}.profile i{width:9px;height:9px;border-radius:50%;background:#16a879;box-shadow:0 0 0 4px #dff4ec}.hidden{display:none!important}.card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px;box-shadow:0 4px 18px #233c6508;margin-bottom:20px}.login{max-width:420px;margin:9vh auto;padding:34px}.loginmark{width:48px;height:48px;font:800 24px Manrope}.login h2{font:800 24px Manrope;margin:22px 0 6px}.login p{color:var(--muted)}label{display:grid;gap:7px;color:#56647a;font-size:12px;font-weight:700;margin:12px 0}input,select,textarea{width:100%;border:1px solid #dfe5ee;border-radius:8px;padding:11px 12px;color:var(--ink);background:#fff;font:13px 'DM Sans';outline:none}input:focus,select:focus,textarea:focus{border-color:#7396f4;box-shadow:0 0 0 3px #3268e817}button{font:600 12px 'DM Sans';cursor:pointer}.primary{background:var(--blue);color:#fff;border:0;padding:11px 16px;border-radius:8px}.ghost{background:#fff;border:1px solid var(--line);padding:10px 14px;border-radius:8px;color:#536179}.hero{background:linear-gradient(115deg,#172b4b,#254b80);border-radius:17px;padding:29px 34px;color:#fff;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;overflow:hidden}.hero h2{font:800 29px Manrope;margin:16px 0 8px}.hero h2 em{font-style:normal;color:#8db2ff}.hero p{color:#c3d0e4;margin:0}.tag{font-size:9px;letter-spacing:1.3px;color:#b7cdf2}.heroicon{font:800 92px Manrope;color:#ffffff22;margin-right:28px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stat{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px}.stat small{color:#8591a4;font-weight:700;font-size:10px;letter-spacing:.7px}.stat strong{display:block;font:800 23px Manrope;margin:10px 0 4px}.stat span{font-size:11px;color:var(--muted)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.sectionhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.sectionhead h3{font:800 16px Manrope;margin:0 0 5px}.sectionhead p{font-size:12px}.quick{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick button{border:1px solid var(--line);background:#f9fbff;text-align:left;padding:14px;border-radius:9px;color:#40516d}.barline{display:flex;justify-content:space-between;margin:12px 0 6px;color:#69788e;font-size:12px}.bar{height:9px;background:#edf1f7;border-radius:10px;overflow:hidden}.bar i{display:block;height:100%;background:#3268e8;border-radius:10px}.toolbar{display:flex;gap:10px;margin-bottom:15px;flex-wrap:wrap}.toolbar input{max-width:280px}.toolbar select{max-width:180px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;color:#8491a5;font-size:10px;letter-spacing:.6px;padding:12px 10px;border-bottom:1px solid var(--line)}td{padding:13px 10px;border-bottom:1px solid #f0f2f6;font-size:12px}td strong{font-weight:700}.amount{font-weight:700;font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.pill{padding:4px 8px;border-radius:20px;font-size:10px;background:#eef3ff;color:#4569b7}.pill.High,.pill.Expense{background:#fff0f0;color:#c44}.pill.Active,.pill.Income{background:#e8f7f0;color:#13865e}.rowactions{display:flex;gap:6px}.rowactions button{background:#f4f6fa;border:0;border-radius:6px;padding:6px 8px;color:#52627a}.rowactions .danger{color:#c44}.empty{padding:24px;text-align:center;color:#8995a7}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.formgrid label{margin:7px 0}.actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}dialog{border:0;border-radius:15px;padding:25px;width:min(720px,94vw);box-shadow:0 25px 80px #07152d44}dialog::backdrop{background:#0b1730a6}dialog h2{font:800 20px Manrope;margin-bottom:15px}.error{color:#c44;margin-top:10px;font-size:12px}#toast{position:fixed;right:25px;bottom:25px;background:#172b4b;color:#fff;padding:12px 17px;border-radius:9px;opacity:0;transform:translateY(8px);transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:none}.reportfilters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.reportfilters label{min-width:160px}.progress{height:8px;background:#edf1f7;border-radius:8px;overflow:hidden}.progress i{display:block;height:100%;background:#1baf7b}@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}main{padding:24px}.side{width:215px}main{margin-left:215px;width:calc(100% - 215px)}}@media(max-width:720px){.side{position:static;width:100%;height:auto;padding:12px}.layout{display:block}.brand{padding:0 8px 12px}.side nav{display:flex;overflow:auto}.side nav button{white-space:nowrap;padding:10px}.sidefoot{display:none}main{margin:0;width:100%;padding:20px 14px}.grid2{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.hero{padding:22px}.heroicon{font-size:60px;margin:0}.formgrid{grid-template-columns:1fr}header{gap:12px}h1{font-size:22px}}