:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17211d;background:#f5f7f2;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button{border:0;border-radius:8px;cursor:pointer;font:inherit}.app-shell{display:grid;grid-template-columns:272px 1fr;min-height:100vh}.sidebar{background:#11231d;color:#eef6ef;padding:24px}.brand{align-items:center;display:flex;gap:12px;margin-bottom:32px}.brand-mark{align-items:center;background:#78d08b;border-radius:8px;color:#11231d;display:grid;font-weight:800;height:44px;place-items:center;width:44px}.brand strong,.brand span{display:block}.brand span,nav a span{color:#b7c9bf}nav{display:grid;gap:8px}nav a,nav button{align-items:center;border-radius:8px;color:#dce9df;display:flex;gap:10px;padding:12px;text-decoration:none;background:transparent;text-align:left}nav a.active,nav a:hover,nav button.active,nav button:hover{background:#20372f;color:#fff}.workspace{padding:28px}.topbar{align-items:center;display:flex;justify-content:space-between;gap:16px;margin-bottom:24px}.topbar p,.topbar h1{margin:0}.topbar p{color:#68756f;font-weight:700}.topbar h1{font-size:32px}.topbar button,.primary-action,.form-grid button,.import-panel button{align-items:center;background:#176b4d;color:#fff;display:inline-flex;gap:8px;padding:12px 16px;text-decoration:none}.form-grid button.secondary-action{background:#edf2ee;color:#334139}.stats-grid,.content-grid{display:grid;gap:16px}.dashboard-stack{display:grid;gap:24px}.balance-hero{background:#11231d;border-radius:8px;color:#fff;display:grid;gap:18px;justify-items:center;padding:34px 24px 28px}.balance-hero>span{color:#aebdb5;font-weight:800}.balance-hero>strong{font-size:48px;line-height:1}.hero-totals{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));max-width:620px;width:100%}.hero-totals div{background:#1d332b;border-radius:8px;display:grid;gap:6px;padding:16px}.hero-totals small{color:#aebdb5;font-weight:800}.hero-totals b{font-size:22px}.section-title{color:#4e5b54;font-size:20px;margin:0 0 12px}.pending-summary-grid,.dashboard-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.summary-tile,.summary-panel{background:#fff;border:1px solid #dce4de;border-radius:8px}.summary-tile{color:#17211d;display:grid;gap:8px;justify-items:start;min-height:138px;padding:22px;text-align:left}.summary-tile:hover{border-color:#91b99f;box-shadow:0 8px 20px #11231d14}.tile-count{border-radius:999px;color:#fff;display:inline-grid;font-weight:900;height:34px;place-items:center;width:34px}.positive-bg{background:#61bd6d}.negative-bg{background:#ee4f52}.summary-panel{display:grid;gap:12px;padding:18px}.summary-line,.summary-total{align-items:center;display:grid;gap:12px;grid-template-columns:1fr auto}.summary-line+.summary-line,.summary-total{border-top:1px solid #edf1ee;padding-top:12px}.summary-line span{color:#66736c;display:block}.summary-total{font-size:18px}.category-summary>div{align-items:center;display:flex;gap:10px}.color-dot{background:#7f38d8;border-radius:999px;height:12px;width:12px}.monthly-panel{grid-template-columns:84px 1fr}.balance-bars{align-items:end;display:flex;gap:16px;justify-content:center;padding:10px 0}.balance-bars span{border-radius:999px;display:block;height:96px;width:28px}.income-bar{background:#61bd6d}.expense-bar{background:#ee4f52}.monthly-lines{display:grid;gap:14px}.monthly-lines div{align-items:center;display:grid;gap:12px;grid-template-columns:1fr auto}.monthly-lines div:last-child{border-top:1px solid #edf1ee;padding-top:14px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.stat-card,.panel{background:#fff;border:1px solid #dce4de;border-radius:8px}.stat-card{display:grid;gap:8px;padding:18px;text-align:left;width:100%}.stat-card.clickable{cursor:pointer}.stat-card.clickable:hover{border-color:#91b99f;box-shadow:0 8px 20px #11231d14}.stat-card span,.panel-header span,.table-row span,.mini-card span,.account-line span,.budget-info span,.import-panel p{color:#66736c}.stat-card strong{font-size:25px}.content-grid{grid-template-columns:1.4fr 1fr}.panel{padding:18px}.panel.wide{grid-column:span 1}.panel-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.panel-header h2,.import-panel h2{font-size:18px;margin:0}.icon-button{background:#edf2ee;color:#2b3a33;height:40px;width:40px}.table,.stack,.budget-list{display:grid;gap:10px}.table-row,.account-line,.mini-card,.budget-line{align-items:center;border-top:1px solid #edf1ee;display:grid;gap:12px;padding-top:12px}.table-row{grid-template-columns:1fr auto auto}.table-row.compact{grid-template-columns:1fr auto}.pending-row{align-items:center;background:transparent;border-top:1px solid #edf1ee;color:inherit;display:grid;gap:12px;grid-template-columns:1fr auto;padding:14px 0 0;text-align:left}.pending-row:hover{color:#176b4d}.pending-row strong,.pending-row span,.table-row strong,.table-row span,.account-line strong,.account-line span,.mini-card strong,.mini-card span{display:block}.badge{border-radius:999px;font-size:12px;font-weight:800;padding:5px 9px}.badge.paid{background:#e4f6e8;color:#176b4d}.badge.pending{background:#fff0cf;color:#8a5b00}.positive{color:#176b4d}.negative{color:#a93535}.account-line,.mini-card{grid-template-columns:1fr auto}.progress{background:#e7ece8;border-radius:999px;grid-column:1 / -1;height:8px;overflow:hidden}.progress span{background:#2b8a62;display:block;height:100%}.budget-line{grid-template-columns:minmax(160px,220px) 1fr 56px}.budget-line .progress{grid-column:auto}.import-panel{align-content:center;display:grid;justify-items:start;min-height:210px}.empty-state{color:#66736c;margin:0;padding:10px 0}.form-panel{align-self:start}.form-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid label{color:#3b4741;display:grid;font-size:13px;font-weight:800;gap:6px}.form-grid input,.form-grid select{background:#fbfcfb;border:1px solid #d5ded8;border-radius:8px;color:#17211d;font:inherit;min-height:42px;padding:9px 10px;width:100%}.form-grid button{justify-content:center;min-height:42px}.registration-grid,.category-list{display:grid;gap:18px}.registration-layout{display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr)}.registration-layout>section h2{font-size:18px;margin:0 0 14px}.segmented-tabs{background:#edf2ee;border-radius:8px;display:inline-grid;gap:4px;grid-template-columns:repeat(3,minmax(0,auto));margin-bottom:18px;padding:4px}.segmented-tabs button{background:transparent;color:#334139;padding:10px 12px}.segmented-tabs button.active{background:#fff;box-shadow:0 1px 2px #11231d1f}.registration-grid section{border-top:1px solid #edf1ee;padding-top:14px}.registration-grid h3{font-size:15px;margin:0 0 12px}.category-list{grid-template-columns:repeat(2,minmax(0,1fr))}.category-item{border-top:1px solid #edf1ee;display:grid;gap:8px;padding-top:12px}.category-item strong,.category-item span{display:block}.category-item span,.category-item p{color:#66736c}.category-item p{line-height:1.5;margin:0}.manageable-line{align-items:start}.row-actions{display:flex;gap:8px;grid-column:1 / -1}.row-actions button,.tag-item button{background:#edf2ee;color:#334139;font-size:12px;font-weight:800;padding:7px 9px}.row-actions .danger-action{background:#f8e6e6;color:#9f2f2f}.subcategory-tags{display:flex;flex-wrap:wrap;gap:8px}.tag-item{align-items:center;background:#edf2ee;border-radius:999px;color:#334139;display:inline-flex;gap:6px;padding:6px 8px 6px 10px}.tag-item button{border-radius:999px;line-height:1;padding:3px 6px}.modal-backdrop{align-items:center;background:#11231d7a;display:grid;inset:0;padding:18px;place-items:center;position:fixed;z-index:10}.modal{background:#fff;border-radius:8px;box-shadow:0 24px 60px #11231d3d;max-width:520px;padding:18px;width:min(100%,520px)}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}nav{grid-template-columns:repeat(5,minmax(0,1fr))}nav a{justify-content:center}.stats-grid,.content-grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){.workspace,.sidebar{padding:18px}.topbar,.table-row,.budget-line,.form-grid{align-items:stretch;grid-template-columns:1fr}.topbar{display:grid}.stats-grid,.content-grid,.dashboard-grid,.hero-totals,.pending-summary-grid,.registration-layout,.category-list,nav{grid-template-columns:1fr}.balance-hero>strong{font-size:38px}.monthly-panel{grid-template-columns:1fr}}
