:root{--bg:#061426;--panel:#0b2038;--panel2:#0d2946;--line:#24425e;--text:#eef6ff;--muted:#9fb3c8;--blue:#1976f3;--cyan:#28c4e8;--green:#25d49a;--red:#ff5d57;--orange:#ff9f43;--shadow:0 16px 34px #02081199,inset 0 1px #ffffff12}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 70% 0,#0c2947 0,#061426 42%);color:var(--text);font:14px Inter,Segoe UI,sans-serif;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;padding:24px 14px;background:linear-gradient(180deg,#0b223a,#07182b);border-right:1px solid var(--line);display:flex;flex-direction:column;box-shadow:10px 0 28px #0005;z-index:2}.brand{display:flex;align-items:center;gap:12px;padding:8px 14px 48px}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border:3px solid var(--cyan);border-radius:15px;color:var(--cyan);font-size:29px;box-shadow:0 8px 20px #149adb40}.brand strong{font-size:21px}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:2px}.sidebar nav{display:grid;gap:8px}.sidebar button{border:0;background:transparent;color:#dce9f7;text-align:left;padding:16px;border-radius:10px;font:inherit;font-size:15px;cursor:pointer}.sidebar button span{margin-left:12px}.sidebar button.active{background:linear-gradient(135deg,#0e4483,#0c5dcc);box-shadow:var(--shadow),inset 4px 0 var(--cyan)}.settings{margin-top:auto}main{margin-left:230px;padding:26px 28px;min-width:800px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}h1{font-size:30px;margin:0 0 6px}h2{font-size:18px;margin:0}p{color:var(--muted);margin:4px 0}.header-actions,.view-toggle,.type-toggle,.card-title,.legend{display:flex;align-items:center;gap:10px}.view-toggle,.type-toggle{padding:5px;background:#081a2c;border:1px solid var(--line);border-radius:9px}.view-toggle button,.type-toggle button{border:0;border-radius:6px;background:transparent;color:var(--muted);padding:10px 18px;cursor:pointer}.view-toggle button.active{background:linear-gradient(#2282fa,#0b56ba);color:white;box-shadow:0 5px 14px #0b64df55}.primary{border:1px solid #4095ff;background:linear-gradient(180deg,#2787fb,#0755c4);color:white;border-radius:8px;padding:12px 18px;font-weight:600;box-shadow:0 8px 20px #006cff38;cursor:pointer}.card{background:linear-gradient(145deg,#0d2943,#091c31);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.daily-grid{display:grid;grid-template-columns:350px 1fr;gap:16px}.entry-card{padding:18px;align-self:start}.card-title{justify-content:space-between;margin-bottom:14px}.pill{font-size:11px;color:var(--cyan);border:1px solid #159db9;padding:5px 8px;border-radius:20px}.type-toggle{margin-bottom:14px}.type-toggle button{flex:1}.type-toggle .income.active{background:#075f69;color:#55eed5}.type-toggle .expense.active{background:#713138;color:#ffaaa5}label{display:block;color:#c9d8e8;font-size:12px;margin:12px 0 0}input,select{width:100%;margin-top:6px;padding:10px 11px;background:#081a2d;border:1px solid #365571;border-radius:6px;color:white;font:inherit}small{display:block;color:#86a1b9;margin-top:5px}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.help{display:inline-grid;place-items:center;border:1px solid #aac4dc;border-radius:50%;width:20px;height:20px;background:transparent;color:#eaf5ff;cursor:pointer}.full{width:100%;margin-top:18px}.dashboard-area{display:grid;gap:14px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kpi{padding:16px}.kpi span,.month-summary span{display:block;color:#bdd0e0;font-size:12px}.kpi strong{display:block;font-size:20px;margin-top:7px}.chart-card,.table-card{padding:16px}.legend{justify-content:flex-end;color:var(--muted);font-size:12px}.legend span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}.revenue:before{background:var(--blue)}.cost:before{background:var(--cyan)}.expense-l:before{background:var(--orange)}.tax:before{background:var(--red)}#chart{width:100%;height:240px}.gridline{stroke:#31506a;stroke-width:1;opacity:.6}.axistext{fill:#839db4;font-size:11px}.line-revenue,.line-cost{fill:none;stroke-width:4}.line-revenue{stroke:var(--blue)}.line-cost{stroke:var(--cyan)}.bar-expense{fill:var(--orange)}.bar-tax{fill:var(--red)}.table-wrap{overflow:auto;max-height:250px}table{width:100%;border-collapse:collapse}th,td{padding:11px;border-bottom:1px solid #24425e;text-align:left;white-space:nowrap}th{font-size:11px;color:#98afc3}td{font-size:12px}.badge{padding:5px 8px;border-radius:6px}.badge.income{color:#55eed5;background:#075f6944}.badge.expense{color:#ffaaa5;background:#71313855}.delete{border:0;background:transparent;color:#9ab1c6;cursor:pointer}.month-summary{display:grid;grid-template-columns:repeat(5,1fr);padding:16px}.month-summary>div{padding:0 16px;border-right:1px solid var(--line)}.month-summary>div:last-child{border:0}.month-summary strong{display:block;font-size:16px;margin-top:6px}.month-summary .result strong{color:#62e4a8}.page{display:none}.page.active{display:block}.page-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-toolbar input{width:auto}.dre-list{padding:18px;max-width:900px}.dre-row{display:grid;grid-template-columns:1fr 36px 170px;align-items:center;padding:14px;border-bottom:1px solid var(--line)}.dre-row.total{margin:4px 0;background:linear-gradient(90deg,#0c3b71,#0b58b0);border:1px solid #237bd9;border-radius:7px;font-weight:700}.dre-row .value{text-align:right}.empty-state{padding:35px;max-width:700px}.empty-state label{max-width:320px}dialog{border:1px solid #41627e;border-radius:14px;background:#0a2037;color:white;max-width:430px;padding:26px;box-shadow:0 30px 80px #000a}dialog::backdrop{background:#020812aa}.close{float:right;border:0;background:transparent;color:white;font-size:24px;cursor:pointer}dialog li{margin:9px 0;color:#c1d3e4}#toast{position:fixed;right:28px;bottom:25px;background:#0b6f5a;color:white;padding:12px 18px;border-radius:8px;opacity:0;transform:translateY(20px);transition:.25s;box-shadow:var(--shadow)}#toast.show{opacity:1;transform:none}.ghost{border:1px solid var(--line);background:#0a1f35;color:#bcd0e2;padding:7px 11px;border-radius:6px}@media(max-width:1150px){.daily-grid{grid-template-columns:1fr}.entry-card{display:grid;grid-template-columns:repeat(2,1fr);gap:0 12px}.entry-card .card-title,.entry-card .type-toggle,.entry-card .full{grid-column:1/-1}.kpis{grid-template-columns:repeat(2,1fr)}}
