/*!
  COTIZADORES.ONLINE
  © 2026 Jorge Iván Alvarado Gómez (Iván Gómez)
  Versión: v5.4.0
  Todos los derechos reservados.
*/
/* ============================================================================
 * tema-senal.css — REDISEÑO "Señal" (Ola 1: login + catálogo + cotización).
 *
 * Capa aditiva que se carga de ÚLTIMO: remapea los tokens de color a la nueva
 * identidad (índigo eléctrico + papel cálido + superficies planas, alto
 * contraste tipo señalética) y aplana el look "teal + vidrio" anterior.
 * NO toca lógica, IDs, clases funcionales ni JS. Reversible quitando el <link>.
 *
 * Paleta Señal:
 *   accent  #4F46E5  (índigo)      accent-deep #4338CA   accent-ink #312E81
 *   ink     #17181D  (barras)      text #15171C          muted #6B7280
 *   paper   #FFFFFF  (tarjetas)    canvas #F5F5F1 (papel cálido)  line #E7E7E2
 * ==========================================================================*/

/* ------------------------------ 1) Tokens --------------------------------- */
:root {
  --att:        #4F46E5;            /* acento primario (antes teal) */
  --att-deep:   #4338CA;
  --att-navy:   #1E1B4B;
  --teal-bright:#6366F1;
  --teal-dark:  #1E1B4B;
  --teal-800:   #312E81;
  --glow:       rgba(79, 70, 229, .30);

  --ink:        #15171C;
  --ink-2:      #272A33;
  --muted:      #5F6673;
  --muted-2:    #9AA1AD;
  --line:       #E7E7E2;
  --line-2:     rgba(21, 23, 28, .07);
  --canvas:     #F4F4F5;            /* gris neutro muy claro (sin temperatura; combina con índigo) */
  --paper:      #FFFFFF;

  /* Aplanar el vidrio: superficies sólidas, sin blur ni translucidez */
  --glass:        #FFFFFF;
  --glass-2:      #FFFFFF;
  --glass-strong: #FFFFFF;
  --glass-border: #E7E7E2;
  --glass-line:   #E7E7E2;
  --sheen:        transparent;
  --blur:   0px;  --blur-s: 0px;  --blur-l: 0px;

  --shadow:        0 1px 2px rgba(21,23,28,.04), 0 10px 24px -16px rgba(21,23,28,.22);
  --shadow-h:      0 2px 6px rgba(21,23,28,.07), 0 22px 48px -22px rgba(21,23,28,.30);
  --shadow-sticky: 0 1px 3px rgba(21,23,28,.06), 0 26px 60px -26px rgba(21,23,28,.32);
}

/* Fondo de página: papel cálido plano (sin degradado teal) */
body {
  background: var(--canvas) !important;
}

/* ------------------------- 2) Barra superior ------------------------------ */
.top {
  background: #17181D !important;
  border-bottom: 1px solid #23252C !important;
  color: #fff !important;
  box-shadow: none !important;
}
.top::after { display: none !important; }
/* Línea cian y acento del logo que quedaban del tema AT&T (barra plana Señal). */
.top::before { display: none !important; }
.brand-lockup::before { display: none !important; }
.top .brand-lockup__mark {
  background: transparent !important; box-shadow: none !important; padding: 0 !important;
}
.top .brand-lockup__txt strong { color: #fff !important; }
.top .brand-lockup__txt small { color: rgba(255,255,255,.62) !important; }
.top__meta, .top__meta b, .top__meta strong, .top__meta small { color: rgba(255,255,255,.72) !important; }

/* Acciones en píldora: primaria índigo, secundaria vidrio claro */
.top .top-action--primary { background: #4F46E5 !important; color: #fff !important; border-color: #4F46E5 !important; }
.top .top-action--primary:hover { filter: brightness(1.06); }
.top .top-action:not(.top-action--primary) { background: rgba(255,255,255,.10) !important; color: #fff !important; border-color: rgba(255,255,255,.22) !important; }
.top .top-action:not(.top-action--primary):hover { background: rgba(255,255,255,.18) !important; }

/* Pestañas de navegación (texto blanco; activa = índigo) */
.top .tab, .tabs .tab { color: rgba(255,255,255,.7) !important; }
.top .tab[aria-selected="true"], .tabs .tab[aria-selected="true"],
.top .tab.is-active, .tabs .tab.is-active {
  color: #fff !important; background: rgba(79,70,229,.90) !important; border-radius: 999px !important;
}

/* ------------------------- 3) Barra lateral ------------------------------- */
.side-nav { background: #17181D !important; border-right: 1px solid #23252C !important; }
.side-brand__simple-mark img { background: transparent !important; box-shadow: none !important; }
.side-nav .tab { color: rgba(255,255,255,.72) !important; }
.side-nav .tab[aria-selected="true"], .side-nav .tab.is-active {
  background: rgba(79,70,229,.90) !important; color: #fff !important;
}

/* ---------------------- 4) Catálogo: toolbar + búsqueda ------------------- */
.toolbar-card {
  background: #FFFFFF !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
  border: 1px solid var(--line) !important; border-radius: 16px !important;
  box-shadow: var(--shadow) !important;
}
.search input {
  background: #FFFFFF !important; border: 1px solid #DCDCD5 !important; border-radius: 12px !important;
  box-shadow: none !important;
}
.search input:focus { border-color: #4F46E5 !important; box-shadow: 0 0 0 3px rgba(79,70,229,.18) !important; }

/* ---------------------------- 5) Tarjetas -------------------------------- */
.card {
  background: #FFFFFF !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
  border: 1px solid var(--line) !important; border-radius: 16px !important;
  box-shadow: var(--shadow) !important;
}
.card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, #4F46E5 45%, var(--line)) !important;
  box-shadow: var(--shadow-h), 0 18px 40px -26px var(--glow) !important;
}
.device-media {
  background: #F0F0F2 !important;
}

/* CTAs del catálogo: Cotizar = índigo sólido; Consultar/Ficha = secundarios planos */
.cta-row .card-cta, .card-cta {
  background: #4F46E5 !important; color: #fff !important;
  border: 0 !important; border-radius: 12px !important; font-weight: 700 !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
  box-shadow: 0 8px 18px -12px rgba(79,70,229,.8) !important;
}
.card:hover .cta-row .card-cta, .card:hover .card-cta { filter: brightness(1.05); box-shadow: 0 12px 26px -12px rgba(79,70,229,.9) !important; }
.cta-info .card-consultar, .card-consultar {
  background: #EEEDFB !important; color: #312E81 !important;
  border: 1px solid #D9D6F6 !important; border-radius: 12px !important; font-weight: 600 !important;
  box-shadow: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
}
.cta-info .card-consultar:hover, .card-consultar:hover { background: #E3E0F8 !important; transform: none; }

/* ------------------------ 6) Detalle / cotización ------------------------- */
.hoja { background: var(--canvas) !important; }
.eq-cabeza, .hoja__top {
  background: #17181D !important; box-shadow: none !important; border: 0 !important;
}

/* --------------------------- 7) Ficha técnica ----------------------------- */
/* Remapea los tokens de la ficha para que acompañe a la nueva identidad */
.card-ficha, .fg-act, .ficha-card, .fte-card, .fcp-card, .fcp-pick-card, .ft-cat__ic, .fte-cat__ic {
  --ft-brand: #4F46E5; --ft-brand-strong: #4338CA; --ft-navy: #1E1B4B;
}
.card-ficha {
  background: #EEEDFB !important; color: #312E81 !important;
  border: 1px solid #D9D6F6 !important; border-radius: 12px !important;
}
.card-ficha:hover { background: #E3E0F8 !important; box-shadow: none !important; }

/* --------------------------- 8) Login (Señal) ----------------------------- */
.auth-gate {
  background:
    radial-gradient(130% 80% at 88% -12%, rgba(79,70,229,.30), transparent 55%),
    linear-gradient(160deg, #191A20 0%, #14151A 55%, #101117 100%) !important;
}
.auth-btn {
  background: #4F46E5 !important; box-shadow: 0 14px 30px -14px rgba(79,70,229,.85) !important;
}
.auth-btn:hover { filter: brightness(1.06); box-shadow: 0 18px 36px -14px rgba(79,70,229,1) !important; }
.auth-logo { background: transparent !important; box-shadow: none !important; border: 0 !important; }
.auth-gate::before { background: linear-gradient(90deg, #6366F1, #4F46E5 55%, rgba(79,70,229,0) 92%) !important; }
.auth-gate::after { border-color: rgba(255,255,255,.14) !important; box-shadow: 0 0 0 42px rgba(255,255,255,.04), 0 0 0 88px rgba(255,255,255,.03), 0 0 0 136px rgba(255,255,255,.02) !important; }
.auth-field:focus-within { border-color: #6366F1 !important; box-shadow: 0 0 0 3px rgba(99,102,241,.25) !important; }
.auth-field:focus-within svg { color: #C7C9F7 !important; }

/* ---------------- 9) Detalle: pasos, plazo e íconos (índigo) -------------- */
/* Número de paso (círculo "1"/"2") */
.paso__n { background: #4F46E5 !important; color: #fff !important; }

/* Segmentos seleccionados (plazo "24 meses", pago inicial): índigo sólido plano */
.seg button[aria-pressed="true"], .seg--multi button[aria-pressed="true"] {
  background: #4F46E5 !important; color: #fff !important;
  border: 0 !important; border-radius: 999px !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
  text-shadow: none !important;
  box-shadow: 0 8px 16px -10px rgba(79,70,229,.8), inset 0 1px 0 rgba(255,255,255,.25) !important;
}

/* Íconos del encabezado del equipo (ver / ajustes) */
.plan-tool { color: #4F46E5 !important; border-color: #D9D6F6 !important; background: #FFFFFF !important; }
.plan-tool:hover { background: #EEEDFB !important; }

/* --------------------------- 10) Panel admin ----------------------------- */
.admin-top { background: #17181D !important; box-shadow: none !important; }
.admin-tabs button.is-active { color: #4F46E5 !important; }
.abtn--primary, .auth-chip__panel, .sol-filtros button.is-active {
  background: #4F46E5 !important; color: #fff !important; border: 0 !important;
  box-shadow: 0 8px 18px -12px rgba(79,70,229,.8) !important;
}
.abtn--primary:hover, .auth-chip__panel:hover { filter: brightness(1.06); }
.admin-modal__card h3 { color: #312E81 !important; }
.admin-field input:focus, .admin-field select:focus, #u-buscar:focus {
  border-color: #4F46E5 !important; box-shadow: 0 0 0 3px rgba(79,70,229,.16) !important;
}
.admin-modal__actions .abtn:not(.abtn--primary):not(.abtn--danger) {
  background: rgba(79,70,229,.07) !important; border-color: #D9D6F6 !important; color: #4338CA !important;
}
/* Barras de estadística / rankings */
.bars .bar i, .rank .row .track > i { background: #4F46E5 !important; }
/* Usuarios: grupos, píldoras, avatares, contadores */
.admin-tabla tr.u-grupo td { border-bottom-color: #4F46E5 !important; }
.u-grupo__btn { background: linear-gradient(90deg, rgba(79,70,229,.10), rgba(79,70,229,0) 70%) !important; }
.u-grupo__btn:hover { background: linear-gradient(90deg, rgba(79,70,229,.18), rgba(79,70,229,.02) 75%) !important; }
.u-grupo__chev { border-color: #4F46E5 !important; }
.u-grupo__nombre { color: #1E1B4B !important; }
.u-grupo__n, .u-count { color: #4338CA !important; background: rgba(79,70,229,.12) !important; }
.pill--admin { background: rgba(79,70,229,.14) !important; color: #4338CA !important; }
.pill--vend { background: rgba(100,116,139,.14) !important; color: #475569 !important; }
.u-avatar { background: #4F46E5 !important; }
.u-avatar--admin { background: #312E81 !important; }
.users-hero__pend-ico { color: #4F46E5 !important; }
/* Gestor de fichas (admin): chips de filtro Todas/Completas/… */
.fg-chip b { color: #4338CA !important; }
.fg-chip.is-active { background: #4F46E5 !important; border-color: #4F46E5 !important; color: #fff !important; }
.fg-chip.is-active b { color: #fff !important; }

/* Banner "Faltan fotos": se conserva ámbar (aviso); su píldora de acción a índigo */
.fotos-pendientes span { background: #4F46E5 !important; }

/* ---- Modales .admin-modal (Mi perfil, cambio de contraseña forzado, Ayuda/soporte) ----
   Comparten .admin-modal__card; traían vidrio + degradado teal. Se aplanan a Señal. */
.admin-modal__card {
  background: #FFFFFF !important;
  border: 1px solid var(--line, #E7E7E2) !important;
  box-shadow: 0 30px 70px -24px rgba(21, 23, 28, .45) !important;
}
.admin-modal__card::before { background: #4F46E5 !important; }   /* filo superior índigo plano */
.admin-modal__card h3 {
  background-image: none !important;
  -webkit-text-fill-color: #312E81 !important; color: #312E81 !important;
}
.admin-modal .abtn--primary {
  background: #4F46E5 !important;
  box-shadow: 0 10px 22px -12px rgba(79, 70, 229, .8) !important;
}
.admin-modal .abtn--primary:hover { filter: brightness(1.06); }
.admin-modal__actions .abtn:not(.abtn--primary):not(.abtn--danger) {
  background: #EEEDFB !important; border: 1px solid #D9D6F6 !important; color: #312E81 !important;
}
.admin-field input:focus, .admin-field textarea:focus, .admin-field select:focus {
  border-color: #4F46E5 !important; box-shadow: 0 0 0 3px rgba(79, 70, 229, .16) !important;
}

/* Anillo de foco global en índigo */
:focus-visible { outline-color: #4F46E5 !important; }

/* ============================================================================
 * 11) UNIFICACIÓN INTEGRAL "SEÑAL" (Paneles Admin/Gerencia, Estadísticas,
 *     Fichas Técnicas, Comparador, Consultar Precios, Mi Perfil y Recibo).
 *     100% visual (CSS), sin alterar lógica ni funciones existentes.
 * ==========================================================================*/

/* --- A. Panel de Administración y Panel de Gerencia (superficies planas) --- */
.admin-panel {
  background: var(--canvas, #F4F4F5) !important;
  color: var(--ink, #15171C) !important;
}
.admin-top {
  background: #17181D !important;
  border-bottom: 1px solid #23252C !important;
  box-shadow: none !important;
  padding: 12px 24px !important;
}
.admin-brand {
  color: #FFFFFF !important;
  font-size: 16px !important;
  letter-spacing: -.01em;
}
.admin-brand img {
  background: transparent !important;
  padding: 0 !important;
  width: 32px !important;
  height: 32px !important;
}
.admin-tabs {
  gap: 4px !important;
}
.admin-tabs button {
  border-radius: 9px !important;
  padding: 8px 14px !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, .70) !important;
  background: transparent !important;
  transition: background .14s ease, color .14s ease !important;
}
.admin-tabs button:hover {
  background: rgba(255, 255, 255, .08) !important;
  color: #FFFFFF !important;
}
.admin-tabs button.is-active {
  background: #4F46E5 !important;
  color: #FFFFFF !important;
  box-shadow: 0 6px 16px -8px rgba(79, 70, 229, .8) !important;
}
.admin-close {
  border-radius: 10px !important;
  padding: 8px 14px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  background: rgba(255, 255, 255, .08) !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  color: #FFFFFF !important;
  transition: background .14s ease, border-color .14s ease !important;
}
.admin-close:hover {
  background: rgba(255, 255, 255, .15) !important;
  border-color: rgba(255, 255, 255, .30) !important;
}
#admin-gerencia.admin-close {
  background: rgba(79, 70, 229, .20) !important;
  border-color: rgba(129, 140, 248, .45) !important;
  color: #C7D2FE !important;
}
#admin-gerencia.admin-close:hover {
  background: rgba(79, 70, 229, .34) !important;
  color: #FFFFFF !important;
}
.ger-suc-wrap select {
  background: #23252C !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255, 255, 255, .20) !important;
  border-radius: 9px !important;
  padding: 6px 12px !important;
  font-weight: 600 !important;
}
.ger-suc-wrap select:focus {
  outline: none !important;
  border-color: #818CF8 !important;
}

/* Tarjetas de métricas (.stat-card) y bloques (.admin-card / .glass) */
.stat-card,
.admin-card,
.admin-panel .glass {
  background: #FFFFFF !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  border: 1px solid var(--line, #E7E7E2) !important;
  box-shadow: var(--shadow) !important;
}
.stat-card {
  border-radius: 14px !important;
  padding: 15px 16px !important;
  position: relative;
  overflow: hidden;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.stat-card:hover {
  transform: translateY(-1px);
  border-color: #D9D6F6 !important;
  box-shadow: var(--shadow-h) !important;
}
.stat-card .n {
  color: #15171C !important;
  font-size: 24px !important;
  letter-spacing: -.025em !important;
}
.stat-card .l {
  color: #5F6673 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  margin-top: 4px !important;
}
.stat-card.online .n { color: #15803D !important; }
.stat-card.alert .n { color: #DC2626 !important; }

.admin-card {
  border-radius: 16px !important;
  padding: 20px 22px !important;
}
.admin-card h3 {
  color: #15171C !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: -.01em;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  padding-bottom: 10px;
  border-bottom: 1px solid #F0F0EC;
  margin-bottom: 14px !important;
}

/* Sub-navegación del tablero (General / Sucursales / Ejecutivos / Uso) */
.seg-tablero {
  background: #FFFFFF !important;
  border: 1px solid var(--line, #E7E7E2) !important;
  border-radius: 12px !important;
  padding: 4px !important;
  box-shadow: 0 1px 2px rgba(21, 23, 28, .04) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
.seg-tablero button {
  color: #5F6673 !important;
  border-radius: 9px !important;
  padding: 8px 16px !important;
  font-weight: 600 !important;
}
.seg-tablero button:hover {
  color: #15171C !important;
  background: #F4F4F5 !important;
}
.seg-tablero button.is-active {
  background: #4F46E5 !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 12px -4px rgba(79, 70, 229, .65) !important;
}

/* Barra de filtros del tablero (Hoy / 7 días / 30 días / Todo, fechas, grano) */
.tb-filtros {
  background: #FFFFFF;
  border: 1px solid var(--line, #E7E7E2);
  border-radius: 14px;
  padding: 10px 14px;
  box-shadow: 0 1px 2px rgba(21, 23, 28, .03);
}
.tb-filtros .sol-filtros {
  margin-bottom: 0 !important;
}
.sol-filtros button {
  border-radius: 9px !important;
  padding: 6px 12px !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  border: 1px solid var(--line, #E7E7E2) !important;
  background: #FAFAFC !important;
  color: #5F6673 !important;
  transition: all .12s ease;
}
.sol-filtros button:hover {
  border-color: #C7C5F5 !important;
  color: #312E81 !important;
  background: #F3F2FE !important;
}
.tb-fechas input[type="date"] {
  border: 1px solid var(--line, #E7E7E2) !important;
  border-radius: 9px !important;
  padding: 5px 10px !important;
  font-weight: 500;
  color: #15171C !important;
}
.tb-fechas input[type="date"]:focus {
  outline: none !important;
  border-color: #4F46E5 !important;
  box-shadow: 0 0 0 3px rgba(79, 70, 229, .14) !important;
}

/* Gráficas de barras (.bars) y barras de ranking (.rank) más ejecutivas */
.bars {
  height: 164px !important;
  gap: 8px !important;
  padding: 12px 6px 4px !important;
  background: #FAFAFC;
  border: 1px solid #F0F0EC;
  border-radius: 12px;
}
.bars .bar i {
  max-width: 38px !important;
  border-radius: 7px 7px 3px 3px !important;
  background: linear-gradient(180deg, #6366F1 0%, #4F46E5 100%) !important;
  box-shadow: 0 4px 10px -4px rgba(79, 70, 229, .45);
  transition: filter .15s ease, transform .15s ease;
}
.bars .bar:hover i {
  filter: brightness(1.08);
}
.bars .bar b {
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: #15171C !important;
}
.bars .bar span {
  font-size: 10.5px !important;
  font-weight: 500 !important;
  color: #5F6673 !important;
}
.rank {
  gap: 11px !important;
}
.rank .row {
  gap: 6px 10px !important;
}
.rank .row .name {
  font-weight: 600 !important;
  color: #15171C !important;
}
.rank .row .n {
  font-weight: 700 !important;
  color: #312E81 !important;
  background: #EEEDFB;
  padding: 1px 8px;
  border-radius: 999px;
  font-size: 12px;
}
.rank .row .track {
  height: 8px !important;
  background: #EFEFF3 !important;
}
.rank .row .track > i {
  background: linear-gradient(90deg, #4F46E5, #6366F1) !important;
}

/* Presencia en vivo ("En línea ahora") y tabla de usuarios */
.users-hero__label {
  color: #5F6673 !important;
}
.users-hero__label b {
  color: #312E81 !important;
  background: #EEEDFB !important;
}
.u-chip {
  background: #FAFAFC !important;
  border: 1px solid var(--line, #E7E7E2) !important;
  box-shadow: 0 1px 2px rgba(21, 23, 28, .04) !important;
}
.u-chip__txt b { color: #15171C !important; }
.u-chip__txt small { color: #5F6673 !important; }
.users-hero__pend {
  background: #FAFAFC !important;
  border: 1px solid var(--line, #E7E7E2) !important;
  color: #15171C !important;
  box-shadow: none !important;
}
.users-hero__pend:hover {
  border-color: #C7C5F5 !important;
  background: #F3F2FE !important;
}
.admin-tabla th {
  color: #5F6673 !important;
  font-weight: 700 !important;
  background: #FAFAFC;
  border-bottom: 1px solid var(--line, #E7E7E2) !important;
}
.admin-tabla tbody tr:hover td {
  background: rgba(79, 70, 229, .035);
}
.abtn {
  border-radius: 9px !important;
  font-weight: 600 !important;
  transition: all .12s ease;
}
.abtn:not(.abtn--primary):not(.abtn--danger):hover {
  border-color: #4F46E5 !important;
  color: #4F46E5 !important;
  background: #F3F2FE !important;
}

/* --- B. Ficha Técnica, Editor y Comparador de Equipos (100% Señal) --- */
:root {
  --ft-brand: #4F46E5 !important;
  --ft-brand-strong: #4338CA !important;
  --ft-navy: #1E1B4B !important;
  --ft-glass: #FFFFFF !important;
  --ft-text: #15171C !important;
  --ft-text-2: #5F6673 !important;
  --ft-text-3: #8B93A1 !important;
  --ft-border: #E7E7E2 !important;
  --ft-surface-2: #F6F6F8 !important;
}
.ficha-backdrop,
.fte-backdrop,
.fcp-backdrop {
  background: rgba(15, 17, 23, .55) !important;
}
.ficha-card,
.fte-card,
.fcp-card,
.fcp-pick-card {
  background: #FFFFFF !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  border: 1px solid #E7E7E2 !important;
  box-shadow: 0 30px 70px -20px rgba(15, 17, 23, .45) !important;
}
.ficha-card--v2::before {
  background: #4F46E5 !important;
}
.ft-btn--primary,
.fg-act:not(.fg-act--ghost) {
  background: #4F46E5 !important;
  color: #FFFFFF !important;
  border-color: #4F46E5 !important;
  box-shadow: 0 8px 18px -10px rgba(79, 70, 229, .75) !important;
}
.ft-btn--primary:hover,
.fg-act:not(.fg-act--ghost):hover {
  filter: brightness(1.06);
}
.ft-btn--admin,
.fg-act--ghost {
  background: #EEEDFB !important;
  border: 1px solid #D9D6F6 !important;
  color: #312E81 !important;
}
.ft-btn--admin:hover,
.fg-act--ghost:hover {
  background: #E3E0F8 !important;
}
.fk-adm {
  background: #312E81 !important;
}
.ft-cat__ic,
.fte-cat__ic {
  background: #EEEDFB !important;
  color: #4F46E5 !important;
}
.fcp-fchip[aria-pressed="true"] {
  background: #4F46E5 !important;
  border-color: #4F46E5 !important;
  color: #FFFFFF !important;
}
.fcp-dev.is-on {
  border-color: #4F46E5 !important;
  box-shadow: 0 0 0 3px rgba(79, 70, 229, .16) !important;
}
.fcp-dev.is-on .fcp-check {
  background: #4F46E5 !important;
  color: #FFFFFF !important;
}
.fcp-slot.filled {
  border-color: #4F46E5 !important;
  background: #FAFAFC !important;
}
.fcp-slot__x {
  background: #312E81 !important;
}
.fcp-cat__row th {
  background: #EEEDFB !important;
  color: #312E81 !important;
}
.fcp-table thead th,
.fg-table th {
  background: #F6F6F8 !important;
  color: #5F6673 !important;
}
.ft-toast {
  background: #17181D !important;
  box-shadow: 0 16px 40px rgba(15, 17, 23, .45) !important;
}

/* --- C. Popup "Consultar precios" (.cp-modal) alineado a Señal --- */
.cp-backdrop {
  background: rgba(15, 17, 23, .55) !important;
}
.cp-card {
  background: #FFFFFF !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  border: 1px solid #E7E7E2 !important;
  box-shadow: 0 30px 70px -20px rgba(15, 17, 23, .45) !important;
}
.cp-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: #4F46E5;
  z-index: 4;
}
.cp-head {
  background: #FAFAFC !important;
  border-bottom: 1px solid #E7E7E2 !important;
}
.cp-photo {
  background: #F4F4F5 !important;
  border: 1px solid #E7E7E2 !important;
  box-shadow: none !important;
}
.cp-brand {
  color: #4F46E5 !important;
  font-weight: 700 !important;
}
.cp-model,
.cp-contado b,
.cp-td-plan {
  color: #15171C !important;
}
.cp-contado small,
.cp-table th,
.cp-note {
  color: #5F6673 !important;
}
.cp-chip {
  background: #FFFFFF !important;
  border: 1px solid #E7E7E2 !important;
  color: #272A33 !important;
}
.cp-close {
  background: #F0F0F3 !important;
  border: 0 !important;
  color: #5F6673 !important;
}
.cp-close:hover {
  background: #E4E4E9 !important;
  color: #15171C !important;
}
.cp-table th {
  background: #FFFFFF !important;
  border-bottom: 1px solid #E7E7E2;
}
.cp-table td {
  background: #FAFAFC !important;
  border-color: #EFEFF3 !important;
}
.cp-table tr:hover td {
  background: #F3F2FE !important;
}
.cp-inc {
  color: #4F46E5 !important;
}
.cp-note {
  background: #FAFAFC !important;
  border-top: 1px solid #E7E7E2 !important;
}

/* --- D. Modal "Mi perfil" (credencial limpia del ejecutivo) y Candado de red --- */
#perfil-modal .perfil-datos {
  background: #F6F6F9;
  border: 1px solid #E7E7E2;
  border-radius: 12px;
  padding: 12px 14px !important;
  margin-bottom: 14px !important;
  gap: 10px 16px !important;
}
#perfil-modal .perfil-datos span {
  color: #6B7280 !important;
  font-weight: 600;
  font-size: 10px !important;
}
#perfil-modal .perfil-datos b {
  color: #15171C !important;
  font-weight: 700;
  font-size: 13px !important;
}
.net-lock__card {
  background: #FFFFFF !important;
  border: 1px solid #E7E7E2 !important;
  color: #15171C !important;
}
.net-lock__card h3 { color: #1E1B4B !important; }
.net-lock__spin { border-top-color: #4F46E5 !important; }
.net-lock__btn {
  background: #4F46E5 !important;
  box-shadow: 0 10px 22px -10px rgba(79, 70, 229, .8) !important;
}

/* --- E. Resumen de Cotización (recibo más claro y jerárquico) --- */
.resumen {
  border-radius: 14px !important;
  border: 1px solid #E2E2DC !important;
  overflow: hidden;
}
.total {
  background: linear-gradient(135deg, #1E1B4B 0%, #312E81 100%) !important;
  color: #FFFFFF !important;
  padding: 14px 16px !important;
}
.total b {
  font-size: 28px !important;
  letter-spacing: -.02em;
}

/* --- F. Firma de propiedad (© Iván Gómez · v5.4.0) debajo del logo y en insignia --- */
.top .brand-lockup__txt small {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, .52) !important;
  margin-top: 2px !important;
  letter-spacing: .01em;
}
.top .brand-lockup__txt small b {
  color: #A5B4FC !important;
  font-weight: 600 !important;
}

.firma {
  display: none !important;
}


