/* RIVO_UNIFICADO_ESTABLE_V1.1 — CSS liviano.
   No modifica iconos originales de minimizar/expandir. */
.rivo-amort-fully-collapsed { display: none !important; }
.rivo-print-currency-block { display: none; }
.rivo-lite-menu { position: fixed; right: 14px; bottom: 18px; z-index: 60; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; pointer-events: none; }
.rivo-lite-toggle, .rivo-lite-actions button { pointer-events: auto; border: 1px solid rgba(51,65,85,.9); background: rgba(2,6,23,.94); color: #e5e7eb; box-shadow: 0 10px 28px rgba(0,0,0,.32); }
.rivo-lite-toggle { width: 44px; height: 44px; border-radius: 999px; font-size: 24px; line-height: 1; display: grid; place-items: center; }
.rivo-lite-actions { display: none; flex-direction: column; gap: 8px; }
.rivo-lite-menu.is-open .rivo-lite-actions { display: flex; }
.rivo-lite-actions button { min-width: 124px; height: 38px; border-radius: 999px; padding: 0 12px; display: flex; align-items: center; gap: 8px; justify-content: flex-start; font-size: 12px; font-weight: 800; }
.rivo-lite-actions button.is-dirty { border-color: rgba(16,185,129,.9); color: #a7f3d0; }
.rivo-lite-panel { position: fixed; right: 14px; bottom: 76px; z-index: 59; width: min(380px, calc(100vw - 28px)); max-height: min(620px, calc(100dvh - 108px)); overflow: auto; background: rgba(15,23,42,.98); border: 1px solid rgba(51,65,85,.9); border-radius: 18px; box-shadow: 0 18px 44px rgba(0,0,0,.42); color: #e5e7eb; padding: 12px; }
.rivo-lite-panel.hidden { display: none !important; }
.rivo-lite-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.rivo-lite-panel-head strong { color: #34d399; text-transform: uppercase; font-size: 12px; letter-spacing: .04em; }
.rivo-lite-panel-head button { width: 32px; height: 32px; border-radius: 999px; background: #020617; border: 1px solid #334155; color: #cbd5e1; }
.rivo-lite-empty { padding: 18px 10px; text-align: center; color: #94a3b8; font-size: 12px; }
.rivo-lite-sim-list { display: grid; gap: 8px; padding-bottom: 12px; }
.rivo-lite-sim-card { display: flex; align-items: center; gap: 10px; border: 1px solid #334155; background: rgba(2,6,23,.82); border-radius: 14px; padding: 10px; cursor: pointer; }
.rivo-lite-sim-card.is-selected { border-color: #10b981; box-shadow: inset 0 0 0 1px rgba(16,185,129,.25); }
.rivo-lite-sim-check { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rivo-lite-sim-dot { width: 18px; height: 18px; border-radius: 999px; border: 2px solid #64748b; flex: 0 0 auto; }
.rivo-lite-sim-card.is-selected .rivo-lite-sim-dot { border-color: #10b981; background: radial-gradient(circle at center, #10b981 0 45%, transparent 48%); }
.rivo-lite-sim-main { min-width: 0; display: grid; gap: 2px; }
.rivo-lite-sim-main strong { font-size: 12px; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rivo-lite-sim-main small { font-size: 10px; color: #94a3b8; }
.rivo-lite-bottom-row { position: sticky; bottom: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; background: rgba(15,23,42,.98); padding-top: 8px; }
.rivo-lite-bottom-row button, .rivo-lite-select-all, .rivo-lite-profile button { border: 1px solid #334155; background: #020617; color: #e5e7eb; border-radius: 10px; height: 36px; font-size: 11px; font-weight: 800; }
.rivo-lite-bottom-row button:disabled, .rivo-lite-profile button:disabled { opacity: .4; cursor: not-allowed; }
.rivo-lite-select-all { width: 100%; margin: 4px 0 8px; }
.rivo-lite-select-all.hidden { display: none !important; }
.rivo-lite-notice { min-height: 18px; margin-top: 8px; font-size: 11px; color: #a7f3d0; text-align: center; }
.rivo-lite-notice[data-type="error"] { color: #fca5a5; }
.rivo-lite-profile { display: grid; gap: 9px; }
.rivo-lite-profile img { width: 72px; height: 72px; border-radius: 999px; object-fit: cover; margin: 0 auto 4px; border: 2px solid #334155; }
.rivo-lite-profile label { display: grid; gap: 4px; font-size: 11px; color: #94a3b8; }
.rivo-lite-profile input { width: 100%; background: #020617; color: #fff; border: 1px solid #334155; border-radius: 10px; padding: 9px 10px; font-size: 13px; }
@media (max-width: 640px) {
  .rivo-lite-menu { right: 10px; bottom: 12px; }
  .rivo-lite-actions button { width: 42px; min-width: 42px; height: 42px; justify-content: center; padding: 0; border-radius: 999px; }
  .rivo-lite-actions button em { display: none; }
  .rivo-lite-panel { right: 8px; bottom: 64px; width: calc(100vw - 16px); max-height: calc(100dvh - 82px); }
  .rivo-lite-bottom-row button { font-size: 10px; }
}
@media print {
  .rivo-lite-menu, .rivo-lite-panel, .rivo-section-min-btn, button[title*="Minimizar"], button[onclick*="toggleSeccion"], button[onclick*="toggleGastosAdquisicion"], button[onclick*="toggleAmortizacionChart"], button[onclick*="toggleTablaAmortizacion"] { display: none !important; }
  .rivo-print-currency-block { display: flex !important; align-items: center; justify-content: center; gap: 10px; width: 80%; margin: 0 auto 8px; padding: 7px 10px; border: 1px solid #94a3b8; border-radius: 12px; background: #f8fafc !important; color: #0f172a !important; font-family: Arial, sans-serif; }
  .rivo-print-currency-title { font-weight: 900; font-size: 11px; color: #047857 !important; letter-spacing: .06em; }
  .rivo-print-currency-switch { display: inline-flex; border: 1px solid #cbd5e1; border-radius: 999px; overflow: hidden; font-size: 10px; font-weight: 900; }
  .rivo-print-currency-switch span { padding: 4px 9px; background: #e5e7eb !important; color: #64748b !important; }
  .rivo-print-currency-switch span.active { background: #10b981 !important; color: #fff !important; }
  .rivo-print-tc { font-size: 11px; font-weight: 800; color: #334155 !important; }
}
.rivo-auth-notice { position: relative; overflow: hidden; }
body.auth-checking .rivo-auth-notice::after { content: ''; position: absolute; left: 0; bottom: 0; height: 3px; width: 100%; background: linear-gradient(90deg, rgba(226,232,240,.35), rgba(16,185,129,.92)); transform-origin: left center; animation: rivoAuthOnce 2.8s ease-out 1 both; }
@keyframes rivoAuthOnce { from { transform: scaleX(.04); opacity: .65; } to { transform: scaleX(1); opacity: 1; } }

/* V1.1: selección robusta de simulaciones guardadas */
.rivo-lite-sim-card { user-select: none; -webkit-tap-highlight-color: transparent; }
.rivo-lite-sim-card.is-selected .rivo-lite-sim-main strong { color: #a7f3d0; }

/* V1.7 Perfil: carga de foto desde galería/fototeca */
.rivo-lite-photo-box { display: grid; justify-items: center; gap: 7px; margin-bottom: 4px; }
.rivo-lite-profile .rivo-lite-photo-box img { width: 76px; height: 76px; border-radius: 999px; object-fit: cover; margin: 0; border: 2px solid #10b981; background: #020617; }
.rivo-lite-photo-btn { width: auto !important; min-width: 132px; height: 34px !important; padding: 0 14px; border-radius: 999px !important; border: 1px solid rgba(16,185,129,.65) !important; background: rgba(16,185,129,.12) !important; color: #a7f3d0 !important; font-size: 11px !important; font-weight: 900 !important; }
.rivo-lite-photo-box small { max-width: 260px; text-align: center; color: #94a3b8; font-size: 10px; line-height: 1.35; }
@media (max-width: 640px) {
  .rivo-lite-photo-btn { min-width: 42px; width: auto !important; padding: 0 12px !important; }
}
