.custom-expense { display:grid; grid-template-columns:1fr 115px 28px; gap:9px; align-items:center; padding:12px 0 2px; }
.custom-expense input[type=text] { width:100%; border:0; border-bottom:2px solid #dce3ef; outline:0; background:transparent; font:700 15px ui-rounded,"SF Pro Rounded",Inter,system-ui,sans-serif; padding:8px 0; color:var(--ink); }
.custom-expense .input-wrap { margin:0; }
.custom-expense .input-wrap input { font-size:22px; }
.remove-expense { border:0; background:#f1f4f9; color:#7c899c; border-radius:8px; width:27px; height:27px; font-size:19px; }
.custom-income-card { margin-bottom:10px; }
.custom-income-card .form-label { justify-content:flex-start; }
.custom-icon { background:#e8defe; color:#7758bf; }
.delete-income { margin-left:auto; border:0; background:#f1f4f9; color:#7c899c; border-radius:8px; width:27px; height:27px; font-size:19px; }
.income-dialog { border:0; border-radius:20px; padding:22px; width:min(360px,calc(100% - 32px)); color:var(--ink); box-shadow:0 20px 70px #10213d55; }
.income-dialog::backdrop { background:#10213d77; }
.income-dialog h2 { font-size:21px; margin:4px 0 18px; letter-spacing:-.5px; }
.income-dialog input { width:100%; border:2px solid #dce3ef; border-radius:12px; outline:0; padding:13px; font:700 16px ui-rounded,"SF Pro Rounded",Inter,system-ui,sans-serif; color:var(--ink); }
.income-dialog input:focus { border-color:var(--blue); }
.income-dialog form>div { display:flex; justify-content:flex-end; gap:9px; margin-top:17px; }
.dialog-cancel,.dialog-save { min-height:42px; padding:0 14px; border-radius:11px; border:0; font:800 14px ui-rounded,"SF Pro Rounded",Inter,system-ui,sans-serif; }
.dialog-cancel { background:#eef2f8; color:#718098; }
.dialog-save { background:var(--blue); color:white; }
.due-fields { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:10px; }
.due-fields input { min-width:0; }
