:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f6f7f9;color:#17202a;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f6f7f9}button,input,select,textarea{font:inherit}button{border:1px solid #d5dae1;border-radius:8px;min-height:40px;padding:0 14px;background:#fff;color:#17202a;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}button:hover{border-color:#9aa4b2}button.primary{border-color:#174ea6;background:#174ea6;color:#fff}.icon-button{width:36px;height:36px;min-height:36px;padding:0}input,select,textarea{width:100%;border:1px solid #d5dae1;border-radius:8px;min-height:42px;padding:0 12px;background:#fff;color:#17202a}textarea{padding-top:10px;min-height:84px;resize:vertical}table{width:100%;border-collapse:collapse}th{color:#667085;font-size:.78rem;text-align:left;font-weight:700;text-transform:uppercase}td,th{padding:14px 12px;border-bottom:1px solid #eaecf0;vertical-align:middle}td span{display:block;color:#667085;font-size:.86rem;margin-top:3px}tbody tr{cursor:pointer}tbody tr:hover{background:#f9fafb}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;background:#101828;color:#fff}.brand{display:flex;align-items:center;gap:12px;margin-bottom:26px}.brand strong,.brand span{display:block}.brand span{color:#b8c4d4;font-size:.82rem}.sidebar nav{display:grid;gap:6px}.sidebar a{min-height:42px;color:#d0d5dd;text-decoration:none;display:flex;align-items:center;gap:10px;padding:0 12px;border-radius:8px}.sidebar a.active,.sidebar a:hover{color:#fff;background:#263449}.main{min-width:0;padding:28px}.page{max-width:1440px;margin:0 auto}.stack{display:grid;gap:22px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.eyebrow{color:#667085;font-weight:700;font-size:.82rem;text-transform:uppercase}h1,h2{margin:0;letter-spacing:0}h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.05}h2{font-size:1rem}.header-actions{display:flex;gap:10px;align-items:center}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat-card,.panel,.category-card,.account-card,.budget-card,.settings-item{background:#fff;border:1px solid #e4e7ec;border-radius:8px}.stat-card{padding:18px;display:grid;gap:8px;border-top:4px solid #174ea6}.stat-card.green{border-top-color:#2f9e44}.stat-card.red{border-top-color:#e03131}.stat-card.amber{border-top-color:#f08c00}.stat-card span,.stat-card small{color:#667085}.stat-card strong{font-size:1.55rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px}.panel{padding:18px;min-width:0}.panel.wide{grid-row:span 2}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.chart-area{height:340px;min-width:0}.chart-area.compact{height:250px}.list,.category-bars,.budget-list,.settings-grid{display:grid;gap:12px}.list-row,.budget-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.row-end{display:flex;align-items:center;gap:10px}.toolbar{display:grid;grid-template-columns:minmax(180px,1fr) repeat(6,minmax(120px,.55fr));gap:10px}.editor-grid{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:18px;align-items:start}.form-panel{display:grid;gap:12px}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.button-row{display:flex;gap:10px;flex-wrap:wrap}.table-panel{overflow-x:auto}.money{font-weight:800;white-space:nowrap}.positive{color:#2f9e44}.negative{color:#e03131}.badge,.status{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 9px;border-radius:999px;font-size:.78rem;font-weight:800;background:#eef2f6;color:#344054}.badge.income{background:#e6f4ea;color:#1f7a37}.badge.expense{background:#fdecec;color:#c92a2a}.badge.both,.status.active{background:#e8f1ff;color:#174ea6}.category-grid,.account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.category-card,.account-card{min-height:86px;padding:16px;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;cursor:pointer}.account-card{grid-template-columns:1fr auto auto}.swatch{width:18px;height:42px;border-radius:999px}.check-row{display:flex;align-items:center;gap:10px;color:#344054}.check-row input{width:18px;min-height:18px}.budget-card{padding:16px;display:grid;gap:12px;cursor:pointer}.progress{height:10px;overflow:hidden;border-radius:999px;background:#eaecf0}.progress span{display:block;height:100%;border-radius:inherit}.bar-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.compact-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.file-drop{min-height:132px;border:1px dashed #aab3c0;border-radius:8px;background:#f9fafb;color:#344054;display:grid;place-items:center;gap:8px;padding:18px;text-align:center;cursor:pointer}.file-drop input{display:none}.field-label{color:#667085;font-size:.82rem;font-weight:800;margin-bottom:-6px}.settings-item{padding:18px;display:flex;gap:14px}.settings-item svg{color:#174ea6;flex:0 0 auto}.settings-item strong,.settings-item span{display:block}.settings-item span{color:#667085;margin-top:5px}.empty-state,.loading,.error-box{min-height:96px;display:flex;align-items:center;justify-content:center;gap:10px;color:#667085;border:1px dashed #cfd4dc;border-radius:8px;background:#fff}.error-box{color:#c92a2a;border-color:#f4b8b8}@media(max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:14px}.sidebar nav{display:flex;overflow-x:auto;padding-bottom:4px}.sidebar a{flex:0 0 auto}.stats-grid,.dashboard-grid,.editor-grid,.toolbar{grid-template-columns:1fr}.panel.wide{grid-row:auto}}@media(max-width:680px){.main{padding:18px 12px}.page-header,.list-row,.budget-top{align-items:flex-start;flex-direction:column}.split,.stats-grid{grid-template-columns:1fr}.category-card,.account-card{grid-template-columns:auto 1fr}.category-card .badge,.category-card .icon-button,.account-card .icon-button{grid-column:2;justify-self:start}}
