.cbp-dark{
  --bg:transparent;
  --panel:#0f1a2e;
  --panel-2:#0b1424;
  --fg:#e8eef9;
  --muted:#9aa7bf;
  --bd:#223047;
  --brand:#8BC34A;
  --brand-h:#7FB242;
  --brand-d:#5a822c;
  --link:#a7c8ff;
  --shadow:0 8px 28px rgba(1,8,20,.28);
  --shadow-2:0 14px 42px rgba(1,8,20,.38);
  --btn-fs:14px;
  --btn-pad-y:8px;
  --btn-pad-x:12px;
  --btn-radius:9px;
  --btn-mini-fs:12px;
  --btn-mini-pad-y:6px;
  --btn-mini-pad-x:10px;
  color:var(--fg);
}
.cbp-wrap{
  padding:16px;
  border-radius:16px;
  position:relative;
  overflow:visible;
}
.cbp-card{
  background:linear-gradient(180deg,rgba(255,255,255,.02),transparent),var(--panel);
  border:1px solid var(--bd);
  border-radius:14px;
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}
.cbp-form{padding:14px;margin-bottom:18px}
.cbp-form-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr) auto;
  gap:10px;
  align-items:center;
}
.cbp-field input,
.cbp-search input{
  width:100%;
  padding:12px 14px;
  border-radius:10px;
  border:1px solid var(--bd);
  background:var(--panel-2)!important;
  color:var(--fg)!important;
  caret-color:var(--brand);
  outline:none;
  transition:
    border-color .22s ease,
    box-shadow .22s ease,
    background-color .22s ease,
    color .22s ease;
}
.cbp-field input::placeholder,
.cbp-search input::placeholder{color:rgba(154,167,191,.85)}
.cbp-field input:focus,
.cbp-field input:active,
.cbp-field input:focus-visible,
.cbp-search input:focus,
.cbp-search input:active,
.cbp-search input:focus-visible{
  background:var(--panel-2)!important;
  color:var(--fg)!important;
  border-color:var(--brand-h)!important;
  box-shadow:0 0 0 4px rgba(139,195,74,.22)!important;
}
.cbp-actions{display:flex;justify-content:flex-end}
.cbp-btn,
.cbp-primary,
.cbp-votar{
  font-size:var(--btn-fs);
  padding:var(--btn-pad-y) var(--btn-pad-x);
  border-radius:var(--btn-radius);
  border:1px solid var(--brand);
  color:#0e1409;
  cursor:pointer;
  font-weight:600;
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--brand) 92%, #000 8%),
      color-mix(in srgb, var(--brand) 82%, #000 18%)
    );
  transition:
    background .22s ease,
    border-color .22s ease,
    box-shadow .22s ease,
    transform .06s ease,
    filter .2s ease,
    color .3s ease;
}
.cbp-btn:hover,
.cbp-primary:hover,
.cbp-votar:hover{
  transform:translateY(-1px);
  box-shadow:var(--shadow-2);
  border-color:var(--brand-h);
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--brand-h) 94%, #000 6%),
      color-mix(in srgb, var(--brand-h) 84%, #000 16%)
    );
}
.cbp-btn:active,
.cbp-primary:active,
.cbp-votar:active{transform:translateY(0);filter:saturate(.96)}
.cbp-btn:focus-visible,
.cbp-primary:focus-visible,
.cbp-votar:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(139,195,74,.24), var(--shadow-2);
}
.cbp-btn[disabled],
.cbp-votar[disabled]{opacity:.8!important;cursor:pointer;}
.cbp-votar.is-checked{
  border-color:var(--brand-d);
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--brand-d) 96%, #000 4%),
      color-mix(in srgb, var(--brand-d) 88%, #000 12%)
    );
  color:#0e1409;
}
.cbp-votar-mini{
  font-size:var(--btn-mini-fs);
  padding:var(--btn-mini-pad-y) var(--btn-mini-pad-x);
  border-radius:8px;
  border:1px solid var(--brand);
  color:#0e1409;
  cursor:pointer;
  font-weight:700;
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--brand) 92%, #000 8%),
      color-mix(in srgb, var(--brand) 82%, #000 18%)
    );
  transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,transform .06s ease;
}
.cbp-votar-mini:hover{
  transform:translateY(-1px);
  box-shadow:var(--shadow);
  border-color:var(--brand-h);
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--brand-h) 94%, #000 6%),
      color-mix(in srgb, var(--brand-h) 84%, #000 16%)
    );
}
.cbp-votar-mini.is-checked{
  border-color:var(--brand-d);
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--brand-d) 96%, #000 4%),
      color-mix(in srgb, var(--brand-d) 88%, #000 12%)
    );
}
.cbp-votar-mini[disabled]{opacity:.6;cursor:not-allowed}
.cbp-heading{text-align:center;margin:60px 0}
.cbp-heading h2{
  margin:0;
  font-weight:900;
  font-size:28px;
  letter-spacing:-.02em;
  color:var(--muted);
}
.cbp-heading h2 span{color:var(--brand)}
.cbp-heading p{margin:.35rem 0 0;color:var(--muted)}
.cbp-toolbar{
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  margin:8px 0 10px;
}
.cbp-top{color:#cdd6ea;font-weight:800}
.cbp-search input{background:#0c1628}
.cbp-table-wrap{overflow:visible;position:relative}
.cbp-table{width:100%;border-collapse:separate;border-spacing:0}
.cbp-table thead th{
  background:#0d1930;
  color:#dfe6f9;
  text-align:left;
  padding:12px 10px;
  font-size:14px;
  border-bottom:1px solid var(--bd);
}
.cbp-table th,
.cbp-table td{vertical-align:middle}
#cbp-tbody tr:nth-child(odd)>td{background:#0e182a!important;color:#e9eefb}
#cbp-tbody tr:nth-child(even)>td{background:#0b1424!important;color:#e9eefb}
#cbp-tbody tr:hover>td{background:#121e35!important}
.cbp-table tbody td{padding:12px 10px;border-bottom:1px solid #1a2740}
.col-idx{width:56px;color:#9fb0cc;text-align:center;font-weight:700}
.col-votos{width:90px;font-weight:900}
.col-accion{width:110px;text-align:right;position:relative}
.col-curso .cbp-name{
  font-weight:500;
  display:inline-block;
  max-width:clamp(240px,42vw,560px);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  vertical-align:middle;
  color:#fff;
  transition: color 0.3s ease;
}
.col-curso .cbp-name:hover{color:var(--brand-h)}
.col-autor{
  max-width:clamp(160px,22vw,320px);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#dfe6f7;
}
.cbp-link{color:var(--link);text-underline-offset:3px;margin-left:8px}
.cbp-link:hover{color:#d3e3ff}
.cbp-badge--done{background:#10b981!important;color:#fff!important;border-color:#0ea5a3!important}
.cbp-badge-a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:8px;
  padding:3px 10px;
  border-radius:999px;
  cursor:pointer;
  font-size:12px;
  font-weight:800;
  background:#9bf9be;
  color:#666;
  border:1px solid var(--brand);
}
.cbp-badge-m{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:3px 10px;
  border-radius:999px;
  cursor:pointer;
  font-size:12px;
  font-weight:600;
  background:#9bf9be;
  color:#666;
  border:1px solid var(--brand);
}
.cbp-pager{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:10px;
  border-top:1px solid var(--bd);
}
.cbp-page{
  padding:7px 11px;
  border-radius:8px;
  border:1px solid var(--brand);
  background:#111a2a;
  color:#e8eef9;
  cursor:pointer;
  font-weight:700;
  transition:
    background-color .22s ease,
    border-color .22s ease,
    box-shadow .22s ease,
    transform .06s ease;
}
.cbp-page:hover{transform:translateY(-1px);background:#162338;border-color:var(--brand-h);box-shadow:var(--shadow)}
.cbp-page:active{transform:translateY(0)}
.cbp-page[disabled]{opacity:.55;cursor:not-allowed;pointer-events:auto}
.cbp-page-info{color:#aeb8cc;font-weight:800}
.cbp-tip{
  position:fixed;
  top:0;
  left:0;
  transform:translate(-9999px,-9999px);
  background:#0a1324;
  color:#eef3ff;
  padding:8px 16px;
  border-radius:50px;
  border:1px solid #1c2a44;
  font-size:12px;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 12px 32px rgba(2,6,23,.45);
  z-index:9;
  pointer-events:none;
  opacity:0;
  transition:opacity .14s ease;
}
.cbp-tip.show{opacity:1}
.cbp-tip::before,
.cbp-tip::after,
.cbp-tip[data-pos="bottom"]::after{
  content:none!important;
  display:none!important;
}
.hp{display:none!important}
@media (max-width:920px){
  .cbp-form-grid{grid-template-columns:1fr}
  .cbp-toolbar{flex-direction:column;align-items:stretch;gap:10px}
  .cbp-search input{width:100%;max-width:none}
  .col-autor{min-width:180px}
}
.cbp-votos-chip{
  display:inline-block;
  padding:.25rem .6rem;
  border-radius:999px;
  font-size:.85rem;
  line-height:1.1;
  font-weight:600;
  border:1px solid rgba(0,0,0,.12);
  background:rgba(0,0,0,.04);
  color:#111827;
  user-select:none;
  white-space:nowrap;
  text-align:center;
}
.mt-6 .cbp-votos-chip{margin-right:.5rem;vertical-align:middle}
.mt-6 .cbp-btn.cbp-votar-mini{vertical-align:middle}
.cbp-btn.cbp-votar-mini{
  font-size:.85rem;
  line-height:1;
  padding:.45rem .8rem;
  border-radius:.6rem;
  transition:
    background-color .15s ease,
    color .15s ease,
    border-color .15s ease,
    box-shadow .15s ease,
    transform .15s ease;
}
.cbp-btn.cbp-votar-mini:not(.is-checked):not([disabled]){
  background:transparent;
  color:#2563eb;
  border:1px solid rgba(37,99,235,.65);
  cursor:pointer;
}
.cbp-btn.cbp-votar-mini:not(.is-checked):not([disabled]):hover{
  background:rgba(37,99,235,.08);
  border-color:#2563eb;
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(0,0,0,.08);
}
.cbp-btn.cbp-votar-mini:not(.is-checked):not([disabled]):active{
  transform:translateY(0);
  box-shadow:0 3px 10px rgba(0,0,0,.06);
}
.cbp-btn.cbp-votar-mini:not(.is-checked):not([disabled]):focus-visible{
  outline:2px solid #2563eb;
  outline-offset:2px;
  box-shadow:0 0 0 3px rgba(37,99,235,.25);
}
.cbp-btn.cbp-votar-mini.is-checked{
  border:1px solid #16a34a;
  background:#16a34a;
  color:#fff;
}
.cbp-btn.cbp-votar-mini.is-checked[disabled]{
  opacity:1;
  cursor:pointer;
  box-shadow:none;
  transform:none;
}
.cbp-btn.cbp-votar-mini[disabled]:not(.is-checked){
  opacity:.6;
  cursor:not-allowed;
  background:rgba(0,0,0,.04);
  border:1px solid rgba(0,0,0,.12);
  color:#6b7280;
  box-shadow:none;
  transform:none;
}
.cbp-table-wrap{
  position:relative;
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
}
.cbp-table{
  width:100%;
  min-width:760px;
  border-collapse:separate;
  border-spacing:0;
}
.cbp-table th,
.cbp-table td{
  white-space:nowrap;
  padding:10px 12px;
}
.cbp-table .col-curso .cbp-name{
  white-space:normal;
  overflow-wrap:anywhere;
}
.cbp-table .col-idx{width:48px;text-align:center}
.cbp-table .col-votos{width:90px;text-align:center}
.cbp-table .col-accion{width:140px;text-align:right}
.card-header{padding:10px}
.header-cards{display:flex;align-items:center;justify-content:space-between}
.actividad-reciente{
  margin-top:30px;
  background-color:#fff;
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  word-wrap:break-word;
  border-radius:10px;
  box-shadow:0 4px 8px rgba(0,0,0,0.1);
}
.actividad-reciente .card-header{box-shadow:0 2px 4px -2px rgba(0,0,0,0.15)}
.user-timeline-requests{
  position:relative;
  list-style:none;
  overflow:auto;
  height:500px;
  padding-right:1rem;
  padding-left:1rem;
}
.usuario-solicitud,
.usuario-saludo{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:1.5rem;
  position:relative;
  margin-left:1rem;
  margin-top:1rem;
}
.cbp-mt-1{display:flex;gap:10px}
.cbp-mt-3{display:flex;align-items:center;gap:10px}
.cbp-mt-4{display:flex;justify-content:space-between;align-items: center;}
.cbp-mt-6{display:flex;flex-direction:column;justify-content:center;gap:10px}
.cbp-mt-5{display:flex;flex-direction:column;justify-content:center;}
.cbp-mt-5.is-bought{flex-direction: row;align-items: center;flex-wrap: wrap;gap:10px;}
#solicitar-form form,
#tiket-form form{margin:0}
#formulario-solicitud,
#formulario-tiket{display:flex;flex-direction:column;gap:15px}
h2.rfs-6{font-size:18px;font-weight:600;line-height:1.2}
@media (min-width:992px){.col-cb-3{flex:0 0 auto;width:100%}}
.usuario-solicitud .avatar-32,
.usuario-saludo .avatar-32{
  height:32px;
  max-width:100%;
  display:block;
  border-radius:8px;
}
.usuario-solicitud::before,
.usuario-saludo::before{
  content:"";
  width:50%;
  height:1px;
  opacity:9;
  position:absolute;
  top:1rem;
  left:-50%;
  border:dashed 1px #e2e2e2;
}
.animate_hello{display:inline-block}
.text-muted{opacity:1;color:#6c757d;font-size:.75rem}
.cfs-6{font-size:.9rem;padding:0;margin:0}
.link-info{color:#3498db;font-weight:600}
#usuarios-saludaron{
  display:flex;
  align-items:center;
  padding:10px;
  background-color:#32cd3247;
}
.cfs-5{
  font-size:.75rem!important;
  margin:0!important;
  font-weight:600!important;
  color:#000!important;
  margin-left:.2rem!important;
}
.avatar_hello .photo{border-radius:50%;margin-right:4px;background-color:#fff;border:solid 2px #fff}
.saludo-comunidad-btn{
  color:#3498db;
  background-color:#f0f9ff;
  border:solid 1px #3498db;
  padding:.15rem .55rem;
  border-radius:20px;
  font-size:14px;
  font-weight:400;
}
.saludo-comunidad-btn:hover{color:#3498db;background-color:#f0f9ff;border:solid 1px #3498db}
.saludo-comunidad-btn{display:flex;align-items:center}
.saludo-comunidad-btn img{margin-right:5px}
.submit-btn-wrapper{display:flex;justify-content:center}
.ff-el-form-control{
  background-clip:padding-box;
  background-color:#fff!important;
  border:1px solid #ccc!important;
  border-radius:5px!important;
  color:#606266!important;
  display:block;
  font-family:-apple-system,"system-ui",Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;
  line-height:1;
  margin-bottom:0;
  max-width:100%;
  padding:11px 15px!important;
  transition:border-color .15s ease-in-out, box-shadow .15s ease-in-out;
  width:100%!important;
}
#formulario-tiket .custom-select:hover{cursor:pointer}
.custom-select{appearance:none}
.custom-select::-ms-expand{display:none}
#enviar-tiket-btn,
#solicitar-btn{
  background-color:#96e746;
  color:#ffffff;
  border:1px solid transparent;
  border-radius:8px;
  cursor:pointer;
  display:inline-block;
  font-size:16px;
  font-weight:600;
  line-height:1.5;
  padding:8px 20px;
  position:relative;
  text-align:center;
  transition:
    background-color .15s ease-in-out,
    border-color .15s ease-in-out,
    box-shadow .15s ease-in-out;
  -webkit-user-select:none;
  -moz-user-select:none;
  user-select:none;
  vertical-align:middle;
  white-space:nowrap;
}
.solicitar-producto-container{
  display:flex;
  flex-direction:column;
  gap:20px;
  padding:1.5rem;
  background-color:#fff;
  border-radius:10px;
  box-shadow:0 4px 8px rgba(0,0,0,0.1);
}
.saludar-comunidad-container{
  background-color:#fff;
  border-radius:10px;
  box-shadow:0 4px 8px rgba(0,0,0,0.1);
}
#usuarios-saludaron{
  border-bottom-right-radius:10px;
  border-bottom-left-radius:10px;
}
@keyframes blink{0%,50%,100%{opacity:1}25%,75%{opacity:0}}
.blinking-dot{
  width:12px;
  height:12px;
  background-color:#32cd32;
  border-radius:50%;
  animation:blink 1.5s infinite;
  margin-right:5px;
}
.spinner-grow{display:flex;align-items:center;font-size:1rem;font-weight:700;line-height:1.2}
.msg-users{font-size:15px;line-height:20px;font-weight:400;color:#757575;text-align:center;margin-bottom:0}
.tabs-contact-cb{display:flex;align-items:center;gap:15px}
.tabcontent{display:none}
.ff_submit_btn{text-align:right}
.ff-el-form-control:focus{outline:none}
.fw-first-name{
  font-family:"Google Sans","Roboto";
  font-weight:400;
  font-size:22px;
  line-height:28px;
  letter-spacing:normal;
  margin-bottom:20px;
}
.mensaje-automatico{
  display:flex;
  align-items:center;
  gap:.5rem;
  height:30px;
  margin-bottom:1.5rem;
  border-left:1px dashed #e2e2e2;
  margin-top:.5rem;
  padding-left:.25rem;
  padding-top:1rem;
}
.hello_img{
  max-width:17px!important;
  height:auto!important;
  border:none;
  border-radius:0;
  box-shadow:none;
}
.animate_hello{
  animation-name:rotate-animation;
  animation-duration:1s;
  animation-iteration-count:infinite;
  animation-timing-function:linear;
  transform-origin:center center;
  display:inline-block;
}
@keyframes rotate-animation{
  0%,100%{transform:rotate(0)}
  25%,75%{transform:rotate(15deg)}
  50%{transform:rotate(0)}
}
.mensaje-automatico .admin-avatar img{height:32px;width:43px;border-radius:8px}
.level-user{display:flex;justify-content:center}
.level-name{justify-content:center;display:flex;font-weight:600}
.level-user-container{margin:20px 0}
@media screen and (min-width:1200px){
  .actividad-reciente ::-webkit-scrollbar-thumb{
    background-color:#f8fafd!important;
    -webkit-box-shadow:inset 0 0 6px rgba(0,0,0,0.5)!important;
  }
}
.link-info{display:flex;align-items:center}
.animate_hello{margin-right:5px}
.menu-saludos-solicitudes {
  display: flex; gap: 8px; align-items: center;
}
.tabs-contact-cb button,.menu-saludos-solicitudes button {
  appearance: none;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  color: #0f172a;
  padding: 8px 12px;
  border-radius: 10px;
  font-weight: 600;
  line-height: 1;
  transition: background .2s, border-color .2s, color .2s, box-shadow .2s;
}
.tabs-contact-cb button:hover,.menu-saludos-solicitudes button:hover { background: #f1f5f9; color: #0f172a; }
.tabs-contact-cb button.active,.menu-saludos-solicitudes button.active {
  background: #0f172a;
  color: #fff;
  border-color: #0f172a;
  box-shadow: 0 4px 10px rgba(2,6,23,.12);
}
.tabs-contact-cb button:focus-visible,.menu-saludos-solicitudes button:focus-visible {
  outline: 3px solid #60a5fa; outline-offset: 2px;
}
.cliente-info{
  background-color:#ffffff;
  color:#333;
  padding:20px;
  border-radius:10px;
  margin-bottom:30px;
  text-align:center;
  box-shadow:0 4px 8px rgba(0,0,0,0.1);
  font-family:'Arial', sans-serif;
}
.name-first{font-weight:bold}
.felicidades{color:#121f3d;font-size:18px}
.cliente-info-inicial{
  background-color:#ffffff;
  color:#333;
  padding:20px;
  border-radius:10px;
  margin-bottom:30px;
  text-align:center;
  box-shadow:0 4px 8px rgba(0,0,0,0.1);
  font-family:'Arial', sans-serif;
}
.cliente-inicial{color:#121f3d;font-size:20px}
.descuento-actual{font-weight:bold;color:#FF6347}
.vip-message{
  background-color:#FFD700;
  color:#333;
  padding:10px;
  margin-top:10px;
  border-radius:5px;
  font-size:14px;
}
.sigue-gastando{font-size:14px;margin-top:10px;color:#008080}
.sigue-gastando-cbp{font-size:14px;color:#008080}
.user-rol{color:#121f3d;font-size:14px;font-weight:600}
.avatar_hello img{height:28px!important;width:28px!important}
.fecha-actualizacion{color:#666;font-size:14px}
.footer{
  display:flex;
  justify-content:center;
  text-align:center;
  background-color:#121F3D;
  color:#fff;
  border-top:1px solid #dee2e6;
}
.footer-container{
  max-width:100%;
  padding:10px 20px;
  display:flex;
  align-items:center;
  gap:20px;
}
.footer-section{display:flex;flex-direction:column;gap:5px}
.footer-section h3{margin:0;color:#fff;font-size:22px;font-weight:600}
.grid-recs{margin-top:28px}
.grid-recs__heading{margin:0 0 12px;font-size:1.5rem!important;font-weight:600!important}
.grid-recs__grid{display:grid;gap:20px}
@media (min-width:1025px){
  .grid-recs__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.card-recs{
  display:flex;
  gap:10px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:14px;
  box-shadow:0 1px 3px rgba(0,0,0,.04);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.card-recs:hover{
  transform:translateY(-2px);
  border-color:#d1d5db;
  box-shadow:0 6px 16px rgba(0,0,0,.08);
}
@media (max-width:1024px){.card-recs{grid-template-columns:1fr}}
.card-recs__media{max-width:90px;height:auto;object-fit:cover;display:block}
.card-recs__img--ph{background:#f3f4f6;border:1px dashed #e5e7eb}
.card-recs__body{display:flex;flex-direction:column;justify-content:center;gap:6px}
.card-recs__title{margin:0;font-size:1rem;line-height:1.35;font-weight:600}
.card-recs__title a{text-decoration:none;color:inherit;font-weight:600}
.card-recs__title a:hover{text-decoration:underline}
.card-recs__date{font-size:.9rem;color:#6b7280}
.grid-recs__footer{margin-top:16px;text-align:center}
.grid-recs__link{font-weight:600;text-decoration:none}
.grid-recs__link:hover{text-decoration:underline}