.finance-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:18px; }
.finance-stats article { padding:19px 20px; border:1px solid var(--line); border-radius:16px; background:white; box-shadow:var(--shadow-sm); }
.finance-stats span,.finance-stats small { display:block; color:var(--muted); }.finance-stats span { font-size:12px; font-weight:700; }.finance-stats strong { display:block; margin:10px 0 3px; color:var(--brand-navy); font-size:25px; }.finance-stats small { font-size:10px; }
.finance-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:18px; }.finance-search { margin:12px 0; padding:11px 14px; border:1px solid var(--line); border-radius:10px; background:#fafcfe; }.finance-search input { width:100%; border:0; outline:0; color:var(--ink); background:transparent; }
.finance-plan { display:grid; grid-template-columns:minmax(190px,1.4fr) minmax(130px,.8fr) minmax(180px,1fr) auto; gap:15px; align-items:center; padding:15px 5px; border-top:1px solid var(--line); }.finance-plan:first-child { border-top:0; }.finance-plan h3 { margin:0 0 4px; color:#2c4262; font-size:14px; }.finance-plan p { margin:0; color:var(--muted); font-size:11px; }.money-stack strong,.money-stack small { display:block; }.money-stack strong { color:#2c4262; font-size:14px; }.money-stack small { margin-top:3px; color:var(--muted); font-size:10px; }.balance-bar { height:5px; margin-top:7px; overflow:hidden; border-radius:5px; background:#e7edf3; }.balance-bar span { display:block; height:100%; border-radius:5px; background:linear-gradient(90deg,var(--primary),var(--brand-navy)); }.financial-badge,.plan-status { display:inline-flex; width:max-content; padding:5px 8px; border-radius:20px; font-size:9px; font-weight:900; text-transform:uppercase; }.financial-badge.pendiente { color:#9b5d17; background:#fff2dc; }.financial-badge.parcial { color:#1b6f9a; background:#e5f5fc; }.financial-badge.pagado { color:#18785f; background:#e3f7f0; }.plan-status { margin-top:6px; color:#60718a; background:#edf2f7; }.finance-actions { display:flex; gap:6px; }.finance-actions button { border:0; border-radius:8px; padding:8px 10px; color:var(--brand-navy); background:#edf5fb; font-size:10px; font-weight:800; }.finance-actions button.pay { color:white; background:linear-gradient(120deg,var(--brand-navy),#3479bb); }
.cash-panel { padding:22px; border:1px solid var(--line); border-radius:17px; background:white; box-shadow:var(--shadow-sm); }.cash-panel h2 { margin:5px 0 20px; font-size:18px; }.cash-method { display:flex; justify-content:space-between; align-items:center; padding:12px 0; border-top:1px solid var(--line); }.cash-method:first-child { border-top:0; }.cash-method span { color:var(--muted); font-size:12px; text-transform:capitalize; }.cash-method strong { color:#2d4567; font-size:13px; }.cash-total { display:flex; justify-content:space-between; margin-top:17px; padding:15px; border-radius:11px; color:white; background:linear-gradient(120deg,var(--brand-navy),var(--primary)); }.cash-total span { font-size:11px; }.cash-total strong { font-size:16px; }
.wide-dialog { width:min(850px,calc(100% - 30px)); }.items-heading { display:flex; justify-content:space-between; align-items:center; margin:20px 0 10px; }.items-heading strong,.items-heading small { display:block; }.items-heading strong { color:#344d6c; font-size:13px; }.items-heading small { margin-top:3px; color:var(--muted); font-size:10px; }.plan-item { display:grid; grid-template-columns:minmax(180px,1fr) 80px 125px 34px; gap:8px; margin-bottom:8px; }.plan-item input { width:100%; padding:9px; border:1px solid #dce5ee; border-radius:9px; background:#fbfcfe; }.remove-plan-item { border:0; border-radius:8px; color:#aa3540; background:#fff0f1; font-weight:900; }.standalone-label { display:block; margin-top:15px; color:#4b607d; font-size:13px; font-weight:700; }.standalone-label textarea { width:100%; margin-top:7px; padding:10px; border:1px solid #dce5ee; border-radius:10px; }.plan-calculation { display:flex; justify-content:flex-end; align-items:center; gap:16px; margin-top:15px; padding:13px 15px; border-radius:10px; color:#49617d; background:#f0f7fb; }.plan-calculation strong { color:var(--brand-navy); font-size:20px; }.payment-plan-summary { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:18px 0 4px; padding:15px; border-radius:11px; background:#eef7fb; }.payment-plan-summary span,.payment-plan-summary strong { display:block; }.payment-plan-summary span { color:var(--muted); font-size:10px; text-transform:uppercase; }.payment-plan-summary strong { margin-top:4px; color:#294b72; font-size:14px; }
.detail-shell { padding:25px; }.detail-hero { display:flex; justify-content:space-between; gap:20px; margin:20px 0; padding:18px; border-radius:13px; color:white; background:linear-gradient(120deg,var(--brand-navy),var(--primary)); }.detail-hero h3 { margin:0 0 5px; }.detail-hero p { margin:0; color:#d6f1fb; font-size:12px; }.detail-amounts { display:flex; gap:24px; text-align:right; }.detail-amounts span,.detail-amounts strong { display:block; }.detail-amounts span { color:#ccecf8; font-size:9px; text-transform:uppercase; }.detail-amounts strong { margin-top:4px; font-size:16px; }.detail-toolbar { display:flex; justify-content:space-between; gap:10px; align-items:center; margin-bottom:16px; }.detail-toolbar select { padding:8px; border:1px solid var(--line); border-radius:8px; }.detail-toolbar div { display:flex; gap:7px; }.detail-table { width:100%; border-collapse:collapse; font-size:12px; }.detail-table th,.detail-table td { padding:10px; border-bottom:1px solid var(--line); text-align:left; }.detail-table th { color:var(--muted); font-size:9px; text-transform:uppercase; }.detail-table td { color:#3e5572; }.payments-heading { margin:23px 0 8px; color:#2e4767; font-size:15px; }.voided-payment { opacity:.55; text-decoration:line-through; }.receipt-button,.void-button { border:0; border-radius:7px; padding:6px 8px; font-size:9px; font-weight:800; }.receipt-button { color:#305080; background:#eaf4fa; }.void-button { color:#9d3039; background:#fff0f1; }
html[data-theme="dark"] .finance-stats article,html[data-theme="dark"] .cash-panel { border-color:#263a57; background:#101f35; }.finance-stats strong { color:var(--brand-navy); } html[data-theme="dark"] .finance-stats strong,html[data-theme="dark"] .finance-plan h3,html[data-theme="dark"] .money-stack strong,html[data-theme="dark"] .cash-method strong,html[data-theme="dark"] .items-heading strong,html[data-theme="dark"] .detail-table td,html[data-theme="dark"] .payments-heading { color:#dce8f6; } html[data-theme="dark"] .finance-search,html[data-theme="dark"] .plan-item input,html[data-theme="dark"] .standalone-label textarea { color:#e0eaf6; border-color:#344963; background:#0d1b30; } html[data-theme="dark"] .cash-method,html[data-theme="dark"] .finance-plan,html[data-theme="dark"] .detail-table th,html[data-theme="dark"] .detail-table td { border-color:#293d57; } html[data-theme="dark"] .balance-bar { background:#263a52; } html[data-theme="dark"] .plan-status { color:#aebed0; background:#273a51; } html[data-theme="dark"] .payment-plan-summary,html[data-theme="dark"] .plan-calculation { background:#162d46; } html[data-theme="dark"] .payment-plan-summary strong,html[data-theme="dark"] .plan-calculation strong { color:#8bdcf3; } html[data-theme="dark"] .standalone-label { color:#b8c7d9; } html[data-theme="dark"] .detail-toolbar select { color:#dce8f4; background:#13243a; } html[data-theme="dark"] .receipt-button { color:#8bdcf3; background:#1b3a55; } html[data-theme="dark"] .void-button,html[data-theme="dark"] .remove-plan-item { color:#ffaaa5; background:#43282e; }
@media(max-width:1000px){.finance-stats{grid-template-columns:repeat(2,1fr)}.finance-layout{grid-template-columns:1fr}.cash-panel{order:-1}.cash-panel #cash-methods{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.cash-method{border-top:0}}
@media(max-width:760px){.finance-stats{grid-template-columns:1fr 1fr}.finance-plan{grid-template-columns:1fr auto}.finance-plan>div:nth-child(2),.finance-plan>div:nth-child(3){grid-column:1}.plan-item{grid-template-columns:1fr 65px 95px 30px}.detail-hero{display:block}.detail-amounts{margin-top:15px;text-align:left}.cash-panel #cash-methods{grid-template-columns:1fr 1fr}}

/* Finance text is read frequently; avoid tiny dashboard labels. */
.finance-stats span { font-size:13px; }.finance-stats small { font-size:11px; }
.finance-plan h3 { font-size:15px; }.finance-plan p { font-size:12px; }
.money-stack strong { font-size:15px; }.money-stack small { font-size:11px; }
.financial-badge,.plan-status { font-size:10px; }
.finance-actions button { font-size:11px; }
.cash-method span,.cash-method strong { font-size:13px; }.cash-total span { font-size:12px; }.cash-total strong { font-size:17px; }
.items-heading strong { font-size:14px; }.items-heading small { font-size:11px; }
.plan-item input,.standalone-label textarea { font-size:14px; }
.payment-plan-summary span { font-size:11px; }.payment-plan-summary strong { font-size:15px; }
.detail-hero p { font-size:13px; }.detail-amounts span { font-size:10px; }.detail-amounts strong { font-size:17px; }
.detail-table { font-size:13px; }.detail-table th { font-size:10px; }
.receipt-button,.void-button { font-size:10px; }
html[data-theme="dark"] .finance-stats span,html[data-theme="dark"] .finance-stats small,html[data-theme="dark"] .finance-plan p,html[data-theme="dark"] .money-stack small,html[data-theme="dark"] .cash-method span { color:#a9b8ca; }

@media(max-width:760px){
  .finance-layout{display:block}
  .cash-panel{margin-bottom:13px;padding:16px;border-radius:16px}
  .cash-panel #cash-methods{grid-template-columns:1fr}
  .cash-method{padding:10px 0;border-top:1px solid var(--line)}
  .finance-stats{grid-template-columns:1fr}
  .finance-plan{grid-template-columns:1fr!important}
  .finance-actions{grid-template-columns:1fr 1fr}
  .finance-actions button{width:100%;min-height:40px}
  .financial-badge,.plan-status{font-size:11px}
  .plan-item input{min-height:40px}
  .payment-plan-summary{grid-template-columns:1fr}
  .detail-amounts{display:grid;grid-template-columns:1fr;gap:10px;text-align:left}
}
