#income-page .card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:12px;padding:0}#income-page .card-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}#income-page .card-header-label{font-size:10px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--text2)}#income-page .card-header-value{font-family:DM Mono,monospace;font-size:15px;font-weight:500;color:var(--text)}#income-page .card-body{padding:18px}#income-page .card-empty{padding:20px 18px;color:var(--text2);font-size:13px;text-align:center}#income-page .member-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:end;padding:14px 18px;border-bottom:1px solid var(--border)}#income-page .member-row:last-of-type{border-bottom:none}#income-page .member-row-actions{display:flex;align-items:center;gap:6px;padding-bottom:1px}#income-page .member-input-label{font-size:10px;color:var(--text2);margin-bottom:5px;letter-spacing:.04em;text-transform:uppercase}#income-page .member-input{background:var(--surface2);border:1px solid var(--border2);border-radius:8px;color:var(--text);font-family:Outfit,sans-serif;font-size:14px;padding:9px 12px;outline:none;width:100%;transition:border-color .15s;-moz-appearance:textfield}#income-page .member-input::-webkit-inner-spin-button,#income-page .member-input::-webkit-outer-spin-button{-webkit-appearance:none}#income-page .member-input:focus{border-color:var(--gold)}#income-page .member-input::placeholder{color:var(--text3)}#income-page .member-delete-btn{background:none;border:1px solid var(--border2);color:var(--text2);border-radius:8px;padding:9px 12px;cursor:pointer;font-size:14px;line-height:1;transition:color .15s,background .15s,border-color .15s;white-space:nowrap}#income-page .member-delete-btn:hover{color:var(--red);background:var(--red-dim);border-color:#d9604a4d}#income-page .add-member-btn{display:flex;align-items:center;gap:8px;padding:12px 18px;background:none;border:none;border-top:1px solid var(--border);color:var(--text2);font-family:Outfit,sans-serif;font-size:12px;cursor:pointer;width:100%;transition:color .15s,background .15s;letter-spacing:.02em}#income-page .add-member-btn:hover{color:var(--gold);background:var(--gold-dim)}#income-page .mode-pill{display:flex;background:var(--surface2);border:1px solid var(--border2);border-radius:20px;padding:2px;gap:2px}#income-page .mode-btn{background:none;border:none;border-radius:18px;color:var(--text3);font-family:Outfit,sans-serif;font-size:11px;font-weight:500;padding:4px 10px;cursor:pointer;transition:background .18s,color .18s;white-space:nowrap}#income-page .mode-btn.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0003}#income-page .mode-btn:not(.active):hover{color:var(--text2)}#income-page .member-ded-card{border-bottom:1px solid var(--border)}#income-page .member-ded-card:last-of-type{border-bottom:none}#income-page .member-ded-header{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid var(--border);background:var(--surface2)}#income-page .member-name-input{flex:1;background:none;border:none;color:var(--text);font-family:Outfit,sans-serif;font-size:15px;font-weight:500;outline:none;padding:0;min-width:0}#income-page .member-name-input::placeholder{color:var(--text3)}#income-page .member-ded-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}#income-page .member-ded-body{padding:14px 18px;display:flex;flex-direction:column;gap:12px}#income-page .ded-field{display:flex;flex-direction:column;gap:5px}#income-page .ded-section{display:flex;flex-direction:column;gap:8px}#income-page .ded-section-header{display:flex;align-items:center;justify-content:space-between}#income-page .add-ded-btn{background:none;border:1px solid var(--border2);border-radius:6px;color:var(--text2);font-family:Outfit,sans-serif;font-size:11px;font-weight:500;padding:3px 10px;cursor:pointer;transition:border-color .15s,color .15s}#income-page .add-ded-btn:hover{border-color:var(--gold);color:var(--gold)}#income-page .ded-row{display:flex;gap:8px;align-items:center}#income-page .ded-label-input{flex:1;background:var(--surface2);border:1px solid var(--border2);border-radius:6px;color:var(--text);font-family:Outfit,sans-serif;font-size:13px;padding:7px 10px;outline:none;min-width:0;transition:border-color .15s}#income-page .ded-label-input:focus{border-color:var(--gold)}#income-page .ded-amount-wrap{display:flex;align-items:center;background:var(--surface2);border:1px solid var(--border2);border-radius:6px;overflow:hidden;width:110px;flex-shrink:0;transition:border-color .15s}#income-page .ded-amount-wrap:focus-within{border-color:var(--gold)}#income-page .ded-prefix{padding:0 7px;color:var(--text3);font-family:DM Mono,monospace;font-size:12px;border-right:1px solid var(--border2);height:34px;display:flex;align-items:center}#income-page .ded-amount{flex:1;background:none;border:none;color:var(--text);font-family:DM Mono,monospace;font-size:13px;padding:6px 8px;outline:none;min-width:0;-moz-appearance:textfield}#income-page .ded-amount::-webkit-inner-spin-button,#income-page .ded-amount::-webkit-outer-spin-button{-webkit-appearance:none}#income-page .ded-del{background:none;border:none;color:var(--text3);font-size:18px;line-height:1;cursor:pointer;padding:4px 6px;border-radius:4px;transition:color .15s;flex-shrink:0}#income-page .ded-del:hover{color:var(--red)}#income-page .ded-empty{font-size:12px;color:var(--text3);font-style:italic}#income-page .section-toggle{display:flex;align-items:center;gap:6px;background:none;border:none;padding:0;cursor:pointer;color:inherit;font:inherit}#income-page .section-chevron{color:var(--text3);transition:transform .2s ease;flex-shrink:0}#income-page .section-chevron.collapsed{transform:rotate(-90deg)}#income-page .tax-row{display:flex;align-items:center;justify-content:space-between;gap:10px}#income-page .tax-row-label{font-size:13px;color:var(--text2);flex:1}#income-page .th-callout{display:flex;align-items:center;justify-content:space-between;background:var(--green-dim);border:1px solid rgba(90,181,133,.2);border-radius:8px;padding:10px 14px}#income-page .th-callout-label{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--green)}#income-page .th-callout-value{font-family:DM Mono,monospace;font-size:18px;font-weight:500;color:var(--green)}#income-page .stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}#income-page .stat-box{background:var(--surface2);border-radius:10px;padding:14px;border:1px solid var(--border)}#income-page .stat-box-label{font-size:10px;font-weight:400;letter-spacing:.05em;text-transform:uppercase;color:var(--text2);margin-bottom:6px}#income-page .stat-box-value{font-family:DM Mono,monospace;font-size:18px;font-weight:500;color:var(--text);letter-spacing:-.02em}#income-page .alloc-preview-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:16px}#income-page .alloc-preview-card{background:var(--surface2);border-radius:10px;padding:12px 14px;border:1px solid var(--border);border-left-width:2px}#income-page .alloc-preview-card.essentials{border-left-color:var(--red)}#income-page .alloc-preview-card.savings{border-left-color:var(--green)}#income-page .alloc-preview-card.spending{border-left-color:var(--blue)}#income-page .alloc-preview-label{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}#income-page .alloc-preview-card.essentials .alloc-preview-label{color:var(--red)}#income-page .alloc-preview-card.savings .alloc-preview-label{color:var(--green)}#income-page .alloc-preview-card.spending .alloc-preview-label{color:var(--blue)}#income-page .alloc-preview-amount{font-family:DM Mono,monospace;font-size:17px;font-weight:500;color:var(--text);margin-bottom:2px;letter-spacing:-.02em}#income-page .alloc-preview-pct{font-size:11px;color:var(--text2)}#income-page .pct-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:12px}#income-page .pct-field-label{font-size:11px;color:var(--text2);margin-bottom:6px;letter-spacing:.02em}#income-page .pct-input{background:var(--surface2);border:1px solid var(--border2);border-radius:8px;color:var(--text);font-family:DM Mono,monospace;font-size:18px;font-weight:500;padding:10px 12px;outline:none;width:100%;transition:border-color .15s;-moz-appearance:textfield}#income-page .pct-input::-webkit-inner-spin-button,#income-page .pct-input::-webkit-outer-spin-button{-webkit-appearance:none}#income-page .pct-input:focus{border-color:var(--gold)}#income-page .total-check{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:var(--surface2);border-radius:8px;margin-bottom:14px;border:1px solid var(--border)}#income-page .total-check-label{font-size:12px;color:var(--text2)}#income-page .total-check-value{font-family:DM Mono,monospace;font-size:16px;font-weight:600;letter-spacing:-.01em}#income-page .total-check-value.ok{color:var(--green)}#income-page .total-check-value.over{color:var(--red)}#income-page .total-check-value.under{color:var(--amber, #d4954a)}#income-page .alloc-warn{font-size:12px;color:var(--red);margin-bottom:10px}#income-page .save-status{font-size:13px;min-height:20px;margin-bottom:6px;text-align:center}#income-page .save-status.success{color:var(--green)}#income-page .save-status.error{color:var(--red)}#income-page .btn{background:var(--gold);border:none;border-radius:20px;color:#1a1208;font-family:Outfit,sans-serif;font-size:13px;font-weight:600;padding:10px 20px;cursor:pointer;transition:background .15s,transform .1s;white-space:nowrap;letter-spacing:.01em}#income-page .btn:hover{background:var(--gold-bright)}#income-page .btn:active{transform:scale(.97)}#income-page .btn:disabled{opacity:.25;cursor:not-allowed;transform:none}#income-page .btn-full{width:100%;border-radius:10px;padding:12px;font-size:14px}#income-page .loading{color:var(--text3);font-size:13px}#income-page .error{color:var(--red);font-size:13px}
