:root{--violet:#7965d9;--blue:#4385e8;--aqua:#17aaab;--orange:#e9a137;--rose:#e86b85}
body{background:radial-gradient(circle at 88% 1%,#eef1ff 0,transparent 24%),radial-gradient(circle at 18% 37%,#eefaf6 0,transparent 29%),#f5f7fb}
.sidebar{border-right:1px solid #e7e9f3;box-shadow:6px 0 28px #192c4310}
.topbar{background:#fffffff2;backdrop-filter:blur(14px)}
.brand{color:#167b71}.brand span{color:var(--violet)}
.nav-item.active{background:linear-gradient(100deg,#e1f5ef,#eeedff);color:#136b66}
.nav-item.active:before{background:linear-gradient(#24b88f,#8872e2)}
.nav-item[data-page="dashboard"] .nav-icon,.nav-item[data-page="reports"] .nav-icon{color:#617bea}
.nav-item[data-page="entries"] .nav-icon,.nav-item[data-page="accounts"] .nav-icon{color:#26ad89}
.nav-item[data-page="statements"] .nav-icon,.nav-item[data-page="card_statements"] .nav-icon,.nav-item[data-page="cards"] .nav-icon{color:#e49c4d}
.nav-item[data-page="investments"] .nav-icon,.nav-item[data-page="goals"] .nav-icon{color:#9875dc}
.nav-item[data-page="budgets"] .nav-icon,.nav-item[data-page="categories"] .nav-icon{color:#e77893}
.nav-item[data-page="documents"] .nav-icon,.nav-item[data-page="family"] .nav-icon,.nav-item[data-page="settings"] .nav-icon{color:#518cbf}
.button:not(.secondary){background:linear-gradient(120deg,#218d75,#4385e8);box-shadow:0 7px 16px #298e8b30}
.button:not(.secondary):hover{background:linear-gradient(120deg,#1b795f,#376fd0)}
.panel,.stat,.insight{border-color:#e6eaf1;box-shadow:0 8px 24px #253a6b0a}
.panel-heading h2{color:#344d6b}
.category-card:nth-child(4n+1){border-top:3px solid #2fbf99}.category-card:nth-child(4n+2){border-top:3px solid #6089ed}.category-card:nth-child(4n+3){border-top:3px solid #a274e5}.category-card:nth-child(4n){border-top:3px solid #efa84e}
.theme-toggle{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:25px;background:#edf2ff;color:#495da2;font-size:12px;font-weight:700;white-space:nowrap}
.theme-toggle span:first-child{font-size:17px;line-height:1}
.theme-toggle:hover{background:#dfe8ff}
.dash-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:6px 0 16px}
.dash-head h2{font-size:25px;letter-spacing:-.7px;color:#294557;margin:4px 0}
.dash-head p{margin:0;color:#70849b;font-size:13px}
.dash-kicker{display:block;color:#6d68c4;font-size:10px;font-weight:800;letter-spacing:1.5px}
.dash-range{display:flex;align-items:center;gap:9px;white-space:nowrap;color:#698092;font-size:12px;font-weight:700}
.dash-range select{width:auto;min-width:164px;padding:10px 13px;border-radius:10px;border-color:#dce4ee;color:#3a5a72;font-weight:700}
.dash-tabs{display:flex;gap:7px;padding:5px;background:#eaf0f7;border-radius:13px;width:max-content;max-width:100%;margin-bottom:19px}
.dash-tabs button{padding:10px 15px;border-radius:9px;color:#61758a;font-size:13px;font-weight:700;white-space:nowrap}
.dash-tabs button.active{background:#fff;color:#267b88;box-shadow:0 3px 10px #44637822}
.wealth-hero{background:linear-gradient(115deg,#185c76 0%,#166e83 34%,#247d69 68%,#3b8b7d 100%);box-shadow:0 17px 35px #206d8333}
.dash-stats .stat{position:relative;overflow:hidden;border:0;min-height:134px}
.dash-stats .stat::before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:5px;background:#36a7df}
.dash-stats .stat:nth-child(1){background:linear-gradient(140deg,#4d70d6,#785bc9);color:#fff}
.dash-stats .stat:nth-child(1)::before{background:#a99bf2}
.dash-stats .stat:nth-child(2)::before{background:#20bd92}
.dash-stats .stat:nth-child(3)::before{background:#ee797a}
.dash-stats .stat:nth-child(4)::before{background:#f3b84e}
.dash-stats .stat:nth-child(2) .stat-icon{background:#dbf9ec;color:#149666}
.dash-stats .stat:nth-child(3) .stat-icon{background:#fff0ed;color:#d36861}
.dash-stats .stat:nth-child(4) .stat-icon{background:#fff3d9;color:#bd802a}
.insight:nth-child(1) .insight-icon{background:#ffe4e5;color:#df647a}
.insight:nth-child(2) .insight-icon{background:#e1f0ff;color:#4c8bdf}
.insight:nth-child(3) .insight-icon{background:#fff1dc;color:#d69337}
.insight:nth-child(4) .insight-icon{background:#efe7ff;color:#8b70d5}
.dash-visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:22px}
.dash-trend{grid-column:1/-1}
.dash-trend .panel-heading,.dash-donut-panel .panel-heading{padding:22px 23px 14px}
.dash-trend .panel-heading h2,.dash-donut-panel .panel-heading h2{font-size:19px;color:#294a5a}
.dash-chart-legend{display:flex;gap:17px;padding:0 23px;font-size:12px;color:#637d8d}
.dash-chart-legend span{display:inline-flex;align-items:center;gap:6px}
.dash-chart-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;background:#21bd92}
.dash-chart-legend i.expense{background:#f48583}
.dash-bars{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;align-items:end;height:220px;margin:10px 23px 0;padding:13px 12px 0;border-radius:13px;background:repeating-linear-gradient(to top,#e9eff4 0 1px,transparent 1px 45px),linear-gradient(180deg,#fbfdff,#f7f9fc)}
.dash-bars:has(.dash-bar-group:nth-child(12)){height:350px}
.dash-bar-group{min-width:0;text-align:center;height:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:8px}
.dash-bar-pair{display:flex;justify-content:center;align-items:flex-end;gap:6px;height:100%;min-height:0}
.dash-bar-pair i{display:block;width:min(30%,38px);border-radius:7px 7px 2px 2px;background:linear-gradient(#54dfb1,#1cae88);box-shadow:0 4px 10px #1db49224;min-height:2px}
.dash-bar-pair i.expense{background:linear-gradient(#f7a6a0,#eb707c);box-shadow:0 4px 10px #e9777925}
.dash-bar-group.active .dash-bar-pair i{filter:saturate(1.3);outline:2px solid #ffffffa6}
.dash-bar-group>b{color:#738799;font-size:12px;text-transform:capitalize;padding-bottom:10px}
.dash-chart-totals{display:flex;gap:10px;padding:15px 23px 20px;flex-wrap:wrap}
.dash-chart-totals span{flex:1;min-width:150px;padding:10px 13px;border-radius:9px;background:#f3f8fa;color:#718796;font-size:11px}
.dash-chart-totals b{display:block;margin-top:5px;color:#355269;font-size:15px}
.dash-donut-content{display:flex;align-items:center;gap:20px;padding:2px 23px 23px;min-height:195px}
.dash-donut{width:172px;height:172px;flex:0 0 172px;border-radius:50%;padding:23px;box-shadow:0 8px 20px #324f7130}
.dash-donut>div{width:100%;height:100%;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;text-align:center;padding:7px}
.dash-donut small{color:#7a8d9a;font-size:11px}.dash-donut strong{color:#2b4f5d;font-size:17px;overflow-wrap:anywhere}
.dash-donut-list{min-width:0;flex:1}
.dash-donut-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:5px 0;border-bottom:1px solid #edf1f5;font-size:11px}
.dash-donut-list>div:last-child{border-bottom:0}
.dash-donut-list span{display:flex;align-items:center;gap:6px;color:#4e6472;min-width:0;overflow-wrap:anywhere}
.dash-donut-list span i{display:inline-block;width:8px;height:8px;border-radius:3px;flex:0 0 8px}
.dash-donut-list b{color:#355366}.dash-donut-list small{grid-column:1/-1;color:#91a0a9;font-size:10px;margin-left:14px}
.dash-recent{margin-bottom:23px}
.dash-analysis-intro{display:flex;align-items:center;gap:14px;padding:19px 22px;margin-bottom:18px;border:1px solid #dce8f6;border-radius:13px;background:linear-gradient(105deg,#e9f8f5,#f1edff)}
.dash-analysis-intro>span{display:grid;place-items:center;width:43px;height:43px;border-radius:11px;background:#5479d8;color:#fff;font-size:22px}
.dash-analysis-intro h2{font-size:18px;color:#365c71;margin-bottom:2px}.dash-analysis-intro p{font-size:12px;color:#6c8295;margin:0}
@media(max-width:1100px){.dash-donut-content{flex-direction:column;align-items:flex-start}.dash-donut-list{width:100%}}
@media(max-width:750px){.dash-head{align-items:flex-start;flex-direction:column}.dash-range{width:100%;justify-content:space-between}.dash-range select{flex:1}.dash-visual-grid{grid-template-columns:1fr}.dash-trend{grid-column:auto}.dash-donut-content{flex-direction:row;align-items:center}.dash-donut-list{width:auto}.dash-bars{height:190px}}
@media(max-width:520px){.topbar-right{gap:5px}.theme-toggle{padding:7px;gap:2px}.theme-toggle span:last-child{display:none}.dash-tabs{width:100%;overflow:auto}.dash-tabs button{font-size:11px;padding:9px 10px}.dash-head h2{font-size:21px}.dash-donut-content{flex-direction:column;align-items:center}.dash-donut-list{width:100%}.dash-bars{margin-inline:12px;padding-inline:5px;gap:3px;height:170px}.dash-bar-pair{gap:3px}.dash-chart-totals{padding-inline:13px}.dash-chart-totals span{min-width:100%}.dash-stats .stat{min-height:115px}}
@media(max-width:520px){.dash-bars:has(.dash-bar-group:nth-child(12)){height:285px}}
@media(max-width:360px){.dash-tabs{display:grid;grid-template-columns:1fr;overflow:visible}.dash-tabs button{white-space:normal;text-align:left}}
@media print{.theme-toggle,.dash-tabs,.dash-range{display:none!important}}
