/* ============================================================================
 * style-extras.redesign.css — Superset tokenizado de style-extras.css
 *
 * Origen: /tools/assets/css/style-extras.css (491 líneas).
 *
 * MODO: SUPERSET REEMPLAZO. Copia íntegra del original + tokenizations en
 * VALORES de propiedades existentes.
 *
 * REGLA ESTRICTA (rev 2026-05-06):
 *   No agregar propiedades nuevas. Solo cambiar VALORES de propiedades
 *   ya declaradas en el original.
 *
 * Carga: DIFERIDA. Este archivo NO se registra en class.mostrargeneral.php
 * ni en view.generalassets.php. El dev decide manualmente en qué vistas
 * montarlo.
 *
 * Tokenizations aplicadas:
 *   #14477e                          → var(--brand-deep)         (3 instancias)
 *   #fff / #FFF / #ffffff            → var(--neutral-white)      (8 instancias)
 *   font-size: 18px                  → var(--font-body-l)        (2 instancias)
 *   font-size: 12px                  → var(--font-caption)       (2 instancias)
 *   font-weight: bold                → var(--font-weight-bold)   (2 instancias)
 *   border-radius: 50px              → var(--radius-full)        (1 instancia)
 *
 * Preservados sin tokenizar (decisión consciente):
 *   #14477d  (línea 6 — POSIBLE TYPO de #14477e; preservar hasta confirmar
 *             con dev si es bug a corregir o color intencional)
 *   #1AA6FD  (línea 103 — POSIBLE TYPO de #1AA5FC; preservar idem)
 *   #809ab8, #ef5350, #10cfbd, #eef5f9, #EEF4FB  (utilities secundarios)
 *   Paletas gradient (.background-gradient-*):
 *     #78c89e/#7dc6dd (green)   · #eb5653/#da6086 (red)
 *     #fcb140/#f19357 (orange)  · #bccaca/#bfbbbc (gray)
 *     #275f90 (segundo stop del blue gradient — preservar)
 *     #df40fc/#b740fc (purple)  · #5bf4ce/#14697e (aqua)
 *     #40d2fc/#5774f1 (sky)     · #ac538c/#662d91 (wine)
 *     #0091c8/#6457c8 (navy)
 *   Color helpers .color-*: #78c89e, #eb5653, #fcb140, #bccaca, #4044fc,
 *     #b740fc, #14697e, #5774f1, #662d91, #6457c8 (paleta secundaria)
 *   #48da96 (.btn-action / .text-action / .background-action — action green,
 *     usado consistentemente 7 veces)
 *   #c3c3c3, #455a64, #777, #444, #111 (grises legacy)
 *   font-size: 10px, 11px, 15px, 0.6rem, 0.75rem, 0.8rem (fuera de escala)
 *   border-radius: 10px (calza cerca de --radius-lg 12px pero no exacto),
 *   border-radius: 40px (fuera de escala)
 *   Box-shadows rgba(...) y animaciones @keyframes loaderpoints
 * ============================================================================ */

.switch label input[type="checkbox"]:checked+.lever.switch-col-primary {
	background-color: #809ab8;
}

.switch label input[type="checkbox"]:checked+.lever.switch-col-primary:after {
	background-color: #14477d;
	left: 24px;
}

.animated-constant {
  animation-iteration-count: infinite;
}

.help-block ul li {
  list-style: none;
  font-size: 11px;
}

.form-group.error input, .form-group.error select, .form-group.error textarea, .form-group.error [type="checkbox"].filled-in:not(:checked)+label:after, .form-group.error .nice-select  {
  /* border: none;
  border-bottom: 1px solid #ef5350 !important; */
  border: 1px solid #ef5350 !important;
}

.form-group.validate input, .form-group.validate select, .form-group.validate textarea {
  /* border: none;
  border-bottom: 1px solid #10cfbd !important; */
  border: 1px solid #10cfbd !important;
}

.page-wrapper {
    background: #eef5f9;
    padding-bottom: 0px;
}

.form-group.error .help-block ul {
  margin-top: 0 !important;
  margin-bottom: -10px;
}

.shadow-custom { box-shadow: 0 15px 30px 0 rgba(0,0,0,0.11), 0 5px 15px 0 rgba(0,0,0,0.08) !important; }

.border-primary {border: 1px solid var(--brand-deep) !important;}
.background-transparent {background: transparent !important;}

.background-blue-light {background: #EEF4FB !important;}
.background-gradient-green { background: linear-gradient(to left, #78c89e, #7dc6dd) !important; }
.background-gradient-red { background: linear-gradient(to left, #eb5653, #da6086) !important; }
.background-gradient-orange { background: linear-gradient(to left, #fcb140, #f19357) !important; }
.background-gradient-gray { background: linear-gradient(to left, #bccaca, #bfbbbc) !important; }
.background-gradient-blue { background: linear-gradient(to left, var(--brand-deep), #275f90) !important; }
.background-gradient-purple { background: linear-gradient(to left, #df40fc, #b740fc) !important; }
.background-gradient-aqua { background: linear-gradient(to left, #5bf4ce, #14697e) !important; }
.background-gradient-sky { background: linear-gradient(to left, #40d2fc, #5774f1) !important; }
.background-gradient-wine { background: linear-gradient(to left, #ac538c, #662d91) !important; }
.background-gradient-navy { background: linear-gradient(to left, #0091c8, #6457c8) !important; }

.background-gradient-searching { background: var(--brand-deep) !important; }

.color-green { color: #78c89e !important; }
.color-red { color: #eb5653 !important; }
.color-orange { color: #fcb140 !important; }
.color-gray { color: #bccaca !important; }
.color-blue { color: #4044fc !important; }
.color-purple { color: #b740fc !important; }
.color-aqua { color: #14697e !important; }
.color-sky { color: #5774f1 !important; }
.color-wine { color: #662d91 !important; }
.color-navy { color: #6457c8 !important; }

.btn-action,
.btn-action.disabled {
    color: var(--neutral-white);
    background: #48da96;
    border: 1px solid #48da96;
    box-shadow: 0 2px 2px 0 rgba(40, 190, 189, 0.14), 0 3px 1px -2px rgba(40, 190, 189, 0.2), 0 1px 5px 0 rgba(40, 190, 189, 0.12);
    transition: 0.2s ease-in;
}

.btn-action.disabled:hover,
.btn-action:hover {
    background: #48da96;
    box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2);
    border: 1px solid #48da96;
}

.text-action {
  color: #48da96;
}

.background-action {
  color: var(--neutral-white);
  background: #48da96;
}

.btn-md {
  width: 30px !important;
  height: 30px !important;
}

.btn-show-reports {
  color: var(--neutral-white);
  background: #1AA6FD !important;
}

.btn-shadow-blue {
  box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2);
}

.fs-18 {
  font-size: var(--font-body-l) !important;
}

.small-label {
  margin-top: calc(5%);
}

h6.small-label {
  font-size: 0.75rem;
  font-weight: var(--font-weight-bold);
  margin-bottom: 5px;
}

#ultimas_campanias_container {
  padding-left: calc(3%);
  padding-right: calc(3%);
}

.segment-image-config {
  width: calc(50%);
}

#total_de_creditos_menu {
  display: none;
}

#animated-area {
  margin-left: 1px;
  margin-right: 1px;
}

#contact-sms {
  font-size: var(--font-body-l);
  margin-right: calc(1%);
}

.head-centered {
  text-align: center;
  justify-content: center;
  align-items: center;
}

@media only screen and (max-width: 1000px) {
  .m-t-10-p {
    margin-top: calc(10%);
  }
}

@media only screen and (max-width: 760px) {
  .m-b-20-p {
    margin-bottom: 20% !important;
  }
  .left-aside {
    height: auto;
  }
  .m-t-5-p {
    margin-top: calc(5%);
  }
}

@media only screen and (max-width: 650px) {
  .nav-pills {
    font-size: 11px !important;
  }
  .paddigRight1 {
    margin-top: calc(1%);
    margin-bottom: calc(1%);
  }
  .segment-image-config {
    width: calc(75%);
  }
  #mensaje_pago_spei_pendiente {
    font-size: var(--font-caption) !important;
  }
  #tblDatos {
    font-size: 10px;
  }
  #tblDatos table {
    border-collapse: collapse;
  }
  #tblDatos td {
    padding: 1px;
    text-align: center;
    justify-content: center;
    align-items: center;
  }
  #tblDatos th {
    padding: 1px;
    text-align: center;
    justify-content: center;
    align-items: center;
  }
  #enviar_mensajes button {
    margin: 3px !important;
  }
  .card-calendar-custom {
    padding-left: 0rem !important;
    padding-right: 0rem !important;
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  #tabla_campanias td {
    font-size: 10px !important;
  }
  #tabla_campanias td span {
    font-size: 10px !important;
  }
  #animated-area {
    margin-left: 0px !important;
    margin-right: 0px !important;
  }
  #contact-sms {
    font-size: 15px;
  }
  #title_support {
    display: none;
  }
  .advertenciaSoporte {
    margin-inline-start: 10px !important;
    margin-inline-end: 10px !important;
  }
}

@media only screen and (max-width: 575px) {
  #contentSelectTags {
    display: inherit !important;
  }
}

@media only screen and (max-width: 400px) {
  .btn {
    padding: 7px 12px;
    font-size: 0.75rem;
  }
  .btn-lg {
    padding: 0.75rem 0.75rem;
    font-size: 0.75rem;
  }
  .alert {
    font-size: 0.75rem;
  }
  .text-primary {
    font-size: 1rem;
  }
  .m-t-10-p {
    margin-top: calc(20%);
  }
  .m-t-5-p {
    margin-top: calc(10%);
  }
  .segment-image-config {
    width: calc(85%);
  }
  #total_de_creditos_menu {
    display: inherit;
  }
  #total_de_creditos_header {
    display: none;
  }
  label {
    font-size: 0.75rem;
  }
  #tblDatos {
    font-size: 10px;
  }
  #tblDatos table {
    border-collapse: collapse;
  }
  #tblDatos td {
    padding: 1px;
    text-align: center;
    justify-content: center;
    align-items: center;
  }
  #tblDatos th {
    padding: 1px;
    text-align: center;
    justify-content: center;
    align-items: center;
  }
  .inline-flex-display {
    display: inline-flex;
    margin-left: calc(-3%);
  }
  .inline-flex-display a {
    margin-left: 1px !important;
    margin-right: 1px !important;
  }
  .inline-flex-display-step3 {
    display: inline-flex;
  }
  .tab-content {
    min-height: auto !important;
  }
  .wizard-footer button {
    margin: 2px !important;
  }
  #generar_apikey {
    right: 15px !important;
    top: 65px !important;
  }
  #copiar_apikey {
    right: 9.2rem !important;
    top: 65px !important;
  }
}

.biolink-preview {
  margin: 0 auto;
  height: auto;
  width: auto;
  display: inline-block;
  text-align: left;
  border-radius: 50px;
  padding: 10px;
  background: -webkit-linear-gradient(45deg, #444, #111);
  background: -o-linear-gradient(45deg, #444, #111);
  background: linear-gradient(45deg, #444, #111);
  -webkit-transform: translate(0);
  -ms-transform: translate(0);
  transform: translate(0);
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
  transform-origin: top center;
  -webkit-box-shadow: 0 10px 33px rgba(0, 0, 0, .35);
  box-shadow: 0 10px 33px rgba(0, 0, 0, .35);
  border: 5px solid #777;
}

.biolink-preview .iframe-wrap {
  overflow: hidden;
  background: var(--neutral-white);
  width: 250px;
  height: 500px;
  border-radius: 40px;
  padding: 20px;
}

/* BOTÓN MORADO */
.btn-morado {
  background: #6457c8;
  color: var(--neutral-white);
}
.btn-purpura {
  background: #ac538c;
  color: var(--neutral-white);
}

/* ATTACHED_IMAGE */
.grid-item {
  background: #eef5f9;
  padding: 12px;
  padding-bottom: 0px;
}

.grid-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.scroll-image {
  height: 750px;
  overflow-y: scroll;
}

.img-unsplash {
  height: 150px;
  margin: auto;
  margin-top: 10px;
  object-fit: contain;
  width: 150px;
}

.btn-useimage {
  border-radius: 0px;
  font-size: var(--font-caption);
  outline: none !important;
}
/* ATTACHED_IMAGE */

.btnTypeLogin {
  font-size: 1rem;
}

#mdlTypeLoginAdmin .modal-dialog {
  display: flex;
  align-items: center;
  min-height: calc(100% - (0.5rem * 2));
}

.smallLetter {
  font-size: .6rem;
}

b, strong {
  font-weight: var(--font-weight-bold) !important;
}

.iframe-short-video {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  max-width: 320px!important;
  aspect-ratio: 9 / 16 !important;
}

.text-dark-light {
  color: #c3c3c3;
}

.loader-points {
  color: var(--neutral-white);
  width: .5rem;
  aspect-ratio: 1;
  border-radius: 50%;
  box-shadow: 19px 0 0 5px, 38px 0 0 1px, 57px 0 0 1px;
  transform: translateX(-38px);
  animation: loaderpoints .5s infinite alternate linear;
  display: inline-grid;
}

.loader-points-black {
  color: #455a64;
  width: .5rem;
  aspect-ratio: 1;
  border-radius: 50%;
  box-shadow: 19px 0 0 5px, 38px 0 0 1px, 57px 0 0 1px;
  transform: translateX(-38px);
  animation: loaderpoints .5s infinite alternate linear;
  display: inline-grid;
}

.loader-points-black-sm {
  color: #455a64;
  width: .3rem;
  aspect-ratio: 1;
  border-radius: 50%;
  box-shadow: 26px 0 0 2.5px, 38px 0 0 0, 50px 0 0 0;
  transform: translateX(-38px);
  animation: loaderpoints .5s infinite alternate linear;
  display: inline-grid;
}

@keyframes loaderpoints {
  50%  {box-shadow: 19px 0 0 1px, 38px 0 0 5px, 57px 0 0 1px}
  100% {box-shadow: 19px 0 0 1px, 38px 0 0 1px, 57px 0 0 5px}
}

.loader-points-sm {
  color: var(--neutral-white);
  width: .3rem;
  aspect-ratio: 1;
  border-radius: 50%;
  box-shadow: 26px 0 0 2.5px, 38px 0 0 0, 50px 0 0 0;
  transform: translateX(-38px);
  animation: loaderpointssm .5s infinite alternate linear;
  display: inline-grid;
}

@keyframes loaderpointssm {
  50%  {box-shadow: 26px 0 0 0, 38px 0 0 2.5px, 50px 0 0 0}
  100% {box-shadow: 26px 0 0 0, 38px 0 0 0, 50px 0 0 2.5px}
}

.min-width-100 {
  min-width: 100px;
}

.min-width-30 {
  min-width: 30px;
}

.min-width-50 {
  min-height: 20px;
  min-width: 50px;
}

.btn {
  border-radius: 10px;
}
