*{box-sizing:border-box} :root{--bg:#f5f7fb;--surface:#fff;--ink:#162033;--muted:#7b879b;--line:#e8edf4;--navy:#0b1220;--blue:#4f70f5;--cyan:#4ebed5;--teal:#0fa98b;--red:#d95768;--amber:#e6a23c;--shadow:0 8px 30px rgba(22,38,68,.045)}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,input{font:inherit}.app-shell{min-height:100vh}.sidebar{width:250px;background:var(--navy);color:#d4dbea;position:fixed;inset:0 auto 0 0;padding:27px 17px 19px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:white;padding:0 8px 36px}.brand-mark{width:42px;height:42px;position:relative;display:grid;place-items:center;border:1px solid #5874a0;border-radius:13px;background:linear-gradient(135deg,#172c4d,#0e1930);font-family:Manrope,sans-serif;font-weight:800;font-size:21px;color:white}.brand-mark:after{content:"";position:absolute;right:5px;top:5px;width:6px;height:6px;border-radius:50%;background:#54d6bc}.brand-mark i{position:absolute;bottom:6px;right:6px;width:10px;height:2px;background:#54d6bc;transform:rotate(-45deg)}.brand-copy strong{font-family:Manrope,sans-serif;letter-spacing:1.3px;font-size:13px;display:block}.brand-copy em{font-style:normal;color:#70d7c1}.brand-copy small{display:block;font-size:8px;letter-spacing:1.1px;color:#8e9ab0;margin-top:4px}.workspace-label{font-size:9px;letter-spacing:1.8px;font-weight:700;color:#6f7d95;padding:0 12px 13px}.nav{display:grid;gap:6px}.nav-link{display:flex;align-items:center;gap:12px;padding:12px 12px;border-radius:10px;text-decoration:none;color:#aab6ca;font-size:12px;transition:.2s}.nav-link:hover{background:#ffffff0c;color:#fff}.nav-link.active{background:linear-gradient(90deg,#1c3151,#172640);color:#fff;box-shadow:inset 3px 0 #68dbc4}.nav-icon{width:19px;font-size:19px;text-align:center;color:#7e91af}.nav-link.active .nav-icon{color:#70dbc5}.nav-link kbd{margin-left:auto;color:#5e6d86;font-size:9px}.sidebar-spacer{flex:1}.side-status{display:flex;align-items:center;gap:10px;border:1px solid #26334a;background:#111c2e;border-radius:11px;padding:13px 11px;margin:0 2px 19px}.status-dot{width:7px;height:7px;border-radius:50%;background:#35d4a4;box-shadow:0 0 0 4px #35d4a41c;display:inline-block;flex-shrink:0}.side-status strong{display:block;font-size:11px;color:#e6edf7}.side-status small{display:block;font-size:10px;color:#8391a8;margin-top:3px}.side-footer{font-size:8px;letter-spacing:1.2px;color:#6d7c94;padding:0 9px}.side-footer span{float:right;color:#8290a7}.main{margin-left:250px;max-width:1800px;padding:0 38px 20px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7ebf2;margin-bottom:34px}.crumbs{display:flex;gap:11px;align-items:center;font-size:11px;color:#96a0b1}.crumbs b{font-weight:400;color:#c0c8d3}.crumbs strong{color:#3e4a5e;font-weight:600}.top-actions{display:flex;align-items:center;gap:13px}.today-chip{display:flex;align-items:center;gap:9px;padding:8px 11px;background:white;border:1px solid var(--line);border-radius:8px;font-size:10px;color:#68768a}.today-chip .status-dot{width:6px;height:6px}.icon-btn{width:34px;height:34px;border:1px solid var(--line);background:white;border-radius:9px;color:#53647b;cursor:pointer;font-size:18px;transition:.2s}.icon-btn:hover{border-color:#b9c8e7;color:var(--blue);transform:translateY(-1px)}.avatar{width:34px;height:34px;border-radius:11px;background:#e6ebff;color:#455ed4;display:grid;place-items:center;font-size:10px;font-weight:800}.mobile-menu{display:none}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px}.eyebrow{font-size:9px;letter-spacing:1.9px;color:#72819a;font-weight:700;display:flex;align-items:center;gap:8px}.eyebrow-line{width:17px;height:2px;background:#4c70f4;display:inline-block}.page-heading h1{font:800 clamp(28px,3vw,40px)/1.15 Manrope,sans-serif;letter-spacing:-1.7px;margin:12px 0 10px;color:#111c30}.page-heading h1 span{color:#5c74eb}.page-heading p{margin:0;color:#7d899b;font-size:12px;max-width:570px;line-height:1.7}.heading-badge{display:flex;align-items:center;gap:12px;padding:13px 16px;background:#fff;border:1px solid var(--line);border-radius:12px;min-width:260px;margin-bottom:2px}.pulse-ring{width:10px;height:10px;border-radius:50%;background:#25b994;box-shadow:0 0 0 5px #25b99419;flex-shrink:0}.heading-badge small,.heading-badge strong,.heading-badge div>span{display:block}.heading-badge small{font-size:8px;letter-spacing:1.2px;color:#96a1b2;margin-bottom:4px}.heading-badge strong{font-size:11px;color:#2a3548}.heading-badge div>span{font-size:10px;color:#8a95a6;margin-top:3px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat-card{position:relative;overflow:hidden;background:white;border:1px solid var(--line);border-radius:14px;padding:18px 19px 16px;box-shadow:var(--shadow);min-width:0;animation:rise .55s both}.stat-card:nth-child(2){animation-delay:.06s}.stat-card:nth-child(3){animation-delay:.12s}.stat-card:nth-child(4){animation-delay:.18s}.stat-primary{background:#172a48;color:white;border-color:#172a48}.stat-profit{background:linear-gradient(135deg,#f0fbf8,#fff);border-color:#d8f0e8}.stat-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#7e899b;position:relative;z-index:1}.stat-primary .stat-top{color:#bdc9dc}.stat-symbol{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:#ffffff12;color:#a7c5ff;font-size:16px}.stat-symbol.teal{background:#e2f8f2;color:#0b9d80}.stat-symbol.amber{background:#fff5e4;color:#d18b26}.stat-value{font:800 clamp(18px,1.75vw,26px)/1.25 Manrope,sans-serif;letter-spacing:-.8px;margin:17px 0 16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-primary .stat-value{color:white}.stat-profit .stat-value{color:#087e69}.stat-foot{display:flex;align-items:center;gap:6px;font-size:9px;color:#8b96a7;white-space:nowrap}.stat-primary .stat-foot{color:#bdc9dc}.mini-dot{width:6px;height:6px;background:#6cdbbf;border-radius:50%}.stat-foot-end{margin-left:auto;color:#a2acba;font-size:9px}.stat-primary .stat-foot-end{color:#a5b6d0}.soft-label{color:#8995a7}.profit-indicator{color:#118a71;font-weight:700}.dashboard-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:17px;align-items:stretch}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:23px;box-shadow:var(--shadow);min-width:0}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.panel-heading h2{font:750 19px Manrope,sans-serif;letter-spacing:-.5px;margin:7px 0 5px}.panel-heading p{font-size:11px;color:#8a95a7;margin:0;line-height:1.6}.live-tag{font-size:8px;letter-spacing:1px;font-weight:800;color:#0e9c7e;background:#e8f9f4;padding:7px 9px;border-radius:6px;display:flex;align-items:center;gap:6px}.live-tag i{width:5px;height:5px;border-radius:50%;background:#0eae8b}.completion-display{display:flex;align-items:center;justify-content:space-between;padding:27px 9px 18px}.big-percent{font:800 49px/1 Manrope,sans-serif;letter-spacing:-2.5px;color:#182640}.big-percent span{font-size:23px;color:#687fe9;letter-spacing:-1px}.completion-display p{font-size:11px;color:#8b96a7;margin:9px 0 0}.donut{width:108px;height:108px;border-radius:50%;background:conic-gradient(#5875f4 calc(var(--pct)*1%),#edf0f8 0);display:grid;place-items:center;position:relative;transition:background .25s ease}.donut:before{content:"";position:absolute;inset:8px;border-radius:50%;background:#fff}.donut-inner{position:relative;text-align:center}.donut-inner strong,.donut-inner small{display:block}.donut-inner strong{font:800 18px Manrope,sans-serif;color:#273854}.donut-inner small{font-size:7px;letter-spacing:1.1px;color:#8d99ac;margin-top:3px}input[type=range]{width:100%;height:5px;appearance:none;background:linear-gradient(90deg,#5976f5 var(--pct,50%),#e9edf5 var(--pct,50%));border-radius:99px;outline:none;cursor:ew-resize;margin:8px 0}input[type=range]::-webkit-slider-thumb{appearance:none;width:17px;height:17px;border:4px solid white;background:#5272f4;border-radius:50%;box-shadow:0 0 0 2px #5272f4,0 2px 7px #3b55c444;transition:transform .15s}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.12)}input[type=range]::-moz-range-thumb{width:10px;height:10px;border:4px solid white;background:#5272f4;border-radius:50%;box-shadow:0 0 0 2px #5272f4}.range-labels{display:flex;justify-content:space-between;color:#65738a;font-size:10px;margin-top:8px}.range-labels small{font-size:7px;letter-spacing:.7px;color:#a0a9b7;margin-left:4px}.target-progress{margin-top:24px}.progress-caption{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#79869a;margin-bottom:10px}.progress-caption strong{color:#34435b;font-size:11px}.progress-caption strong small{font-size:9px;color:#a1abba;font-weight:500}.progress-track{height:7px;background:#eef1f7;border-radius:99px;overflow:hidden}.progress-fill{height:100%;width:50%;background:linear-gradient(90deg,#5272f4,#6d8bff);border-radius:99px;transition:width .2s ease}.divider{height:1px;background:var(--line);margin:24px 0 20px}.section-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.section-row h3,.chart-heading h3,.visual-head h3{font:700 13px Manrope,sans-serif;margin:0;color:#26344b}.section-row p{font-size:10px;color:#909bad;margin:5px 0 0}.edit-icon{color:#6f81e7;background:#f0f2ff;border-radius:8px;width:29px;height:29px;display:grid;place-items:center}.input-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 12px}.field{display:block;min-width:0}.field>span{display:block;font-size:10px;font-weight:600;color:#66748a;margin-bottom:7px}.input-wrap{display:flex;align-items:center;gap:6px;border:1px solid #e5eaf2;background:#fbfcfe;border-radius:8px;padding:0 9px;height:39px;transition:.2s}.input-wrap:focus-within{border-color:#9aabff;box-shadow:0 0 0 3px #5b76f50e;background:white}.input-wrap input{border:0;outline:0;min-width:0;width:100%;background:transparent;color:#27364d;font-weight:700;font-size:12px;padding:0}.input-wrap>span:not(.currency){font-size:8px;color:#a0aabc;white-space:nowrap}.input-wrap .currency{font-size:9px;color:#8995a7}.micro-note{display:flex;gap:8px;align-items:flex-start;margin-top:17px;padding:11px;background:#f7f9fd;border:1px solid #eef1f7;border-radius:8px;color:#8490a3;font-size:9px;line-height:1.6}.micro-note span{color:#7185eb;font-size:13px}.report-table-wrap{margin-top:22px}.report-table{border-collapse:collapse;width:100%;font-size:10px}.report-table th{font-size:8px;letter-spacing:1px;color:#9ba5b4;text-align:left;padding:0 0 12px;border-bottom:1px solid var(--line);font-weight:700}.report-table th:last-child,.report-table td:last-child{text-align:right;font-variant-numeric:tabular-nums}.report-table td{padding:10px 0;border-bottom:1px solid #f0f2f6;color:#647187}.report-table td:last-child{color:#3a465b;font-weight:600;white-space:nowrap}.row-dot{display:inline-block;width:6px;height:6px;border-radius:2px;margin-right:8px;vertical-align:1px}.blue-dot{background:#647df2}.cyan-dot{background:#4cbfd5}.red-dot{background:#e56b7a}.amber-dot{background:#e5a23f}.negative{color:#d45b68!important}.report-table tr.table-gap td{padding-top:16px}.report-table tr.subtotal td{font-weight:700;color:#34435b;border-bottom:1px solid #e9edf4}.report-table tr.net-row td{padding-top:14px;padding-bottom:14px;border-bottom:0;font-weight:800;color:#0c9478;font-size:11px}.net-icon{display:inline-grid;place-items:center;width:19px;height:19px;border-radius:6px;background:#e5f8f2;color:#0c9a7e;margin-right:6px}.profit-summary{display:flex;align-items:flex-start;gap:11px;background:#effaf6;border:1px solid #def3eb;border-radius:10px;padding:13px;margin-top:7px}.summary-icon{width:28px;height:28px;border-radius:8px;background:#d8f5e9;color:#0b9b7b;display:grid;place-items:center;flex-shrink:0}.profit-summary strong{font-size:10px;color:#147c68}.profit-summary p{font-size:9px;line-height:1.65;color:#6c9388;margin:4px 0 0}.chart-heading{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.chart-heading h3{font-size:11px}.chart-heading>span{font-size:8px;color:#a0a9b6}.comparison-chart{margin-top:13px;display:grid;gap:10px}.chart-line{display:grid;grid-template-columns:76px minmax(0,1fr) 48px;gap:9px;align-items:center;font-size:9px;color:#8390a2}.chart-line strong{text-align:right;font-size:9px;color:#48566c;font-variant-numeric:tabular-nums}.chart-track{height:6px;border-radius:99px;background:#eef1f6;overflow:hidden}.chart-track i{display:block;height:100%;width:0;border-radius:99px;transition:width .3s}.revenue-bar{background:#607bf2}.expense-bar{background:#e5a344}.profit-bar{background:#20b294}.expenses-panel{margin-top:18px;padding:25px}.button-secondary{display:flex;align-items:center;gap:8px;border:1px solid #e3e8f0;background:#fff;color:#59677d;padding:9px 12px;border-radius:8px;font-size:10px;font-weight:700;cursor:pointer;transition:.2s}.button-secondary:hover{border-color:#a8b6f5;color:#4f70f5;background:#f8f9ff}.expense-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:32px;margin-top:24px}.expense-inputs{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.expense-field{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #eff2f6;min-width:0}.expense-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;font-size:15px;flex-shrink:0}.violet{background:#f0edff;color:#7966df}.blue-bg{background:#eaf0ff;color:#5977e8}.orange{background:#fff1e5;color:#e48a42}.rose{background:#fff0f2;color:#dc6b83}.green-bg{background:#e4f8f0;color:#1caa85}.amber-bg{background:#fff5df;color:#d59a2e}.expense-name{font-size:10px;font-weight:700;color:#47556b;flex:1;min-width:0}.expense-name small{display:block;font-size:9px;font-weight:400;color:#9ba5b4;margin-top:4px}.expense-input{display:flex;align-items:center;gap:4px;border:1px solid #e7ebf2;border-radius:7px;padding:0 7px;height:32px;width:116px;flex-shrink:0;background:#fcfdff}.expense-input:focus-within{border-color:#9baeff}.expense-input b{font-size:8px;color:#9aa4b2;font-weight:500}.expense-input input{border:0;outline:0;background:transparent;width:100%;min-width:0;text-align:right;color:#3c4a60;font-size:10px;font-weight:700}.expense-visual{padding:21px;background:#f8faff;border:1px solid #edf1f8;border-radius:12px;align-self:stretch}.visual-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.visual-head h3{font-size:12px}.visual-head p{font-size:9px;color:#98a2b2;margin:5px 0 0}.visual-total{font:800 14px Manrope,sans-serif;color:#263650;white-space:nowrap}.stacked-bar{height:11px;display:flex;overflow:hidden;border-radius:99px;margin:24px 0 20px;background:#e8edf6}.stacked-bar span{height:100%;transition:width .3s}.legend{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px}.legend-item{display:flex;align-items:center;gap:7px;font-size:9px;color:#77849a;min-width:0}.legend-swatch{width:7px;height:7px;border-radius:2px;flex-shrink:0}.legend-item strong{display:block;font-size:10px;color:#35435a;margin-top:3px}.expense-total-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e6ebf4;margin-top:22px;padding-top:15px;font-size:10px;color:#77849a}.expense-total-row strong{font-size:12px;color:#27364c}.formula-card{display:flex;align-items:flex-start;gap:10px;background:#fff;border:1px solid #e9eef6;border-radius:9px;padding:12px;margin-top:20px}.formula-symbol{width:28px;height:28px;border-radius:8px;background:#eaf0ff;color:#5874ed;display:grid;place-items:center;font-weight:800;flex-shrink:0}.formula-card strong{font-size:10px;color:#34435a}.formula-card p{font-size:9px;color:#8995a7;line-height:1.6;margin:5px 0 0}footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:25px 3px 8px;color:#9aa4b4;font-size:9px}.footer-brand{display:flex;align-items:center;gap:8px;letter-spacing:1px;font-size:8px;font-weight:800;color:#7d899b}.footer-mark{width:22px;height:22px;border:1px solid #cdd5e2;border-radius:7px;display:grid;place-items:center;font:800 12px Manrope;color:#5c72d8}.footer-brand+span b{color:#c2cad5;margin:0 6px}.toast{position:fixed;bottom:24px;right:24px;background:#142541;color:white;padding:12px 17px;border-radius:10px;box-shadow:0 10px 30px #12234433;font-size:11px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.25s;z-index:20}.toast.show{opacity:1;transform:translateY(0)}.reveal{animation:rise .55s both}@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1500px){.main{padding-left:48px;padding-right:48px}.stats-grid{gap:18px}.dashboard-grid{gap:20px}}@media(max-width:1200px){.main{padding-left:24px;padding-right:24px}.sidebar{width:220px}.main{margin-left:220px}.heading-badge{min-width:230px}.stats-grid{gap:10px}.stat-card{padding:16px 14px}.stat-value{font-size:20px}.panel{padding:19px}.expense-layout{gap:20px}.expense-inputs{column-gap:12px}.expense-input{width:103px}}@media(max-width:960px){.sidebar{width:70px;padding:24px 10px}.brand{padding:0 3px 34px}.brand-copy,.workspace-label,.nav-link>span:not(.nav-icon),.nav-link kbd,.side-status div,.side-footer{display:none}.brand-mark{margin:auto}.nav-link{justify-content:center;padding:13px 7px}.nav-icon{font-size:20px}.side-status{justify-content:center;padding:13px 0}.main{margin-left:70px}.page-heading{align-items:flex-start;flex-direction:column}.heading-badge{min-width:0}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.expense-layout{grid-template-columns:1fr}.expense-visual{max-width:none}}@media(max-width:600px){.sidebar{display:none;width:250px}.sidebar.open{display:flex;width:250px;box-shadow:12px 0 35px #0b122044}.sidebar.open .brand-copy,.sidebar.open .workspace-label,.sidebar.open .nav-link>span:not(.nav-icon),.sidebar.open .nav-link kbd,.sidebar.open .side-status div,.sidebar.open .side-footer{display:block}.sidebar.open .brand{padding-left:8px}.sidebar.open .brand-mark{margin:0}.sidebar.open .nav-link{justify-content:flex-start}.sidebar.open .side-status{justify-content:flex-start;padding:13px 11px}.main{margin-left:0;padding:0 13px 15px}.topbar{height:61px;margin-bottom:24px}.mobile-menu{display:block;border:1px solid var(--line);background:#fff;border-radius:8px;width:33px;height:33px;color:#4b5c74}.crumbs{margin-right:auto;margin-left:10px;gap:6px;font-size:9px}.today-chip{display:none}.top-actions{gap:8px}.page-heading h1{font-size:31px}.page-heading p{font-size:11px}.heading-badge{width:100%}.stats-grid{gap:9px}.stat-card{padding:13px 12px;border-radius:12px}.stat-value{font-size:clamp(15px,4.1vw,21px);margin:14px 0 13px;letter-spacing:-.6px}.stat-top{font-size:10px}.stat-foot{font-size:8px;white-space:normal}.stat-foot-end{display:none}.panel{padding:16px;border-radius:13px}.panel-heading h2{font-size:17px}.completion-display{padding:22px 3px 16px}.big-percent{font-size:43px}.donut{width:91px;height:91px}.donut-inner strong{font-size:16px}.input-grid{gap:12px 9px}.input-wrap{padding:0 7px}.input-wrap input{font-size:11px}.report-table{font-size:9px}.report-table td{padding:9px 0}.report-table th{font-size:7px}.expenses-panel{padding:17px}.expense-layout{gap:20px}.expense-inputs{grid-template-columns:1fr}.expense-field{padding:11px 0}.expense-input{width:120px}.expense-visual{padding:15px}.visual-total{font-size:12px}.legend{gap:12px 7px}footer{align-items:flex-start;flex-direction:column;line-height:1.7}.button-secondary{padding:8px}.button-secondary span{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media print{body{background:#fff}.sidebar{display:none}.main{margin:0;padding:0 10px}.topbar{margin-bottom:20px}.mobile-menu,.icon-btn,.button-secondary,input[type=range]{display:none!important}.panel,.stat-card{box-shadow:none;break-inside:avoid}.dashboard-grid{grid-template-columns:1fr 1fr}.expense-layout{grid-template-columns:1fr 1fr}.page-heading h1{font-size:30px}}
