:root{color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;gap:28px;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.brand-lockup{align-items:center;gap:12px;display:flex}.brand-mark,.account-icon{color:#0f766e;background:#d9f7ef;border-radius:8px;place-items:center;width:42px;height:42px;display:grid}.brand-lockup strong{font-size:19px;display:block}.brand-lockup span,.muted,.account-card p,.account-card span,.transaction-row span,.increase-row span,.simple-row span,.eyebrow{color:#64748b}.sidebar nav{gap:6px;display:grid}.sidebar button,.bottom-nav button{color:#475569;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:11px 12px;display:flex}.sidebar button:hover,.bottom-nav button:hover,.sidebar .nav-active,.bottom-nav .nav-active{color:#0f766e;background:#ecfdf5}.main-panel{min-width:0;padding:28px}.topbar,.hero-strip,.panel-header,.form-actions,.filters{justify-content:space-between;align-items:center;gap:16px;display:flex}.topbar{margin-bottom:24px}.topbar h1{margin:0;font-size:clamp(28px,4vw,42px);line-height:1.05}.eyebrow{letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:13px;font-weight:700}.topbar-actions{gap:8px;display:flex}.icon-button,.primary-button,.secondary-button{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;display:inline-flex}.icon-button{background:#fff;border:1px solid #dbe3ea;width:42px}.primary-button{color:#fff;background:#0f766e;border:0;font-weight:750}.secondary-button{color:#334155;background:#fff;border:1px solid #dbe3ea}.screen-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.dashboard-grid{align-items:stretch}.hero-strip,.metric,.panel,.form-panel,.account-card{background:#fff;border:1px solid #dbe3ea;border-radius:8px;box-shadow:0 14px 40px #0f172a0d}.hero-strip{grid-column:1/-1;padding:18px}.hero-strip h2,.panel-header h2,.account-card h3{margin:0}.metric{padding:18px}.metric span{color:#64748b;margin-bottom:10px;font-size:13px;display:block}.metric strong{font-size:clamp(20px,2.2vw,29px);line-height:1.1}.income strong,.positive strong{color:#15803d}.expense strong,.transaction-row .expense{color:#dc2626}.panel{padding:18px}.wide{grid-column:span 2}.full-width{max-width:1180px}.panel-header{margin-bottom:16px}.panel-header>div{align-items:center;gap:8px;display:flex}.panel-header svg{color:#0f766e}.panel-header span{color:#64748b;font-size:13px}.chart{min-width:0;height:260px}.chart.tall{height:310px}.line-chart{width:100%;height:100%;display:block}.bar-chart{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:repeat(4,1fr);gap:14px;height:100%;display:grid}.bar-group{text-align:center;grid-template-rows:minmax(0,1fr) auto;gap:8px;min-height:0;display:grid}.bars{border-bottom:1px solid #e2e8f0;justify-content:center;align-items:end;gap:7px;min-height:170px;display:flex}.bar{border-radius:5px 5px 0 0;width:22px;min-height:8px;display:block}.income-bar,.legend-income{background:#16a34a}.expense-bar,.legend-expense{background:#dc2626}.chart-legend{color:#64748b;grid-column:1/-1;justify-content:center;gap:10px;font-size:13px;display:flex}.chart-legend span{border-radius:2px;width:10px;height:10px;margin-top:4px}.donut-layout{grid-template-columns:160px minmax(0,1fr);align-items:center;gap:18px;height:100%;display:grid}.donut{border-radius:999px;place-items:center;width:156px;height:156px;display:grid;position:relative}.donut:after{content:"";border-radius:inherit;background:#fff;position:absolute;inset:30px}.donut span{z-index:1;text-align:center;font-size:15px;font-weight:800}.donut-legend{gap:9px;display:grid}.donut-legend div{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;font-size:13px;display:grid}.donut-legend span{border-radius:999px;width:10px;height:10px}.donut-legend em{color:#64748b;font-style:normal}.stack,.transaction-list,.budget-list{gap:12px;display:grid}.increase-row,.simple-row,.transaction-row,.budget-row,.table-row,.table-head{align-items:center;gap:12px;display:grid}.increase-row{border-bottom:1px solid #eef2f7;grid-template-columns:minmax(0,1fr) auto;padding-bottom:10px}.increase-row:last-child{border-bottom:0}.increase-row b{color:#b91c1c}.simple-row{grid-template-columns:minmax(0,1fr) auto auto}.transaction-row{border-bottom:1px solid #eef2f7;grid-template-columns:minmax(190px,1fr) minmax(120px,1fr) auto;padding:12px 0}.transaction-row:last-child{border-bottom:0}.transaction-row p{color:#334155;margin:0}.form-panel{max-width:920px;padding:20px}.segmented{background:#eef2f7;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:20px;padding:4px;display:grid}.segmented button{color:#475569;background:0 0;border:0;border-radius:6px;min-height:42px;font-weight:700}.segmented .selected{color:#0f766e;background:#fff}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}label{color:#475569;gap:7px;font-size:13px;font-weight:700;display:grid}input,select,textarea{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;min-height:44px;padding:10px 12px}textarea{resize:vertical;min-height:96px}.span-2{grid-column:span 2}.form-actions{justify-content:flex-end;margin-top:18px}.budget-row{border-bottom:1px solid #eef2f7;grid-template-columns:minmax(170px,1fr) minmax(150px,2fr) auto auto;padding:14px 0}.progress-track{background:#e2e8f0;border-radius:999px;height:10px;overflow:hidden}.progress-track span{border-radius:inherit;background:#0f766e;height:100%;display:block}.progress-track .danger{background:#dc2626}.planner-table{overflow:auto}.table-head,.table-row{grid-template-columns:1.2fr repeat(4,1fr);min-width:760px;padding:13px 0}.table-head{color:#64748b;border-bottom:1px solid #dbe3ea;font-size:13px;font-weight:800}.table-row{border-bottom:1px solid #eef2f7}.cards-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.account-card{grid-template-columns:auto minmax(0,1fr);gap:14px;padding:18px;display:grid}.account-card strong,.account-card>span{grid-column:2}.account-card strong{font-size:24px}.filters{margin-bottom:16px}.filters label{background:#fff;border:1px solid #cbd5e1;border-radius:8px;flex:1;align-items:center;gap:8px;padding:0 12px;display:flex}.filters input{border:0}.drop-zone{color:#475569;text-align:center;background:#f8fafc;border:1px dashed #94a3b8;border-radius:8px;place-items:center;gap:10px;min-height:190px;margin-bottom:18px;display:grid}.drop-zone svg{color:#0f766e}.pill{color:#166534;background:#dcfce7;border-radius:999px;width:fit-content;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.bottom-nav{display:none}@media (width<=1100px){.screen-grid,.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{grid-column:span 1}}@media (width<=760px){.app-shell{padding-bottom:74px;display:block}.sidebar{display:none}.main-panel{padding:18px 14px}.topbar{align-items:flex-start}.topbar-actions{display:none}.screen-grid,.cards-grid,.form-grid{grid-template-columns:1fr}.wide,.hero-strip,.span-2{grid-column:auto}.hero-strip,.form-actions,.filters{flex-direction:column;align-items:stretch}.chart,.chart.tall{height:240px}.donut-layout{grid-template-columns:1fr;justify-items:center}.donut-legend{width:100%}.simple-row,.transaction-row,.budget-row{grid-template-columns:1fr}.transaction-row p{display:none}.bottom-nav{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border-top:1px solid #dbe3ea;grid-template-columns:repeat(5,1fr);padding:6px;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{flex-direction:column;justify-content:center;gap:3px;min-width:0;padding:8px 4px;font-size:11px}}
