*{box-sizing:border-box}body{margin:0;background:var(--surface-canvas);font:14px Inter,system-ui,-apple-system,sans-serif;color:var(--text-primary)}.app{display:flex;min-height:100vh}.sidebar{width:240px;background:var(--surface-panel);border-right:1px solid var(--border-subtle);padding:30px 18px;display:flex;flex-direction:column}.brand{font-size:18px;font-weight:750;display:flex;align-items:center;gap:10px;margin:0 12px 45px}.brand-mark{background:var(--text-primary);color:var(--text-inverse);width:29px;height:29px;border-radius:9px;display:grid;place-items:center}.nav{width:100%;border:0;background:none;text-align:left;padding:12px 14px;border-radius:10px;color:var(--text-nav);margin:3px 0;cursor:pointer;font-size:14px}.nav.active,.nav:hover{background:var(--accent-subtle);color:var(--accent-text);font-weight:650}.sidebar-foot{margin-top:auto;color:var(--text-secondary);line-height:1.8;padding:12px;font-size:12px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--state-positive);margin-right:5px}main{max-width:1240px;width:100%;padding:35px 48px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}h1{font-size:32px;margin:5px 0}h2{font-size:16px;margin:0 0 5px}.eyebrow,.label{color:var(--text-secondary);font-size:12px;letter-spacing:.02em;margin:0 0 8px}.muted{color:var(--text-secondary);font-size:12px}.primary{background:var(--accent);color:var(--text-inverse);border:0;border-radius:9px;padding:12px 17px;font-weight:650;cursor:pointer;box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 17%,transparent)}.hero{background:linear-gradient(115deg,var(--hero-start),var(--hero-end));border-radius:16px;padding:28px 31px;color:var(--text-inverse);display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.hero .eyebrow,.hero .muted{color:var(--text-on-hero-muted)}.hero-value{font-size:34px;font-weight:750;letter-spacing:-.03em}.hero-badge{background:rgb(255 255 255 / 11%);border:1px solid color-mix(in srgb,var(--text-on-hero) 17%,transparent);padding:10px 14px;border-radius:10px;color:var(--text-on-hero-accent);font-weight:700}.hero-badge span{display:block;color:var(--text-on-hero-muted);font-size:11px;font-weight:400;margin-top:4px}.grid{display:grid;gap:18px}.cards{grid-template-columns:repeat(3,1fr);margin-bottom:18px}.card,.panel{background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:14px;padding:20px}.card strong{display:block;font-size:22px;margin:13px 0 8px}.trend{font-size:11px}.up{color:var(--state-positive)}.down{color:var(--state-negative)}.two{grid-template-columns:1fr 1fr}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.ghost{border:0;background:none;color:var(--accent-text);cursor:pointer}.bars>div{position:relative;margin:18px 0;padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}.bars span{color:var(--text-secondary)}.bars b{float:right;font-weight:600;font-size:12px}.bars i{display:block;height:6px;background:var(--accent);border-radius:5px;margin-top:10px;opacity:.8}.bars i[style*="width:49"],.bars i[style*="width:43"]{background:color-mix(in srgb,var(--accent) 72%,var(--surface-panel))}.transaction{display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid var(--border-subtle)}.transaction:last-child{border:0}.tx-icon{width:34px;height:34px;border-radius:10px;background:var(--accent-subtle);color:var(--accent-text);display:grid;place-items:center;font-weight:700}.tx-info{flex:1}.tx-info b{display:block;font-size:13px}.tx-info span{color:var(--text-secondary);font-size:11px}.tx-amount{font-weight:650}.toolbar{display:flex;gap:10px;margin-bottom:18px}.toolbar input,.toolbar select,.panel select{background:var(--surface-panel);border:1px solid var(--border-subtle);padding:11px 13px;border-radius:9px;color:var(--text-primary)}.toolbar input{width:280px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 10px;border-bottom:1px solid var(--border-subtle);font-size:13px}th{font-size:11px;color:var(--text-secondary);font-weight:600}.right{text-align:right}.account{display:flex;align-items:center;gap:13px}.account strong{margin:5px 0 0}.account-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:750;font-size:18px}.blue{color:var(--accent-text);background:var(--accent-subtle)}.green{color:var(--tone-green-text);background:var(--tone-green-bg)}.purple{color:var(--tone-purple-text);background:var(--tone-purple-bg)}.chart-panel{min-height:380px}.chart{height:260px;margin-top:20px;border-bottom:1px solid var(--border-subtle);background:repeating-linear-gradient(to bottom,transparent 0,transparent 51px,var(--border-subtle) 52px);position:relative}.chart-line{position:absolute;inset:55px 30px 25px;background:linear-gradient(150deg,transparent 5%,var(--chart-trend-guide) 5.5%,var(--chart-trend-guide) 6%,transparent 6.5%,transparent 26%,var(--chart-trend-guide) 26.5%,var(--chart-trend-guide) 27%,transparent 27.5%,transparent 45%,var(--chart-trend-guide) 45.5%,var(--chart-trend-guide) 46%,transparent 46.5%,transparent 64%,var(--chart-trend-guide) 64.5%,var(--chart-trend-guide) 65%,transparent 65.5%,transparent 83%,var(--chart-trend-guide) 83.5%,var(--chart-trend-guide) 84%,transparent 84.5%);filter:drop-shadow(0 0 4px var(--accent))}.months{display:flex;justify-content:space-between;position:absolute;bottom:-25px;left:20px;right:20px;color:var(--text-secondary);font-size:11px}.hidden{display:none}.modal{position:fixed;inset:0;background:var(--surface-scrim);display:grid;place-items:center;padding:20px}.modal-card{background:var(--surface-panel);border-radius:16px;width:min(480px,100%);padding:24px;box-shadow:var(--shadow-overlay)}.close{border:0;background:none;font-size:24px;color:var(--text-secondary);cursor:pointer}.modal label{display:block;color:var(--text-secondary);font-size:12px;margin:13px 0}.modal input,.modal select,.modal textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--border-subtle);border-radius:8px;padding:11px;font:inherit;color:var(--text-primary)}.modal textarea{min-height:70px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.full{width:100%;margin-top:10px}@media(max-width:800px){.sidebar{width:70px;padding:22px 10px}.brand span:last-child,.sidebar-foot,.nav{font-size:0}.brand{margin:0 10px 35px}.nav{text-align:center;padding:14px}.nav:before{content:'◈';font-size:18px}.nav.active:before{color:var(--accent)}main{padding:25px 18px}.cards,.two{grid-template-columns:1fr}.hero-value{font-size:27px}.hero{padding:22px}.hero-badge{display:none}}
