.net-worth-summary{gap:var(--space-4);flex-wrap:wrap;display:flex}.net-worth-item{text-align:center;flex:1;min-width:120px}.net-worth-item .nw-label{color:var(--muted);font-size:.85rem}.net-worth-item .nw-value{margin-top:2px;font-size:1.35rem;font-weight:650}.account-group{margin-bottom:var(--space-4)}.account-actions-cell{text-align:right;white-space:nowrap}.header-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.reconnect-cell{align-items:center;gap:var(--space-2);white-space:nowrap;display:inline-flex}.success-text{color:var(--positive);font-size:.9rem}.plaid-balance-note{margin:4px 0 0;font-size:.8rem}.duplicate-banner-stack{gap:var(--space-2);margin-bottom:var(--space-3);flex-direction:column;display:flex}.duplicate-banner{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--caution-soft);color:var(--caution);justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.duplicate-banner p{margin:0}.duplicate-banner-link{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-weight:600;text-decoration:underline}.duplicate-match-list{margin:var(--space-2) 0;padding-left:var(--space-4)}.tx-tags-cell{flex-wrap:wrap;gap:4px;display:flex}.tag-dropdown{position:relative}.tag-dropdown>summary{cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:8px 10px;font-size:.9rem;list-style:none}.tag-dropdown>summary::-webkit-details-marker{display:none}.tag-dropdown-panel{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:var(--space-2);flex-direction:column;gap:4px;min-width:180px;max-height:220px;margin-top:4px;display:flex;position:absolute;overflow-y:auto}.checkbox-list{flex-wrap:wrap;gap:10px;display:flex}.tx-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.tx-toggle button{background:var(--surface);cursor:pointer;color:var(--text);border:none;padding:7px 14px;font-size:.9rem}.tx-toggle button.tx-toggle-active-expense{background:var(--surface-2);font-weight:600}.tx-toggle button.tx-toggle-active-income{background:var(--accent-soft);color:var(--accent);font-weight:600}.tx-actions-cell{text-align:right;white-space:nowrap}.tx-initials{background:var(--surface-2);width:24px;height:24px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;font-weight:650;display:inline-flex}.modal-actions{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:var(--space-3);display:flex}.modal-actions-right{gap:var(--space-2);display:flex}.confirm-delete-box{margin-top:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--caution-soft);color:var(--caution)}.confirm-delete-actions{gap:var(--space-2);margin-top:var(--space-2);display:flex}.import-step{max-width:720px}.import-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3);display:flex}.import-sample-wrap{margin:var(--space-2) 0 var(--space-3)}.import-sample-table-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);overflow-x:auto}.import-sample-table{font-size:.85rem}.import-row-error td{color:var(--muted)}.checkbox-row{align-items:center;gap:6px;font-size:.9rem;display:flex}.reports-card-header{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.reports-card-actions{align-items:center;gap:var(--space-2);display:flex}.reports-view-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.reports-view-toggle button{background:var(--surface);color:var(--muted);cursor:pointer;border:none;padding:5px 10px;font-size:.82rem}.reports-view-toggle button+button{border-left:1px solid var(--border)}.reports-view-toggle button.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.reports-legend{flex-direction:column;gap:6px;min-width:180px;display:flex}.reports-legend-item{align-items:center;gap:8px;font-size:.85rem;display:flex}.reports-legend-item .legend-name{flex:1}.legend-swatch{border-radius:2px;flex-shrink:0;width:10px;height:10px}.reports-donut-row{gap:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.reports-donut-row>div:first-child{flex:320px;min-width:260px}.reports-range-note{color:var(--muted);font-size:.85rem}:root{--bg:#f4f3ec;--surface:#fbfaf5;--surface-2:#ecebe1;--border:#dcdad0;--text:#262b29;--muted:#5b6360;--accent:#2f6f68;--accent-deep:#1f4d47;--accent-soft:#e3efed;--gold:#8a5a12;--gold-soft:#f6ecd8;--gold-rule:#e4cf9e;--positive:#2e7d32;--caution:#9a6b00;--caution-soft:#fdf3dd;--alarm:#b3261e;--alarm-soft:#fbe9e7;--radius:10px;--radius-sm:6px;--shadow:0 1px 3px #262b2914;--serif:Iowan Old Style, "Palatino Linotype", Palatino, Georgia, serif;--sans:Seravek, "Gill Sans Nova", Optima, "Segoe UI", system-ui, -apple-system, sans-serif;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:40px}@media (prefers-color-scheme:dark){:root{--bg:#21231f;--surface:#2a2c26;--surface-2:#1a1c18;--border:#3d3f37;--text:#ebe8de;--muted:#b3b0a3;--accent:#6bb0a6;--accent-deep:#9bcdc4;--accent-soft:#263733;--gold:#d3a75c;--gold-soft:#362d1c;--gold-rule:#55461f;--positive:#6fbf73;--caution:#d3a75c;--caution-soft:#362d1c;--alarm:#e2897a;--alarm-soft:#3a241d;--shadow:0 1px 3px #0000004d}}*{box-sizing:border-box}body{font-family:var(--sans);background:var(--bg);color:var(--text);margin:0;font-size:15px;line-height:1.5}h1,h2,h3{font-family:var(--serif);text-wrap:balance}h1{margin:0 0 var(--space-3);font-size:1.5rem}h2{margin:0 0 var(--space-2);font-size:1.15rem}h3{margin:0 0 var(--space-2);font-size:1rem}.app-loading{min-height:100vh;color:var(--muted);place-items:center;display:grid}.layout{min-height:100vh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);width:210px;padding:var(--space-3);gap:var(--space-3);flex-direction:column;flex-shrink:0;display:flex}.sidebar-brand{flex-direction:column;gap:2px;display:flex}.sidebar-title{font-family:var(--serif);font-size:1.1rem}.sidebar-user{color:var(--muted);font-size:.85rem}.sidebar-nav{flex-direction:column;gap:2px;display:flex}.nav-link{border-radius:var(--radius-sm);color:var(--text);padding:7px 10px;text-decoration:none}.nav-link:hover{background:var(--surface-2)}.nav-link.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.content{padding:var(--space-4);flex:1;max-width:1100px}@media (width<=720px){.layout{flex-direction:column}.sidebar{flex-direction:row;align-items:center;width:100%;overflow-x:auto}.sidebar-nav{flex-direction:row}.content{padding:var(--space-3)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--space-3);margin-bottom:var(--space-3)}.btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;align-items:center;gap:6px;padding:7px 14px;font-size:.9rem;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-deep)}.btn-quiet{color:var(--muted);background:0 0;border-color:#0000}.btn-quiet:hover{background:var(--surface-2);color:var(--text)}.field{margin-bottom:var(--space-3);flex-direction:column;gap:4px;display:flex}.field label{color:var(--muted);font-size:.85rem}.input,select.input,textarea.input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:8px 10px;font-family:inherit;font-size:.95rem}.input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.table{border-collapse:collapse;width:100%}.table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--border);padding:8px 10px;font-size:.8rem}.table td{border-bottom:1px solid var(--surface-2);padding:8px 10px}.table tr:hover td{background:var(--surface-2)}.badge{background:var(--surface-2);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:.75rem;display:inline-block}.badge-accent{background:var(--accent-soft);color:var(--accent)}.badge-caution{background:var(--caution-soft);color:var(--caution)}.badge-alarm{background:var(--alarm-soft);color:var(--alarm)}.amount-out{color:var(--text)}.amount-in{color:var(--positive)}.progress{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .3s}.progress-fill.warn,.progress-fill.over{background:var(--caution)}.progress-fill.unbudgeted{background:var(--muted)}.page-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.filter-bar{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;align-items:flex-end;display:flex}.filter-bar .field{margin-bottom:0}.muted{color:var(--muted)}.error-text{color:var(--alarm);font-size:.9rem}.empty-state{color:var(--muted);text-align:center;padding:var(--space-5) var(--space-3)}.modal-backdrop{z-index:50;padding:var(--space-3);background:#262b2959;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius);padding:var(--space-4);width:100%;max-width:460px;max-height:90vh;overflow-y:auto}.auth-page{min-height:100vh;padding:var(--space-3);place-items:center;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--space-4);width:100%;max-width:380px}
