:root{color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--text:#0f172a;--muted:#64748b;--line:#e2e8f0;--soft:#f8fafc;--white:#fff;--blue:#2563eb;--blue-soft:#eff6ff;--green:#059669;--red:#dc2626;background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#fff;min-width:320px;min-height:100vh;margin:0}a{color:inherit}button,input,select,textarea{font:inherit}button{border:0}.app-shell{background:#fff;grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;gap:1.25rem;height:100vh;padding:1.25rem;display:flex;position:sticky;top:0}.brand-block{align-items:center;gap:.75rem;display:flex}.brand-mark{color:#fff;background:#0f172a;border-radius:.85rem;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-weight:800;display:inline-flex}h1,h2,h3,p{margin:0}.sidebar h1{color:var(--text);letter-spacing:-.03em;font-size:1.1rem}.eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}.sidebar nav{gap:.25rem;display:grid}.sidebar nav button,.ghost-button{color:#334155;cursor:pointer;text-align:left;background:0 0;border-radius:.75rem;padding:.75rem .85rem}.sidebar nav button:hover,.sidebar nav button.nav-active{background:var(--blue-soft);color:var(--blue);font-weight:700}.ghost-button{border:1px solid var(--line);text-align:center;margin-top:auto}.workspace{background:#fff;gap:1.25rem;padding:1.5rem;display:grid}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:1rem;display:flex}.topbar h2{color:var(--text);letter-spacing:-.05em;font-size:2rem}.notice{background:var(--blue-soft);color:#1d4ed8;border:1px solid #bfdbfe;border-radius:999px;padding:.6rem .9rem;font-size:.9rem}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.metric-card,.panel{border:1px solid var(--line);background:#fff;box-shadow:0 12px 28px #0f172a0f}.metric-card{border-radius:1rem;padding:1.1rem}.metric-card span,.metric-card p,.panel-header span,.account-row span,.transaction-row span,.budget-row span{color:var(--muted)}.metric-card strong{color:var(--text);letter-spacing:-.04em;margin:.45rem 0 .2rem;font-size:1.6rem;display:block}.main-grid{grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:1.25rem;display:grid}.panel{border-radius:1.1rem;padding:1.1rem}.panel.wide{gap:1rem;display:grid}.panel-header,.split,.account-row,.transaction-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.panel-header{margin-bottom:1rem}.panel-header h3{color:var(--text);font-size:1rem}.stack{gap:.7rem;display:grid}.account-row,.budget-row{background:var(--soft);border:1px solid var(--line);border-radius:.85rem;padding:.85rem}.account-row div,.budget-row{gap:.25rem;display:grid}.form-panel{gap:.8rem;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}label{color:#334155;gap:.4rem;font-size:.88rem;font-weight:650;display:grid}input,select,textarea{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:.75rem;outline:none;width:100%;padding:.75rem .8rem}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1f}textarea{resize:vertical;min-height:8.5rem}.check-row{align-items:center;font-weight:600;display:flex}.check-row input{width:auto}.form-panel button,.panel button:not(.nav-active){background:var(--text);color:#fff;cursor:pointer;border-radius:.8rem;padding:.8rem 1rem;font-weight:750}.transaction-table{border:1px solid var(--line);border-radius:.9rem;overflow:hidden}.transaction-row{grid-template-columns:130px minmax(160px,1fr) 160px 140px;padding:.85rem 1rem;display:grid}.transaction-row+.transaction-row{border-top:1px solid var(--line)}.negative{color:var(--red)!important}.positive{color:var(--green)!important}.progress{background:#e2e8f0;border-radius:999px;height:.5rem;overflow:hidden}.progress span{background:var(--blue);height:100%;display:block}@media (width<=1020px){.app-shell,.main-grid{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.sidebar nav,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.transaction-row,.form-row{grid-template-columns:1fr}}
