.payments-navigation { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:.75rem;margin-block:1.5rem; }
.payments-navigation a { display:flex;align-items:center;text-decoration:none; }
.payments-navigation [aria-current] { border-color:var(--color-brand);font-weight:700; }
.payments-form { display:grid;gap:1rem;max-width:36rem; }
.payments-form select { padding:.75rem;border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-surface);color:var(--color-text);font:inherit; }
.payments-form button { margin-top:1rem; }
.payments-timeline { list-style:none;border-left:2px solid var(--color-border);padding-left:1rem;display:grid;gap:1rem; }
.payments-event { display:grid;gap:.5rem;width:100%;padding:1rem;text-align:left;border:1px solid var(--color-border);border-radius:.75rem;background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer;overflow-wrap:anywhere; }
.payments-event time,.payments-event small { color:var(--color-text-muted); }
.payments-contract-identities { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin-bottom:1rem; padding:.75rem; border:1px solid var(--color-border); border-radius:.75rem; background:var(--color-surface-muted); }
body[data-payments-view] dialog { width:min(44rem,94vw); }
body[data-payments-view] .top-nav .view-subtitle { white-space:normal; }
body[data-payments-view] .view-identity { min-width:0; }
.workspace.payments-blocked { grid-template-columns:minmax(0,1fr); }
.payments-form input,.sales-actions input[type="search"] { padding:.65rem .75rem;border:1px solid var(--color-border);border-radius:.5rem;font:inherit;min-width:0; }
body[data-payments-view] .app-shell { grid-template-rows:auto minmax(0,1fr) auto; }
body[data-payments-view] .top-nav .view-identity { flex:1; }
body[data-payments-view] .top-nav .context-button { min-width:min(13rem,17vw); }
body[data-payments-view] .top-nav .context-value { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
body[data-payments-view] .top-nav .user-greeting { min-width:6rem; }
body[data-payments-view] .top-nav .top-spacer { display:none; }
body[data-payments-view] dialog.payments-detail-dialog { width:min(72rem,94vw);overflow:hidden; }
.payments-dialog-shell { display:flex;flex-direction:column;max-height:calc(100dvh - 2rem); }
.payments-modal-body { min-height:0;overflow:auto;overscroll-behavior:contain; }
.payments-dialog-actions { flex-shrink:0;margin:0;padding:.75rem 1rem;border-top:1px solid var(--color-border);background:var(--color-surface);justify-content:flex-end; }
.payments-detail-section { margin-block:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border); }
.payments-detail-section h3 { margin-top:0; }
.payments-concept { border:1px solid var(--color-border);border-radius:.75rem;margin-block:.75rem;overflow:hidden; }
.payments-concept > summary { display:grid;gap:.35rem;padding:1rem;cursor:pointer; }
.payments-concept > summary span { color:var(--color-text-muted);font-size:.9rem; }
.payments-record { padding:1rem;border-top:1px solid var(--color-border); }
.payments-record h4 { margin:0 0 .75rem; }
.payments-record.is-selected { border-left:.25rem solid var(--color-brand);background:var(--color-surface-muted); }
.payments-attention { color:var(--color-danger); }
.payments-selected-note { color:var(--color-brand); }
.payments-block-state { font-size:.85rem;color:var(--color-text-muted); }
@media (min-width:641px) {
  body[data-payments-view="consultar"] .preview-table th:first-child,body[data-payments-view="consultar"] .preview-table td:first-child { width:30%; }
  body[data-payments-view="consultar"] .preview-table th:last-child,body[data-payments-view="consultar"] .preview-table td:last-child { width:30%; }
}
body[data-payments-view="consultar"] .row-key .sales-card > span { font-weight:400; }
.payments-reports { min-width:0; }
.payments-report-toolbar,.payments-report-choices { display:flex;flex-wrap:wrap;gap:.5rem;align-items:center; }
.payments-report-toolbar { justify-content:space-between;margin-block:1rem; }
.payments-report-choices [aria-pressed="true"] { color:var(--color-brand);border-color:var(--color-brand);font-weight:700; }
.payments-report-cards { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin-block:1.25rem; }
.payments-report-indicator { display:grid;gap:.65rem;align-content:start;padding:1rem;border:1px solid var(--color-border);border-radius:.75rem;background:var(--color-surface);overflow-wrap:anywhere; }
.payments-report-indicator strong { font-size:1.65rem; }
.payments-report-indicator small { color:var(--color-text-muted); }
.payments-report-groups { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:1rem; }
.payments-report-panel { min-width:0;margin-block:1rem;padding:1rem;border:1px solid var(--color-border);border-radius:.75rem; }
.payments-report-panel h2 { margin-top:0;font-size:1.2rem; }
.payments-report-events { display:grid;gap:.75rem;margin-block:1rem; }
.payments-report-event { border:1px solid var(--color-border);border-radius:.65rem;overflow-wrap:anywhere; }
.payments-report-event > summary { cursor:pointer;padding:1rem; }
.payments-report-event-body { padding:0 1rem 1rem; }
.payments-report-attention { border-left:.25rem solid var(--color-brand); }
@media(max-width:640px){.payments-report-panel{padding:.75rem}.payments-report-choices{width:100%}.payments-report-choices button{flex:1 1 8rem}.payments-report-toolbar>button{width:100%}}

@media(max-width:1100px){.payments-report-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.payments-report-cards{grid-template-columns:minmax(0,1fr)}}
.payments-report-indicator > span { min-height:2.6em;line-height:1.3; }
.payments-dialog-header { flex-shrink:0;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border);background:var(--color-surface); }
.payments-dialog-header h2 { margin:0;font-size:1.3rem;line-height:1.4; }
.payments-dialog-subtitle { margin:.45rem 0 0;color:var(--color-text-muted);font-size:.9rem;overflow-wrap:anywhere; }
.payments-dialog-subtitle strong { color:#171b24;font-weight:750; }
.payments-modal-body { padding:1.5rem; }
.payments-modal-body > :first-child { margin-top:0; }
.payments-modal-body > :last-child { margin-bottom:0; }
.payments-dialog-actions { padding:1.15rem 1.5rem;gap:.85rem; }
.payments-modal-body .field { display:grid;gap:.6rem;margin-block:1.25rem; }
.payments-modal-body textarea,.payments-form textarea { padding:.8rem;min-height:6rem;border:1px solid var(--color-border);border-radius:.5rem;font:inherit;width:100%;resize:vertical; }
@media(max-width:640px){.payments-dialog-header,.payments-modal-body,.payments-dialog-actions{padding:1rem}.payments-dialog-actions>*{min-height:2.75rem}}

.workspace.payments-direct { grid-template-columns:minmax(0,1fr); }
.workspace.payments-direct:has(.selection-context:not([hidden])) { grid-template-columns:minmax(0,1fr) minmax(19rem,30%); }
@media(max-width:760px){.workspace.payments-direct:has(.selection-context:not([hidden])){grid-template-columns:minmax(0,1fr)}}
.device-control-choice{display:grid;gap:12px;border:1px solid var(--color-border);border-radius:14px;padding:18px}.device-control-choice legend{font-weight:700;padding:0 8px}.device-control-option{display:flex;gap:12px;align-items:start;padding:16px;border:1px solid var(--color-border);border-radius:10px;cursor:pointer}.device-control-option:has(input:checked){border-color:var(--color-brand);background:var(--color-surface-muted)}.device-control-option input[type=radio]{width:20px;height:20px;min-width:20px;margin:2px 0}.device-control-option>span{display:grid;gap:6px}.device-control-option small{font-weight:400;color:var(--color-text-muted);line-height:1.5}.device-control-result{display:grid;gap:18px;margin-top:24px}.device-control-result h2{margin:0}.payments-form [hidden]{display:none!important}

/* Estado de cuenta: preservar columnas financieras y comprobantes legibles. */
.payments-client-result{margin-top:1.5rem;min-width:0}
.payments-amortization-scroll{max-width:100%;overflow:auto;border:1px solid var(--color-border);border-radius:.75rem;margin:1rem 0}
.payments-amortization{width:100%;min-width:58rem;border-collapse:collapse;font-size:.9rem;text-align:left}
.payments-amortization caption{text-align:left;padding:1rem;font-weight:800;background:var(--color-surface-muted)}
.payments-amortization th{padding:.8rem;background:var(--color-canvas);color:var(--color-text-muted);font-size:.75rem;text-transform:uppercase;vertical-align:top}
.payments-amortization td{padding:.8rem;border-top:1px solid var(--color-border);vertical-align:top}
.payments-amortization td:first-child{min-width:10rem}
.payments-amortization td:first-child strong,.payments-amortization td:first-child span{display:block;margin-bottom:.35rem}
.payments-amortization td:last-child{min-width:17rem}
.payments-amortization-payment{display:grid;gap:.35rem;padding:.5rem 0;overflow-wrap:anywhere}
.payments-amortization-payment+.payments-amortization-payment{border-top:1px solid var(--color-border);margin-top:.5rem}
.payments-amortization-payment a{justify-self:start}
.payments-amortization-values{display:grid;gap:.5rem;min-width:10rem}
.payments-amortization details summary{cursor:pointer;color:var(--color-brand);padding:.3rem 0}
@media (max-width: 640px) { .payments-contract-identities { grid-template-columns:minmax(0,1fr); } }
