:root{--color-accent: #04a8ee;--color-ink: #0e1f45;--color-accent-soft: #75bcdc;--color-surface: #83d4f7;--color-bg: #ffffff;--color-muted: color-mix(in srgb, var(--color-ink) 55%, white);--font-sans: -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--text-body: 1.0625rem;--leading-body: 1.55;--weight-title: 650;--space-xs: .35rem;--space-sm: .6rem;--space-md: 1rem;--space-lg: 1.6rem;--space-xl: 2.4rem;--space-2xl: 3.5rem;--gutter: clamp(1rem, 4vw, 2rem);--container-max: 72rem;--radius: 12px;--radius-pill: 999px;--shadow-card: 0 6px 24px color-mix(in srgb, var(--color-ink) 8%, transparent)}@media(min-width:64rem){:root{--container-max: 80vw}}*,*:before,*:after{box-sizing:border-box}html{font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-body);color:var(--color-ink);background:var(--color-bg)}body{margin:0;min-height:100vh}a{color:var(--color-accent);text-underline-offset:.15em}a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.skip-link{position:absolute;left:var(--gutter);top:-100px;padding:var(--space-sm) var(--space-md);background:var(--color-ink);color:var(--color-bg);border-radius:var(--radius);z-index:100}.skip-link:focus{top:var(--space-md)}.btn-pill{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-pill);border:1px solid var(--color-accent);background:var(--color-accent);color:#fff;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;transition:background .12s ease,transform .12s ease,box-shadow .12s ease}.btn-pill:hover{background:color-mix(in srgb,var(--color-accent) 85%,var(--color-ink));border-color:color-mix(in srgb,var(--color-accent) 85%,var(--color-ink))}.btn-pill:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px}.btn-pill:active{transform:translateY(1px)}.btn-pill--ghost{background:transparent;color:var(--color-accent)}.btn-pill--ghost:hover{background:color-mix(in srgb,var(--color-accent) 10%,white);color:var(--color-accent)}.menu-inicio .btn-pill{flex:0 0 auto;min-width:12rem;text-align:center}@media(max-width:480px){.menu-inicio .btn-pill{min-width:100%}}.toast-stack{position:fixed;bottom:var(--space-lg);right:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm);z-index:1000;pointer-events:none}.toast{pointer-events:auto;background:var(--color-ink);color:#fff;padding:var(--space-sm) var(--space-md);border-radius:var(--radius);box-shadow:var(--shadow-card);font-size:.95rem;max-width:22rem;opacity:0;transform:translateY(8px);transition:opacity .16s ease,transform .16s ease}.toast.is-visible{opacity:1;transform:translateY(0)}.toast--error{background:#8a1c2b}.modal{border:none;padding:0;border-radius:var(--radius);background:var(--color-bg);color:var(--color-ink);box-shadow:0 24px 60px color-mix(in srgb,var(--color-ink) 30%,transparent);max-width:min(40rem,calc(100vw - 2rem));width:100%}.modal::backdrop{background:color-mix(in srgb,var(--color-ink) 55%,transparent)}.modal__header,.modal__footer{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg)}.modal__header{justify-content:space-between;border-bottom:1px solid color-mix(in srgb,var(--color-accent-soft) 35%,white)}.modal__title{margin:0;font-size:1.15rem;font-weight:var(--weight-title);letter-spacing:-.01em}.modal__close{background:none;border:none;font:inherit;font-size:1.5rem;line-height:1;color:var(--color-muted);cursor:pointer;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-pill)}.modal__close:hover{background:color-mix(in srgb,var(--color-accent) 8%,white);color:var(--color-ink)}.modal__body{padding:var(--space-lg)}.modal__footer{justify-content:flex-end;border-top:1px solid color-mix(in srgb,var(--color-accent-soft) 35%,white);background:color-mix(in srgb,var(--color-surface) 8%,white)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}.form-field{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.form-field[hidden]{display:none!important}.form-field--full{grid-column:1 / -1}.form-field--checkbox{flex-direction:row;align-items:center;gap:var(--space-sm)}.form-field label{font-size:.9rem;font-weight:600;color:var(--color-ink)}.form-field .req{color:var(--color-accent);margin-left:.15em}.form-field input,.form-field select,.form-field textarea{font:inherit;color:var(--color-ink);background:#fff;padding:var(--space-sm) var(--space-md);border:1px solid color-mix(in srgb,var(--color-ink) 18%,white);border-radius:var(--radius);transition:border-color .12s ease,box-shadow .12s ease;min-width:0;width:100%}.form-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--color-muted) 50%),linear-gradient(135deg,var(--color-muted) 50%,transparent 50%);background-position:calc(100% - 1.05rem) 50%,calc(100% - .7rem) 50%;background-size:.35rem .35rem,.35rem .35rem;background-repeat:no-repeat;padding-right:2.2rem}.form-field textarea{min-height:4.5rem;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 25%,transparent)}.form-field .field-error{color:#8a1c2b;font-size:.85rem;min-height:1em}.form-field.has-error input,.form-field.has-error select,.form-field.has-error textarea{border-color:#8a1c2b;box-shadow:0 0 0 3px color-mix(in srgb,#8a1c2b 18%,transparent)}.input-with-action{display:flex;align-items:stretch;gap:var(--space-xs)}.input-with-action>select,.input-with-action>input{flex:1 1 auto}.input-with-action__btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:.25em;padding:0 var(--space-md);background:color-mix(in srgb,var(--color-accent) 10%,white);color:var(--color-accent);border:1px dashed color-mix(in srgb,var(--color-accent) 60%,white);border-radius:var(--radius);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .12s ease,border-color .12s ease}.input-with-action__btn:hover{background:color-mix(in srgb,var(--color-accent) 18%,white);border-style:solid}.input-with-action__btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media(max-width:38rem){.form-grid{grid-template-columns:1fr}}.data-table-wrapper{overflow-x:auto;border:1px solid color-mix(in srgb,var(--color-accent-soft) 45%,white);border-radius:var(--radius);box-shadow:var(--shadow-card);background:#fff}.data-table{width:100%;border-collapse:collapse;font-size:.95rem}.data-table thead th{text-align:left;font-weight:600;letter-spacing:.02em;text-transform:uppercase;font-size:.78rem;color:var(--color-muted);padding:var(--space-sm) var(--space-md);background:color-mix(in srgb,var(--color-surface) 10%,white);border-bottom:1px solid color-mix(in srgb,var(--color-accent-soft) 35%,white)}.data-table tbody td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid color-mix(in srgb,var(--color-accent-soft) 22%,white);vertical-align:top}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:color-mix(in srgb,var(--color-surface) 6%,white)}.data-table .col-empty{text-align:center;color:var(--color-muted);padding:var(--space-lg) var(--space-md)}@media(max-width:768px){.data-table .col-mobile-hidden{display:none}}.amortizacion-movil-cargando{display:none}@media(max-width:768px){.amortizacion-movil-cargando{display:block;margin:0 0 var(--space-md);color:var(--color-muted);font-size:.9rem}.amortizacion-movil-cargando[hidden]{display:none!important}.amortizacion-detalle-encabezado{display:none}#contenido.amortizacion-pagina{padding:var(--space-md) var(--space-sm) var(--space-2xl)}.amortizacion-pagina .data-table{font-size:.82rem}.amortizacion-pagina .data-table thead th{font-size:.68rem;padding:var(--space-xs) var(--space-sm)}.amortizacion-pagina .data-table tbody td{padding:var(--space-xs) var(--space-sm)}}.listado-prestamo-nombre-corto{display:none}@media(max-width:768px){.listado-prestamo-nombre-corto{display:inline}.listado-prestamo-nombre-largo{display:none}}button.amort-estado-capsule{margin:0;border:none;font:inherit;text-align:inherit;cursor:pointer}button.amort-estado-capsule:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.table-actions{display:flex;gap:var(--space-xs);justify-content:flex-end;align-items:center}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;border:1px solid color-mix(in srgb,var(--color-accent) 30%,white);background:transparent;color:var(--color-accent);text-decoration:none;font:inherit;font-weight:700;line-height:1;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease}.icon-btn:hover{background:color-mix(in srgb,var(--color-accent) 12%,white);border-color:var(--color-accent)}.icon-btn:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px}.icon-btn:active{transform:translateY(1px)}
