    :root { --navy:#001345; --blue:#0141A2; --sky:#009AFE; }
    body { background:#f0f4f8; font-family:'Segoe UI',system-ui,sans-serif; }

    /* ── Topnav ── */
    .topnav { background: linear-gradient(90deg, #012d70, #0255c5); color: #fff; height: 60px; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 200; box-shadow: 0 2px 8px rgba(0,0,0,0.3); }
    .topnav-left { display: flex; align-items: center; gap: 16px; }
    .topnav-brand img { height: 34px; filter: brightness(0) invert(1); }
    .version-badge { background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.75); font-size: 0.65rem; font-weight: 700; border-radius: 6px; padding: 2px 8px; letter-spacing: 0.5px; margin-left: 2px; }
    .topnav-right { display: flex; align-items: center; gap: 12px; }
    .user-chip { background: rgba(255,255,255,0.12); border-radius: 24px; padding: 5px 12px; display: flex; align-items: center; gap: 8px; font-size: 0.85rem; }
    .avatar { width: 28px; height: 28px; background: #90caf9; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #0141A2; font-weight: 700; font-size: 0.75rem; }
    .perfil-badge { background: rgba(144,202,249,0.2); border: 1px solid rgba(144,202,249,0.4); color: #90caf9; border-radius: 12px; padding: 2px 10px; font-size: 0.73rem; font-weight: 600; }
    .btn-logout { background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2); color: #fff; border-radius: 8px; padding: 5px 12px; font-size: 0.82rem; cursor: pointer; transition: background 0.2s; }
    .btn-logout:hover { background: rgba(255,255,255,0.22); }

    /* ── Layout ── */
    .page-wrap { max-width:1600px; margin:24px auto; padding:0 24px 60px; }

    /* ── Header banner ── */
    .page-banner {
      background:linear-gradient(135deg,var(--navy),var(--blue) 55%,var(--sky));
      border-radius:14px; padding:22px 30px; margin-bottom:22px;
      color:#fff; display:flex; align-items:center; gap:18px;
    }
    .page-banner i.icon { font-size:2.4rem; opacity:.75; }
    .page-banner h2 { margin:0 0 3px; font-size:1.2rem; font-weight:800; }
    .page-banner p  { margin:0; font-size:.83rem; opacity:.8; }

    /* ── Top bar ── */
    .top-bar { display:flex; align-items:stretch; gap:10px; margin-bottom:20px; }

    /* Tab card (Consulta / Ingreso) */
    .tab-card {
      background:#fff; border-radius:12px; padding:14px 18px; cursor:pointer;
      border:2px solid transparent; flex-shrink:0;
      transition:transform .18s, box-shadow .18s, border-color .18s;
      box-shadow:0 1px 4px rgba(0,0,0,.06);
      display:flex; flex-direction:column; align-items:center; justify-content:center;
      gap:6px; text-align:center; min-width:120px;
    }
    .tab-card:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(1,65,162,.15); border-color:var(--navy); }
    .tab-card.active { border-color:var(--navy); box-shadow:0 6px 20px rgba(1,65,162,.2); }
    .tab-card .card-icon {
      width:36px; height:36px; border-radius:9px;
      background:linear-gradient(135deg,#e8eaf6,#c5cae9);
      display:flex; align-items:center; justify-content:center;
      font-size:1.1rem; color:var(--navy); transition:background .18s, color .18s;
    }
    .tab-card:hover .card-icon,
    .tab-card.active .card-icon { background:linear-gradient(135deg,var(--navy),var(--blue)); color:#fff; }
    .tab-card h6 { font-weight:700; font-size:.8rem; margin:0; color:#111827; line-height:1.3; }

    /* Financieras (siempre visibles, multi-toggle en consulta) */
    .fin-cards { display:flex; gap:10px; flex:1; }
    .fin-card {
      background:#fff; border-radius:12px; padding:10px 16px; cursor:pointer;
      border:2px solid #e5e7eb; flex:1;
      transition:transform .18s, box-shadow .18s, border-color .18s;
      box-shadow:0 1px 4px rgba(0,0,0,.06);
      display:flex; flex-direction:column; align-items:center; justify-content:center;
      gap:8px; min-height:80px; position:relative;
    }
    .fin-card:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(1,65,162,.13); border-color:#93c5fd; }
    .fin-card img { max-width:100%; max-height:42px; object-fit:contain; filter:grayscale(40%) opacity(.65); transition:filter .18s; }
    .fin-card[data-empresa="CFC"] img,
    .fin-card[data-empresa="UNIDAD"] img { max-height:63px; }   /* logos CFC y Unidad 50% más grandes */
    .fin-card[data-empresa="AFA"] img { max-height:56px; }
    .fin-card:hover img { filter:grayscale(15%) opacity(.9); }
    .fin-card.active img { filter:none; }
    .fin-card.active { border-color:var(--navy); box-shadow:0 6px 20px rgba(1,65,162,.18); }
    .fin-badge {
      position:absolute; top:6px; right:6px;
      width:16px; height:16px; border-radius:50%;
      border:2px solid #d1d5db; background:#fff;
      display:flex; align-items:center; justify-content:center;
      transition:all .15s; font-size:.55rem; font-weight:800; color:#fff;
    }
    .fin-card.active .fin-badge { background:var(--navy); border-color:var(--navy); }
    .fin-card.active .fin-badge::after { content:'✓'; }

    /* Empresa cards (solo ingreso — mismas fin-card pero usadas como selector) */
    .empresa-card { display:none; }

    .tab-panel { display:none; }
    .tab-panel.active { display:block; }

    /* ── Tabs internos de Condiciones del Crédito ── */
    .cred-tabs { border-bottom:2px solid #e5e7eb; margin-bottom:18px; padding:0; list-style:none; display:flex; gap:0; }
    .cred-tabs .ctab-btn { background:none; border:none; border-bottom:3px solid transparent;
      padding:8px 20px; margin-bottom:-2px; font-size:.86rem; font-weight:600; color:#6b7280;
      cursor:pointer; border-radius:0; transition:color .15s,border-color .15s; }
    .cred-tabs .ctab-btn:hover { color:var(--navy); }
    .cred-tabs .ctab-btn.active { color:var(--navy); border-bottom-color:var(--navy); font-weight:700; }
    .cred-seg-row { display:flex; justify-content:space-between; padding:4px 0; font-size:.83rem; }
    .cred-seg-row span:first-child { color:#6b7280; }
    .cred-seg-row span:last-child { font-weight:600; font-family:monospace; }
    .cred-seg-sep { border-top:1px solid #e5e7eb; margin:6px 0; }

    /* ── Cards ── */
    .form-card { background:#fff; border-radius:12px; padding:22px 24px; margin-bottom:16px; box-shadow:0 1px 5px rgba(0,0,0,.07); }
    .section-label { font-size:.75rem; font-weight:800; color:var(--blue); text-transform:uppercase; letter-spacing:.08em; margin-bottom:14px; display:flex; align-items:center; gap:7px; }
    .section-divider { border-color:#e5e7eb; margin:18px 0; }
    .form-label { font-size:.8rem; font-weight:600; color:#374151; margin-bottom:4px; }
    .form-control, .form-select { border-radius:7px; border:1.5px solid #d1d5db; font-size:.88rem; padding:7px 10px; }
    .form-control:focus, .form-select:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(1,65,162,.1); outline:none; }
    .form-control:read-only { background:#f9fafb; }

    /* ── Tabla consulta ── */
    .search-bar { display:flex; gap:10px; margin-bottom:16px; flex-wrap:wrap; }
    .search-bar input { flex:1; min-width:200px; }
    .search-bar select { width:160px; }

    .cred-table { width:100%; border-collapse:collapse; font-size:.74rem; }
    .cred-table th { background:#f1f5f9; color:#374151; font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em; padding:7px 8px; border-bottom:2px solid #e5e7eb; white-space:nowrap; }
    .cred-table td { padding:6px 8px; border-bottom:1px solid #f0f2f5; color:#374151; }
    .cred-table tr:last-child td { border-bottom:none; }
    .cred-table tr:hover td { background:#f8fafd; }
    .cred-table .num { text-align:right; font-weight:600; }
    .cred-table .mono { font-family:monospace; font-size:.72rem; }

    /* Estado badges */
    .badge-estado { display:inline-block; border-radius:20px; padding:2px 10px; font-size:.73rem; font-weight:700; white-space:nowrap; }
    .badge-INGRESO             { background:#fef9c3; color:#854d0e; border:1px solid #fde047; }
    .badge-REVISION            { background:#fef9c3; color:#854d0e; border:1px solid #fde047; }
    .badge-CARGA_RESPALDOS     { background:#ffedd5; color:#c2410c; border:1px solid #fdba74; }
    .badge-EN_ANALISIS         { background:#ede9fe; color:#5b21b6; border:1px solid #c4b5fd; }
    .badge-CARTA_APROBACION    { background:#e0f2fe; color:#0369a1; border:1px solid #7dd3fc; }
    .badge-EMISION_DOCUMENTOS  { background:#e0f2fe; color:#0369a1; border:1px solid #7dd3fc; }
    .badge-CARGA_DOCUMENTOS_AF { background:#faf5ff; color:#7e22ce; border:1px solid #d8b4fe; }
    .badge-VALIDACION_FIRMA    { background:#fffbeb; color:#b45309; border:1px solid #fcd34d; }
    .badge-VIGENTE             { background:#dcfce7; color:#166534; }
    .badge-EN-MORA   { background:#fef3c7; color:#92400e; }
    .badge-CANCELADO { background:#dbeafe; color:#1e40af; }
    .badge-PREPAGADO { background:#ede9fe; color:#5b21b6; }
    .badge-CASTIGADO { background:#fee2e2; color:#991b1b; }
    .badge-OTORGADO  { background:#fef9c3; color:#854d0e; border:1px solid #fde68a; }
    .badge-CURSADO   { background:#dcfce7; color:#15803d; border:1px solid #4ade80; }
    .badge-DESISTIDO { background:#fee2e2; color:#b91c1c; border:1px solid #fca5a5; }

    /* Número crédito */
    .num-cred { font-family:monospace; font-weight:700; color:var(--blue); font-size:.82rem; }

    /* Detalle panel */
    .detalle-panel {
      position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:2000;
      display:none; align-items:center; justify-content:center; padding:16px;
    }
    .detalle-panel.open { display:flex; }
    .detalle-box {
      background:#fff; border-radius:16px; width:100%; max-width:750px;
      max-height:92vh; display:flex; flex-direction:column;
      box-shadow:0 12px 48px rgba(0,0,0,.28); overflow:hidden;
    }
    .detalle-head {
      background:linear-gradient(135deg,var(--navy),var(--blue));
      color:#fff; padding:18px 22px; display:flex; align-items:flex-start; gap:12px; flex-shrink:0;
    }
    .detalle-head .dh-info { flex:1; }
    .detalle-head .dh-num  { font-size:.8rem; opacity:.75; margin-bottom:2px; }
    .detalle-head .dh-nombre { font-size:1.05rem; font-weight:800; }
    .detalle-head .dh-rut { font-size:.82rem; opacity:.8; }
    .detalle-close { background:none; border:none; color:rgba(255,255,255,.75); font-size:1.3rem; cursor:pointer; }
    .detalle-close:hover { color:#fff; }
    .detalle-body { padding:0; overflow-y:auto; flex:1; }
    .detalle-footer { padding:14px 22px; border-top:1px solid #f0f2f5; display:flex; gap:10px; justify-content:flex-end; background:#f9fafb; flex-shrink:0; }

    .ds { padding:16px 22px; border-bottom:1px solid #f0f2f5; }
    .ds:last-child { border-bottom:none; }
    .ds-title { font-size:.7rem; font-weight:800; color:var(--blue); text-transform:uppercase; letter-spacing:.08em; margin-bottom:12px; display:flex; align-items:center; gap:6px; }
    .ds-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:10px; }
    .ds-item .ds-label { font-size:.68rem; color:#9ca3af; font-weight:600; text-transform:uppercase; }
    .ds-item .ds-val   { font-size:.9rem; font-weight:700; color:#111827; margin-top:1px; }
    .ds-item .ds-val.big { font-size:1.15rem; color:var(--navy); }

    /* ── Empresa cards ── */
    .empresa-card {
      background:#fff; border-radius:14px; padding:22px 16px;
      cursor:pointer; border:2px solid #e5e7eb;
      transition:transform .18s, box-shadow .18s, border-color .18s;
      box-shadow:0 1px 4px rgba(0,0,0,.06);
      display:flex; flex-direction:column; align-items:center; justify-content:center;
      gap:10px; min-height:110px;
    }
    .empresa-card img { max-width:100%; max-height:54px; object-fit:contain; filter:grayscale(40%) opacity(.7); transition:filter .18s; }
    .empresa-card:hover { transform:translateY(-3px); box-shadow:0 10px 28px rgba(1,65,162,.14); border-color:#93c5fd; }
    .empresa-card:hover img { filter:none; }
    .empresa-card.selected { border-color:var(--navy); box-shadow:0 8px 24px rgba(1,65,162,.18); }
    .empresa-card.selected img { filter:none; }
    .empresa-check { width:20px; height:20px; border-radius:50%; border:2px solid #d1d5db; background:#fff; display:flex; align-items:center; justify-content:center; transition:all .15s; }
    .empresa-card.selected .empresa-check { background:var(--navy); border-color:var(--navy); }
    .empresa-card.selected .empresa-check::after { content:'✓'; color:#fff; font-size:.65rem; font-weight:800; }

    /* Estado edit */
    .estado-edit { display:flex; gap:8px; align-items:center; }
    .estado-edit select { flex:1; }

    /* Botones */
    .btn-guardar { background:linear-gradient(135deg,var(--blue),var(--sky)); color:#fff; border:none; border-radius:8px; padding:10px 26px; font-weight:700; font-size:.92rem; cursor:pointer; }
    .btn-guardar:hover { opacity:.9; }
    .btn-cancelar { background:#fff; color:#6b7280; border:1.5px solid #d1d5db; border-radius:8px; padding:10px 22px; font-weight:600; font-size:.9rem; cursor:pointer; }
    .btn-cancelar:hover { background:#f9fafb; }
    .btn-buscar-rut { background:var(--blue); color:#fff; border:none; border-radius:7px; padding:7px 16px; font-size:.88rem; font-weight:700; cursor:pointer; white-space:nowrap; }
    .btn-buscar-rut:hover { background:#0255c5; }
    .btn-ver-detalle { background:none; border:1.5px solid var(--blue); border-radius:6px; color:var(--blue); font-size:.7rem; font-weight:700; padding:2px 8px; cursor:pointer; white-space:nowrap; }
    .btn-ver-detalle:hover { background:#eff6ff; }

    /* Tasación / Permiso readonly */
    .veh-readonly { background:#f0f9ff; border-color:#bfdbfe; color:#1e40af; font-weight:600; }

    /* Patente validación */
    .patente-ok  { border-color:#10b981 !important; background:#f0fdf4 !important; }
    .patente-err { border-color:#dc2626 !important; background:#fef2f2 !important; }
    .patente-hint { font-size:.68rem; margin-top:2px; min-height:14px; }
    .patente-hint.ok  { color:#059669; }
    .patente-hint.err { color:#dc2626; }

    /* Dealer autocomplete */
    .dealer-wrap { position:relative; }
    .dealer-drop {
      position:absolute; top:100%; left:0; right:0; z-index:300;
      background:#fff; border:1.5px solid #93c5fd; border-radius:0 0 8px 8px;
      box-shadow:0 6px 18px rgba(0,0,0,.12); max-height:200px; overflow-y:auto;
      display:none;
    }
    .dealer-drop.open { display:block; }
    .dealer-item { padding:7px 12px; cursor:pointer; font-size:.83rem; border-bottom:1px solid #f1f5f9; }
    .dealer-item:last-child { border-bottom:none; }
    .dealer-item:hover { background:#eff6ff; }
    .dealer-item .di-name { font-weight:700; color:#1e293b; }
    .dealer-item .di-sub  { color:#6b7280; font-size:.75rem; }

    /* Parque / Calle */
    .ubic-toggle { display:flex; gap:6px; }
    .ubic-btn { flex:1; padding:6px 0; border:1.5px solid #d1d5db; border-radius:7px; font-size:.8rem; font-weight:700; cursor:pointer; text-align:center; background:#fff; color:#6b7280; transition:all .15s; }
    .ubic-btn.active-parque { border-color:#0141A2; background:#eff6ff; color:#0141A2; }
    .ubic-btn.active-calle  { border-color:#059669; background:#f0fdf4; color:#059669; }

    /* ── Botón cotizaciones ── */
    .btn-cotiz-lookup { background:#eff6ff; border:1.5px solid #93c5fd; color:#1d4ed8; border-radius:8px; padding:4px 12px; font-size:.78rem; font-weight:700; cursor:pointer; transition:background .15s; display:flex; align-items:center; gap:4px; }
    .btn-cotiz-lookup:hover:not(:disabled) { background:#dbeafe; }
    .btn-cotiz-lookup:disabled { opacity:.4; cursor:not-allowed; }

    /* ── Sub-etiquetas sección condiciones ── */
    .cred-sub-label { font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; color:var(--blue); margin:10px 0 5px; display:flex; align-items:center; }
    .field-hint { font-size:.7rem; color:#9ca3af; margin-top:2px; }

    /* ── Lista gastos operacionales ── */
    .gastos-cred-list { background:#f8fafc; border:1px solid #e2e8f0; border-radius:8px; padding:5px 12px; }
    .gc-item { display:flex; justify-content:space-between; align-items:center; padding:3px 0; font-size:.8rem; border-bottom:1px dashed #f1f5f9; }
    .gc-item:last-child { border-bottom:none; }
    .gc-label { color:#374151; display:flex; align-items:center; gap:5px; }
    .gc-val { font-weight:700; color:#1e293b; font-variant-numeric:tabular-nums; min-width:90px; text-align:right; }

    /* ── Resumen crédito ── */
    .resumen-cred { background:#fff; border:1.5px solid #e2e8f0; border-radius:12px; padding:15px 16px; }
    .rc-title { font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:#9ca3af; margin-bottom:10px; padding-bottom:7px; border-bottom:1.5px solid #e2e8f0; }
    .rc-item { display:flex; justify-content:space-between; font-size:.8rem; padding:2px 0; color:#374151; }
    .rc-item.rc-subtotal { font-weight:700; color:#1e40af; padding:4px 0; }
    .rc-item.rc-monto { font-weight:800; font-size:.88rem; color:var(--navy); padding:5px 0; }
    .rc-item.rc-bono span:first-child { color:#059669; }
    .rc-item.rc-seg { color:#6b7280; font-size:.77rem; }
    .rc-sep { border-top:1px solid #e2e8f0; margin:4px 0; }
    .rc-sep.thick { border-color:#93c5fd; border-width:1.5px; margin:6px 0; }
    .rc-cuota-box { background:linear-gradient(135deg,var(--navy),var(--blue)); border-radius:8px; padding:10px 14px; margin:10px 0; color:#fff; display:flex; justify-content:space-between; align-items:center; }
    .rc-cuota-label { font-size:.65rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; opacity:.85; }
    .rc-cuota-val { font-size:1.35rem; font-weight:900; }
    .rc-footer { background:#f8fafc; border-radius:7px; padding:7px 10px; }
    .rc-footer-item { display:flex; justify-content:space-between; font-size:.77rem; padding:2px 0; color:#6b7280; }
    .rc-footer-item.rc-total-pagar { font-weight:700; color:#374151; }

    /* ── Modal cotizaciones ── */
    .cot-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:600; align-items:center; justify-content:center; }
    .cot-overlay.open { display:flex; }
    .cot-box { background:#fff; border-radius:14px; width:min(640px,96vw); max-height:82vh; display:flex; flex-direction:column; box-shadow:0 20px 60px rgba(0,0,0,.3); overflow:hidden; }
    .cot-head { background:linear-gradient(135deg,var(--navy),var(--blue)); color:#fff; padding:14px 20px; display:flex; align-items:center; justify-content:space-between; flex-shrink:0; }
    .cot-head h6 { margin:0; font-size:.92rem; font-weight:800; }
    .cot-body { overflow-y:auto; padding:14px 18px; flex:1; }
    .cot-row { border:1.5px solid #e2e8f0; border-radius:9px; padding:10px 14px; margin-bottom:8px; cursor:pointer; transition:border-color .15s,background .15s; }
    .cot-row:hover { border-color:var(--blue); background:#eff6ff; }
    .cot-row-top { display:flex; justify-content:space-between; align-items:flex-start; }
    .cot-row-date { font-size:.8rem; font-weight:700; color:#374151; }
    .cot-row-cuota { font-size:1.1rem; font-weight:900; color:var(--navy); }
    .cot-row-meta { display:flex; gap:12px; margin-top:3px; font-size:.74rem; color:#6b7280; }
    .cot-foot { padding:11px 18px; border-top:1px solid #f0f2f5; display:flex; justify-content:flex-end; gap:8px; flex-shrink:0; background:#f9fafb; }

    /* RUT found bar */
    .rut-found { background:#f0fdf4; border:1.5px solid #6ee7b7; border-radius:8px; padding:10px 16px; font-size:.88rem; font-weight:700; color:#065f46; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
    .rut-found-nombre { display:flex; align-items:center; gap:6px; }
    .rut-found-fechas { display:flex; gap:16px; flex-wrap:wrap; align-items:center; }
    .fecha-item { display:flex; flex-direction:column; align-items:center; gap:1px; }
    .fecha-item .fi-label { color:#6b7280; font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
    .fecha-item .fi-val   { color:#047857; font-size:.75rem; font-weight:700; text-decoration:none; border-bottom:1px dotted currentColor; cursor:pointer; }
    .fecha-item a.fi-val:hover { filter:brightness(.85); }
    .fecha-item .fi-val.warn   { color:#b45309 !important; font-weight:800; }   /* >60 días — ámbar */
    .fecha-item .fi-val.danger { color:#dc2626 !important; font-weight:800; }   /* >90 días — rojo */
    .fecha-item .fi-val.stale  { color:#dc2626 !important; font-weight:800; }
    .fecha-item .fi-edit { font-size:.58rem; opacity:.6; margin-left:3px; }

    /* Toast */
    .toast-msg { position:fixed; top:68px; right:20px; z-index:9999; border-radius:10px; padding:14px 20px; font-weight:600; font-size:.9rem; color:#fff; box-shadow:0 8px 24px rgba(0,0,0,.18); display:none; }
    .toast-ok  { background:#059669; }
    .toast-err { background:#dc2626; }

    /* Resultado vacío */
    .empty-state { text-align:center; padding:48px 20px; color:#9ca3af; }

    /* ── Edit mode banner ── */
    .edit-mode-banner { display:none; background:linear-gradient(135deg,#d97706,#f59e0b); border-radius:10px; padding:10px 18px; margin-bottom:14px; color:#fff; font-weight:700; font-size:.88rem; align-items:center; gap:10px; }
    .edit-mode-banner.visible { display:flex; }
    .edit-mode-banner i { font-size:1.1rem; }
    .edit-mode-banner .emb-num { background:rgba(255,255,255,.25); border-radius:6px; padding:2px 10px; font-size:.82rem; letter-spacing:.04em; }
    .btn-guardar-edit { background:linear-gradient(135deg,#d97706,#f59e0b) !important; }

    /* ── Modal éxito grabado ──────────────────────────────── */
    .success-overlay { display:none; position:fixed; inset:0; background:rgba(15,23,42,.6); z-index:2050; align-items:center; justify-content:center; }
    .success-overlay.open { display:flex; }
    .success-box { background:#fff; border-radius:18px; width:min(480px,95vw); padding:36px 32px 28px; text-align:center; box-shadow:0 24px 64px rgba(0,0,0,.35); }
    .success-check { width:64px; height:64px; border-radius:50%; background:linear-gradient(135deg,#059669,#10b981); display:flex; align-items:center; justify-content:center; margin:0 auto 16px; font-size:2rem; color:#fff; box-shadow:0 8px 24px rgba(16,185,129,.35); }
    .success-title { font-size:1.2rem; font-weight:900; color:#0f172a; margin-bottom:6px; }
    .success-num   { font-size:1.7rem; font-weight:900; color:var(--navy); letter-spacing:.04em; margin-bottom:8px; }
    .success-estado { display:inline-block; background:#fef3c7; color:#b45309; font-size:.78rem; font-weight:800; border-radius:6px; padding:3px 12px; margin-bottom:18px; letter-spacing:.06em; text-transform:uppercase; }
    .success-btns { display:flex; flex-direction:column; gap:9px; margin-top:8px; }
    .success-btns button { border:none; border-radius:10px; padding:12px 16px; font-size:.88rem; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:8px; transition:opacity .15s; }
    .success-btns button:hover { opacity:.88; }
    .sbtn-main  { background:#f1f5f9; color:#334155; }
    .sbtn-cred  { background:linear-gradient(135deg,var(--navy),var(--blue)); color:#fff; }
    .sbtn-amort { background:linear-gradient(135deg,#7c3aed,#a78bfa); color:#fff; }

    /* ── Tabla de Amortización ───────────────────────────── */
    .amort-overlay { display:none; position:fixed; inset:0; background:rgba(15,23,42,.6); z-index:2100; align-items:center; justify-content:center; }
    .amort-overlay.open { display:flex; }
    .amort-box { background:#fff; border-radius:14px; width:min(760px,97vw); max-height:88vh; display:flex; flex-direction:column; box-shadow:0 24px 60px rgba(0,0,0,.3); overflow:hidden; }
    .amort-head { background:linear-gradient(135deg,#7c3aed,#4f46e5); color:#fff; padding:14px 20px; display:flex; align-items:center; justify-content:space-between; flex-shrink:0; }
    .amort-head h6 { margin:0; font-size:.95rem; font-weight:800; }
    .amort-summary { display:flex; gap:12px; flex-wrap:wrap; padding:12px 18px; background:#f8fafc; border-bottom:1px solid #e2e8f0; flex-shrink:0; }
    .amort-sum-item { flex:1; min-width:120px; text-align:center; }
    .amort-sum-lbl  { font-size:.62rem; font-weight:700; text-transform:uppercase; color:#64748b; letter-spacing:.06em; }
    .amort-sum-val  { font-size:.96rem; font-weight:900; color:var(--navy); }
    .amort-scroll { overflow-y:auto; flex:1; }
    .amort-table { width:100%; border-collapse:collapse; font-size:.81rem; }
    .amort-table thead th { position:sticky; top:0; background:#f1f5f9; color:#475569; font-weight:800; font-size:.73rem; text-transform:uppercase; letter-spacing:.05em; padding:8px 12px; border-bottom:2px solid #cbd5e1; }
    .amort-table tbody tr:nth-child(even) { background:#f8fafc; }
    .amort-table tbody tr:last-child td { font-weight:800; background:#ede9fe; color:#5b21b6; }
    .amort-table td { padding:7px 12px; border-bottom:1px solid #f1f5f9; color:#374151; }
    .amort-table td.td-num { color:#9ca3af; font-size:.75rem; }
    .amort-table td.td-cap { font-weight:700; color:#0f172a; }
    .amort-table td.td-int { color:#dc2626; }
    .amort-table td.td-cuota { font-weight:800; color:var(--navy); }
    .amort-table td.td-saldo { color:#64748b; }
    .amort-table tfoot td { font-weight:800; background:#ede9fe; color:#5b21b6; padding:8px 12px; border-top:2px solid #c4b5fd; }
    .amort-foot { padding:12px 18px; border-top:1px solid #e2e8f0; display:flex; justify-content:space-between; align-items:center; flex-shrink:0; background:#f9fafb; }
    /* Botón amortización en detalle */
    .amort-btn-detalle { display:flex; align-items:center; gap:8px; background:#ede9fe; border:1.5px solid #c4b5fd; color:#5b21b6; border-radius:9px; padding:9px 14px; font-size:.82rem; font-weight:700; cursor:pointer; width:100%; justify-content:center; margin-bottom:14px; transition:background .15s; }
    .amort-btn-detalle:hover { background:#ddd6fe; }
    .empty-state i { font-size:3rem; display:block; margin-bottom:12px; opacity:.4; }

    /* Stats bar */
    .stats-bar { display:flex; gap:12px; margin-bottom:18px; flex-wrap:wrap; }
    /* 2 filas: Etapas (originación) / Estados de cartera + Total */
    .stats-rows { margin-bottom:18px; }
    .stats-line { display:flex; align-items:stretch; gap:10px; margin-bottom:10px; }
    .stats-line:last-child { margin-bottom:0; }
    .stats-line-lbl { flex:0 0 62px; display:flex; align-items:center; font-size:.64rem; font-weight:800; color:#9ca3af; text-transform:uppercase; letter-spacing:.07em; }
    .stats-line .stats-bar { flex:1; margin-bottom:0; }
    .stats-line .stat-chip { max-width:210px; min-width:96px; padding:10px 12px; }
    .stats-line .stat-chip .sc-val { font-size:1.15rem; }
    .stat-total { background:#eef2f7; border-color:#e2e8f0; }   /* Total = ancla al final de cada fila */
    @media (max-width:640px){ .stats-line{flex-direction:column;gap:4px} .stats-line-lbl{flex:none} .stats-line .stat-chip{max-width:none} }
    .stat-chip { background:#fff; border-radius:10px; padding:12px 18px; flex:1; min-width:120px; box-shadow:0 1px 4px rgba(0,0,0,.07); border:2px solid transparent; transition:border-color .2s,box-shadow .2s; }
    .stat-chip:hover { box-shadow:0 3px 10px rgba(0,0,0,.13); }
    .stat-chip .sc-label { font-size:.7rem; font-weight:700; color:#9ca3af; text-transform:uppercase; letter-spacing:.06em; }
    .stat-chip .sc-val   { font-size:1.3rem; font-weight:900; color:var(--navy); margin-top:2px; }
    /* Destacado sólo cuando hay ingresados pendientes de revisión (clase .con-pendientes desde app.js) */
    .stat-revision.con-pendientes { border-color:#fca5a5; background:#fff5f5; }
    .stat-revision.con-pendientes .sc-label { color:#dc2626; }
    .stat-proceso  { border-color:#fdba74; background:#fff7ed; }
    .stat-proceso .sc-label  { color:#c2410c; }
    .stat-proceso.activo { border-color:#ea580c !important; box-shadow:0 0 0 3px #ffedd5; }
    .breadcrumb-nav { color:rgba(255,255,255,.6); font-size:.85rem; display:flex; align-items:center; gap:6px; }
    .breadcrumb-nav a { color:rgba(255,255,255,.75); text-decoration:none; }
    .breadcrumb-nav a:hover { color:#fff; }
    .breadcrumb-nav .sep { color:rgba(255,255,255,.35); }