:root{
  --bg:#f8fafc;--card:#fff;--ink:#0f172a;--muted:#64748b;--border:#e2e8f0;
  --brand:#0ea5e9;--ok:#059669;--danger:#ef4444;--warn:#f59e0b;
}
*{box-sizing:border-box;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
html,body{height:100%;margin:0;background:var(--bg);color:var(--ink)}
header{position:sticky;top:0;z-index:20;background:var(--card);border-bottom:1px solid var(--border);display:flex;gap:.65rem;align-items:center;padding:.75rem .85rem}
.wrap{max-width:1200px;margin:0 auto;padding:1rem}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:1rem}
.row{display:flex;gap:.6rem;flex-wrap:wrap}
.grow{flex:1}
input,button,select,textarea{font:inherit}
/* Campos de formulario (sin afectar checkboxes/radios) */
/* Global: vuelve al estilo original (esto deja los Interruptores como estaban) */
input,select,textarea{
  width:100%;
  padding:.6rem .7rem;
  border:1px solid var(--border);
  border-radius:10px;
  background:#fff;
}
/* RESEÑAS: checkbox en línea SOLO dentro de Reseñas */
#rvPendingOnlyBox input[type="checkbox"],
#rvPendingToggle  input[type="checkbox"],
#rvRulesBox       input[type="checkbox"]{
  width:auto;
  height:auto;
  vertical-align:middle;
  flex:0 0 auto;
}
textarea{min-height:120px}
button{border:1px solid var(--border);background:#fff;padding:.55rem .8rem;border-radius:10px;cursor:pointer;white-space:nowrap}
button.primary{background:var(--brand);color:#fff;border-color:transparent}
#btnSignIn.primary{background:#0369a1}
button.ghost{background:transparent}
button.ok{background:var(--ok);color:#fff;border-color:transparent}
button.danger{background:var(--danger);color:#fff;border-color:transparent}
button.warn{background:var(--warn);color:#111;border-color:transparent}
table{width:100%;border-collapse:collapse}
th,td{padding:.6rem .5rem;border-bottom:1px solid var(--border);vertical-align:top}
th{color:var(--muted);text-align:left;white-space:nowrap}
td{white-space:nowrap}
.muted{color:var(--muted)}
.hide{display:none !important}
.toast{position:fixed;right:16px;bottom:16px;background:#111827;color:#fff;padding:.7rem .9rem;border-radius:12px;opacity:0;transform:translateY(10px);transition:.25s;z-index:9999}
.toast.show{opacity:1;transform:translateY(0)}
.error{background:#fee2e2;color:#991b1b;border-left:4px solid var(--danger);padding:.5rem .75rem;border-radius:10px;margin-top:.5rem}
.tabs{display:flex;gap:.35rem;flex-wrap:nowrap;border-bottom:1px solid var(--border);background:var(--card);position:sticky;top:49px;z-index:10;padding:.3rem .35rem}
.tabs button{border:none;border-bottom:3px solid transparent;border-radius:0;background:transparent;padding:.72rem .78rem}
.tabs button.active{border-color:var(--brand);color:var(--brand);font-weight:600}
.pill{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;border:1px solid var(--border);color:#0f172a;background:#f1f5f9}
.status-ok{background:#dcfce7;border-color:#86efac}
.status-bad{background:#fee2e2;border-color:#fecaca}
.status-warn{background:#fef3c7;border-color:#fde68a}
.note{font-size:.9rem;color:#0f172a;background:#f1f5f9;border:1px dashed var(--border);padding:.5rem .75rem;border-radius:10px}
.right{margin-left:auto}
.kbd{padding:.1rem .35rem;border:1px solid var(--border);border-bottom-width:2px;border-radius:6px;background:#fff;font-family:ui-monospace,monospace}
/* Banner modo pruebas */
#testBanner{position:sticky; top:97px; z-index:9; background:#FEF3C7; color:#92400E;
  border:1px solid #FDE68A; border-left:4px solid var(--warn);
  padding:.6rem .8rem; margin:.6rem 0 1rem; border-radius:10px}
/* Modal */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.35);display:none;align-items:center;justify-content:center;z-index:100}
.modal.open{display:flex}
.modal .box{background:#fff;border:1px solid var(--border);border-radius:12px;max-width:560px;width:100%;padding:1rem}
.hscroll{overflow:auto}
.conciliacion-shell{display:flex;flex-direction:column;gap:.85rem}
.conciliacion-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}
.conciliacion-subtabs{display:flex;gap:.4rem;flex-wrap:wrap}
.conciliacion-subtabs button.active{background:var(--brand);color:#fff;border-color:transparent;font-weight:600}
.conciliacion-filtros{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem;align-items:end}
.conciliacion-filtro{display:flex;flex-direction:column;gap:.2rem}
.conciliacion-filtro-titulo{margin-bottom:.2rem;font-size:.85rem;line-height:1.1}
.conciliacion-filtro-fecha{grid-column:span 2}
.conciliacion-fecha-rango{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:.45rem;align-items:end}
.conciliacion-fecha-campo{display:flex;flex-direction:column;gap:.15rem}
.conciliacion-fecha-subtitulo{font-size:.78rem;line-height:1.1}
.conciliacion-fecha-campo input{min-width:0}
@media (max-width: 900px){.conciliacion-filtro-fecha{grid-column:auto}.conciliacion-fecha-rango{grid-template-columns:1fr}}
.conciliacion-total{font-size:.9rem;padding:.15rem .6rem;border-radius:999px;background:rgba(52,120,246,0.10);border:1px solid rgba(52,120,246,0.35);color:#1f3c6b;box-shadow:0 0 4px rgba(52,120,246,0.20)}
.conciliacion-empty{color:var(--muted);background:#f8fafc;border:1px dashed var(--border);border-radius:12px;padding:1rem}
.conciliacion-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}
.conciliacion-summary-card{background:#0f172a;color:#f8fafc;border:1px solid #1e293b;border-radius:14px;padding:.85rem 1rem;min-height:92px}
.conciliacion-summary-card .etiqueta{display:block;color:#cbd5e1;font-size:.88rem;font-weight:700;margin-bottom:.35rem}
.conciliacion-summary-card .valor{display:block;font-size:1.45rem;font-weight:800;line-height:1.1}
.conciliacion-modal-body{display:flex;flex-direction:column;gap:.85rem}
.conciliacion-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem}
.conciliacion-detail-card{border:1px solid var(--border);border-radius:12px;padding:.8rem .9rem;background:#f8fafc}
.conciliacion-detail-card .etiqueta{color:var(--muted);font-size:.82rem;font-weight:700;margin-bottom:.2rem}
.conciliacion-detail-card .valor{color:var(--ink);font-weight:600;word-break:break-word}
.conciliacion-detail-block{border:1px solid var(--border);border-radius:12px;padding:.9rem 1rem;background:#f8fafc}
.conciliacion-detail-block h4{margin:0 0 .55rem 0}
.conciliacion-detail-block p{margin:0;white-space:pre-wrap;word-break:break-word}
.subtab-bar{
  display:flex;
  gap:.45rem;
  flex-wrap:nowrap;
  overflow-x:auto;
  align-items:center;
  scrollbar-width:none;
}
.subtab-bar::-webkit-scrollbar{display:none}
.subtab-item{
  border:1px solid var(--border);
  background:#fff;
  color:var(--ink);
}
.subtab-item.active{
  background:var(--brand);
  color:#fff;
  border-color:transparent;
  font-weight:700;
}
.catalogos-shell{
  display:flex;
  flex-direction:column;
  gap:.85rem;
}
.catalogos-subtabs{
  margin-bottom:.1rem;
}
.catalogos-panels{
  display:flex;
  flex-direction:column;
  gap:.85rem;
}
.catalogos-panel{
  margin:0;
}
.cmsInicioGrid{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:12px;
  align-items:start;
}
.cmsMediaList{
  display:flex;
  flex-direction:column;
  gap:.55rem;
}
.cmsMediaItem{
  display:grid;
  grid-template-columns:96px 1fr auto;
  gap:.7rem;
  align-items:center;
  padding:.55rem;
  border:1px solid var(--border);
  border-radius:12px;
  background:#f8fafc;
}
.cmsMediaThumb{
  width:96px;
  height:72px;
  border-radius:10px;
  overflow:hidden;
  background:#e2e8f0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#475569;
  font-size:.8rem;
  text-align:center;
}
.cmsMediaThumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.cmsMediaMeta{
  min-width:0;
  word-break:break-word;
}
.cmsMediaActions{
  display:flex;
  gap:.35rem;
  align-items:center;
}
/* Servicio modal: que entre en pantalla y permita scroll */
#svcModal.modal{
  align-items:flex-start;
  padding:20px 0;
}
#svcModal .box{
  max-height:calc(100vh - 40px);
  overflow:auto;
}
#svcModal .modal-header{
  position:sticky;
  top:0;
  z-index:5;
}

/* User modal: arriba + mismo tamaño final que #svcModal */
#userModal.modal{
  z-index:130 !important;
}

#userModal.modal.open{
  align-items:flex-start !important;
  padding:6px 16px 8px !important;
  overflow:auto !important;
}

#userModal .box{
  max-width:1040px !important;
  width:min(1040px, calc(100vw - 32px)) !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  padding:1.2rem 1.6rem .55rem !important;
}

/* --- Scrollers visibles al hover (para navs y tablas) --- */
.hover-scroll{overflow:auto}
.hover-scroll{scrollbar-width:none} /* Firefox */
.hover-scroll:hover{scrollbar-color:rgba(100,116,139,.55) rgba(226,232,240,.75)}
.hover-scroll::-webkit-scrollbar{height:8px;width:8px;background:transparent}
.hover-scroll:hover::-webkit-scrollbar-thumb{background:rgba(100,116,139,.55);border-radius:8px}
.hover-scroll:hover::-webkit-scrollbar-track{background:transparent}
/* Nav superior conserva forma previa: botones fantasma */
/* Nav superior: base + estado activo en azul */
#mainNav button{
  border:1px solid var(--border);
  border-radius:10px;
  background:transparent;
}
#mainNav button.active{
  background:var(--brand);
  color:#fff;
  border-color:transparent;
  font-weight:600;
}

  /* SCOPED: estilos del modal de servicio (sin chocar con .modal del admin.css) */
  #svcModal .btn{
    padding:10px 14px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.06);
    color:rgba(255,255,255,.92);
    font-weight:700;
    cursor:pointer;
    transition:.2s;
  }
  #svcModal .btn.primary{ background:#3b82f6; border-color:transparent; }
  #svcModal .btn.green{ background:#22c55e; border-color:transparent; }
  #svcModal .btn.amber{ background:#f59e0b; border-color:transparent; color:#111; }
  #svcModal .btn.red{ background:#ef4444; border-color:transparent; }
  #svcModal .btn.dark{ background:#0b1020; border-color:rgba(255,255,255,.1); }
  #svcModal .btn.small{ padding:8px 12px; }

  #svcModal .overlay{
    position:static;
    inset:auto;
    display:block;
    background:transparent;
    padding:0;
    overflow:visible;
  }

  /* OJO: en el admin ya existe .modal; acá redefinimos SOLO el .modal interno */
  #svcModal .svcPanel{
    position:relative;
    inset:auto;
    display:block;
    width:min(1120px,100%);
    margin:0;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.08);
    background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
    box-shadow:0 20px 60px rgba(0,0,0,.55);
  }

  #svcModal .modal-header{
    padding:12px 16px;
    border-bottom:1px solid rgba(255,255,255,.08);
    background:rgba(0,0,0,.25);
    display:flex; justify-content:space-between; gap:14px;
  }
  #svcModal .title h1{ margin:0; font-size:1.25rem; font-weight:600; line-height:1.1; }

  #svcModal .summary{
    padding:10px;
    border-bottom:1px solid rgba(255,255,255,.08);
    background:rgba(0,0,0,.15);
    display:grid;
    grid-template-columns:1fr 1fr 1fr 1fr;
    gap:12px;
  }

  #svcModal .pill{
    background:#111827;
    border:1px solid rgba(255,255,255,.14);
    padding:12px 14px;
    border-radius:16px;
  }
  #svcModal .pill .k{
    color:#cbd5e1;
    font-size:.9rem;
    font-weight:700;
  }
  #svcModal .pill .v{
    margin-top:4px;
    color:#ffffff;
    font-size:1.1rem;
    font-weight:900;
  }

  #svcModal .content{
    padding:6px 10px;
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:16px;
  }

  #svcModal .card{
    background:rgba(0,0,0,.22);
    border-radius:18px;
    padding:16px;
    border:1px solid rgba(255,255,255,.08);
  }

  #svcModal .divider{
    height:1px;
    background:rgba(255,255,255,.08);
    margin:16px 0;
  }

  #svcModal .imgBox{
    width:100%; aspect-ratio:16/9;
    border-radius:18px;
    border:1px dashed rgba(255,255,255,.18);
    background:rgba(0,0,0,.25);
    position:relative;
    overflow:hidden;
    display:flex; align-items:center; justify-content:center;
  }
  #svcModal .imgBox img{
    position:static;
    inset:auto;
    width:100%;
    height:auto;
    object-fit:contain;
    display:none;
  }

  #svcModal .placeholder{
    padding:12px 14px;
    background:rgba(0,0,0,.35);
    border:1px solid rgba(255,255,255,.12);
    border-radius:14px;
    font-weight:800;
    color:rgba(255,255,255,.6);
  }

  #svcModal .footer{
    border-top:1px solid rgba(255,255,255,.08);
    padding:18px;
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
    background:rgba(0,0,0,.22);
  }

  @media(max-width:980px){
    #svcModal .summary{ grid-template-columns:1fr 1fr; }
    #svcModal .content{ grid-template-columns:1fr; }
  }
/* ===== MODAL SERVICIOS: definitivo (sin scroll global, scroll SOLO en columna izquierda) ===== */

/* Overlay del modal SOLO para Servicios (más opaco) */
#svcModal.modal{
  background:rgba(0,0,0,.72) !important;
}

/* Centrado + sin scroll del modal entero */
#svcModal.modal.open{
  align-items:center !important;
  padding:16px !important;
}

/* Caja: nunca scrollea */
#svcModal .box{
  max-width:1040px !important;
  width:min(1040px, calc(100vw - 32px)) !important;
  max-height:calc(100vh - 32px) !important;
  overflow:hidden !important;

  /* dejamos la caja neutra, el panel manda */
  background:transparent !important;
  border:none !important;
  padding:0 !important;
}

/* Panel principal: OPACO (nada de rgba) */
#svcModal .svcPanel{
  width:100% !important;
  max-height:calc(100vh - 32px) !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;

  background:#0b1020 !important;
  color:#e5e7eb !important;
}

/* Header / Summary / Footer opacos */
#svcModal .modal-header{
  flex:0 0 auto !important;
  background:#0f172a !important;
}
#svcModal .summary{
  flex:0 0 auto !important;
  background:#0f172a !important;
}
#svcModal .footer{
  flex:0 0 auto !important;
  background:#0f172a !important;
}

/* Contenido: NO scrollea */
#svcModal .content{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:hidden !important;
}

/* Cards opacas */
#svcModal .card{
  background:#111827 !important;
  border:1px solid rgba(255,255,255,.10) !important;
}

/* ✅ Scroll en AMBAS columnas (izq y der) */
#svcModal .content > .card:first-child,
#svcModal .content > .card:last-child{
  min-height:0 !important;
  overflow:auto !important;
  padding-right:6px !important;
}

/* Scrollbar discreta (ambas columnas) */
#svcModal .content > .card:first-child::-webkit-scrollbar,
#svcModal .content > .card:last-child::-webkit-scrollbar{ width:8px; }

#svcModal .content > .card:first-child::-webkit-scrollbar-thumb,
#svcModal .content > .card:last-child::-webkit-scrollbar-thumb{
  background:rgba(148,163,184,.45);
  border-radius:8px;
}

#svcModal .content > .card:first-child::-webkit-scrollbar-track,
#svcModal .content > .card:last-child::-webkit-scrollbar-track{ background:transparent; }

/* Imagen: se ve completa (sin recorte). Si es grande, se llega scrolleando el panel */
#svcModal .imgBox{
  aspect-ratio:auto !important;
  height:auto !important;
}

/* Títulos centrados (solo títulos) */
#svcModal .title,
#svcModal .title h1{
  text-align:center !important;
}

/* Pantallas bajas: aún más compacto */
@media (max-height: 760px){
  #svcModal .imgBox{ height:min(200px, 24vh) !important; }
}


#app{min-height:100vh;}
#app > section{padding:1rem;}

/* ===== Ajustes locales de navegación y modales admin ===== */
header{
  flex-wrap:nowrap;
}

header > strong{
  flex:0 0 auto;
  font-size:1.02rem;
}

#mainNav{
  margin-left:.55rem !important;
  display:flex;
  gap:.22rem;
  flex:1 1 auto;
  min-width:0;
  max-width:none !important;
  white-space:nowrap;
  overflow-x:auto;
  align-items:center;
}

#mainNav.hide{
  display:none !important;
}

#mainNav button{
  flex:0 0 auto;
  padding:.7rem .76rem !important;
}

#whoami{
  margin-left:auto;
  flex:0 1 11.5rem;
  min-width:0;
  max-width:11.5rem;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-align:right;
  font-size:.92rem;
}

#btnSignOut{
  flex:0 0 auto;
}

.umSummaryGridPrimary{
  grid-template-columns:2fr 1fr 1fr 1fr !important;
}

.umSummaryGridSecondary{
  grid-template-columns:repeat(5,1fr) !important;
}

.cfgSwitchRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  margin:0 0 .45rem 0;
  padding:.05rem 0;
}

.cfgSwitchText{
  display:block;
  line-height:1.2;
}

#tab-monetizacion input[type="checkbox"]{
  appearance:none;
  -webkit-appearance:none;
  width:42px;
  height:24px;
  border-radius:999px;
  background:#ffffff;
  border:1px solid rgba(15,23,42,.18);
  position:relative;
  cursor:pointer;
  flex:0 0 auto;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.03);
  transition:background .18s ease,border-color .18s ease;
}

#tab-monetizacion input[type="checkbox"]::after{
  content:"";
  position:absolute;
  top:2px;
  left:2px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#ffffff;
  box-shadow:0 1px 4px rgba(15,23,42,.24);
  transition:transform .18s ease;
}

#tab-monetizacion input[type="checkbox"]:checked{
  background:#34c759;
  border-color:#34c759;
}

#tab-monetizacion input[type="checkbox"]:checked::after{
  transform:translateX(18px);
}

#tab-monetizacion input[type="checkbox"]:disabled{
  opacity:.65;
  cursor:not-allowed;
}

#svcModal.modal{
  background:rgba(0,0,0,.35) !important;
}

#svcModal .box{
  max-width:1040px !important;
  width:min(1040px, calc(100vw - 32px)) !important;
  max-height:calc(100vh - 32px) !important;
  background:#1f2933 !important;
  border:1px solid #4b5563 !important;
  padding:1.2rem 1.6rem !important;
}

#svcModal .svcPanel{
  background:transparent !important;
  color:#f9fafb !important;
  box-shadow:none !important;
  border:none !important;
}

#svcModal .modal-header{
  margin-bottom:1rem;
  padding:0 !important;
  border:none !important;
  background:transparent !important;
  align-items:center;
}

#svcModal .summary{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  gap:.6rem !important;
}

#svcModal .svcSummaryPrimary{
  margin-bottom:.6rem;
}

#svcModal .svcSummarySecondary{
  margin-bottom:1rem;
}

#svcModal .svcSummarySpacer{
  visibility:hidden;
}

#svcModal .pill{
  background:#111827 !important;
  border:1px solid #1f2937 !important;
  border-radius:12px !important;
  padding:.65rem .8rem !important;
  min-width:0;
}

#svcModal .pill .k{
  color:#e5e7eb !important;
  font-size:.8rem !important;
  font-weight:400 !important;
}

#svcModal .pill .v{
  margin-top:.2rem !important;
  color:#f9fafb !important;
  font-size:1rem !important;
  font-weight:700 !important;
  word-break:break-word;
}

#svcModal .content{
  padding:0 !important;
  gap:1rem !important;
}

#svcModal .card{
  background:#111827 !important;
  border:1px solid #1f2937 !important;
  border-radius:12px !important;
  padding:1rem !important;
}

#svcModal .divider{
  background:#1f2937 !important;
}

#svcModal .imgBox{
  background:#020617 !important;
  border:1px dashed #334155 !important;
  border-radius:12px !important;
}

#svcModal .placeholder{
  background:#0b1220 !important;
  border:1px solid #1f2937 !important;
  color:#94a3b8 !important;
}

#svcModal #svcSubtipo{
  color:#f9fafb !important;
}

#svcModal #svcApodo,
#svcModal #svcDesc{
  color:#e5e7eb !important;
}

#svcModal .footer{
  margin-top:1rem;
  padding:0 !important;
  border:none !important;
  background:transparent !important;
  align-items:flex-start;
}

#svcModal .btn{
  border-radius:10px !important;
  box-shadow:none !important;
}

#svcModal #reviewsList{
  display:none !important;
}

@media (max-width: 1100px){
  .umSummaryGridPrimary{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .umSummaryGridSecondary{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width: 820px){
  #svcModal .svcSummaryPrimary,
  #svcModal .svcSummarySecondary{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  #svcModal .svcSummarySpacer{
    display:none;
  }
}

.umBottomGrid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:1rem;
  margin-bottom:.15rem !important;
  align-items:start;
}

.umRightColumn{
  display:flex;
  flex-direction:column;
  gap:.85rem;
  min-width:0;
}

.umRightColumn .card{
  flex:0 0 auto !important;
}

.umCommentCard{
  min-height:182px !important;
}

.umReviewsCard{
  min-height:126px !important;
}

.umSorteosCard{
  min-height:96px !important;
}

.umReviewsStatus{
  text-align:center;
  margin:.15rem 0 .55rem 0;
}

.umReviewsControls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  flex-wrap:wrap;
}

.umSorteosControls{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  text-align:center;
  min-height:52px;
}

#umComentario{
  min-height:156px !important;
  height:auto;
}

.umActionsFooter{
  margin-top:0 !important;
  padding-bottom:0 !important;
}

#svcModal .box{
  background:#1f2933 !important;
  border:1px solid #4b5563 !important;
  color:#f9fafb !important;
  box-shadow:none !important;
}

#svcModal .svcPanel{
  gap:0 !important;
  display:block !important;
  max-height:none !important;
  overflow:visible !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}

#svcModal .modal-header{
  margin-bottom:1rem !important;
  padding:0 !important;
  border:none !important;
  background:transparent !important;
}

#svcModal .modal-header .title h1{
  color:#ffffff !important;
  font-size:1.2rem !important;
  font-weight:700 !important;
}

#svcModal .summary,
#svcModal .content,
#svcModal .footer{
  color:#f9fafb !important;
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
}

#svcModal .card .muted,
#svcModal .pill .k,
#svcModal #reviewsCount{
  color:#e5e7eb !important;
}

#svcModal .pill .v,
#svcModal .svcTextTitle,
#svcModal .svcSectionTitle{
  color:#ffffff !important;
}

#svcModal .svcTextTitle{
  font-size:1.25rem !important;
  font-weight:700 !important;
  line-height:1.2 !important;
}

#svcModal .svcTextSubtitle{
  color:#e5e7eb !important;
  font-size:1rem !important;
  font-weight:700 !important;
}

#svcModal .svcTextBody,
#svcModal #svcDesc,
#svcModal #inWa,
#svcModal #inEmail,
#svcModal #svcId,
#svcModal #ownerId{
  color:#f9fafb !important;
  font-size:.95rem !important;
  line-height:1.45 !important;
}

#svcModal .svcSectionTitle{
  font-size:1rem !important;
  font-weight:600 !important;
}

#svcModal .card{
  box-shadow:none !important;
}

#svcModal .btn{
  font-size:.95rem !important;
  font-weight:600 !important;
}

#svcModal .svcSummaryPrimary{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  margin-bottom:.6rem !important;
}

#svcModal .svcSummarySecondary{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  width:calc(50% - .3rem) !important;
  margin-left:auto !important;
  margin-bottom:1rem !important;
  gap:.6rem !important;
}

#svcModal .footer{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin-top:1rem !important;
  padding:0 !important;
}

#svcModal .content{
  align-items:start !important;
  overflow:visible !important;
}

#svcModal .content > .card:first-child,
#svcModal .content > .card:last-child{
  overflow:visible !important;
  padding-right:1rem !important;
}

@media (max-width: 980px){
  #svcModal .svcSummarySecondary{
    width:100% !important;
  }
}

.sorteos-shell{
  --sorteos-roller-step:78;
  display:flex;
  flex-direction:column;
  gap:1.2rem;
  position:relative;
  padding:1.5rem;
  border-radius:26px;
  background:radial-gradient(circle at top, rgba(52,120,246,.20), rgba(15,23,42,.96) 34%, #020617 100%);
  border:1px solid rgba(148,163,184,.18);
  color:#f8fafc;
  overflow:hidden;
}

.sorteos-head{
  display:flex;
  justify-content:center;
  text-align:center;
  padding-top:1.55rem;
  padding-bottom:.15rem;
}

.sorteos-title-wrap h3{
  margin:.15rem 0 0 0;
  font-size:2rem;
  font-weight:800;
}

.sorteos-fullscreen{
  position:absolute;
  top:1rem;
  right:1rem;
  width:46px;
  height:46px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
}

.sorteos-fullscreen svg{
  width:22px;
  height:22px;
  stroke:#e2e8f0;
  stroke-width:1.9;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.sorteos-fullscreen.active{
  background:rgba(255,255,255,.14);
}

.sorteos-toolbar{
  display:flex;
  align-items:end;
  justify-content:center;
  gap:1rem;
  flex-wrap:wrap;
  padding-bottom:.15rem;
}

.sorteos-control{
  display:flex;
  flex-direction:column;
  gap:.25rem;
  min-width:150px;
}

.sorteos-control label{
  color:#cbd5e1;
  font-size:.9rem;
  font-weight:700;
}

.sorteos-control input{
  max-width:110px;
  text-align:center;
}

.sorteos-chip-wrap{
  display:flex;
  gap:.45rem;
  flex-wrap:wrap;
  justify-content:center;
}

.sorteos-chip{
  padding:.32rem .72rem;
  border-radius:999px;
  background:#ffffff;
  border:1px solid rgba(15,23,42,.16);
  color:#111111;
  font-size:.9rem;
  font-weight:700;
}

.sorteos-stage{
  min-height:420px;
  display:flex;
  justify-content:center;
  align-items:center;
  position:relative;
  padding:.2rem 0 .35rem;
}

.sorteos-display{
  width:min(820px, 100%);
  min-height:280px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  gap:.6rem;
  padding:2rem 1.5rem;
  border-radius:22px;
  background:rgba(15,23,42,.88);
  border:1px solid rgba(148,163,184,.18);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
  position:relative;
  overflow:hidden;
}

.sorteos-roller{
  width:min(620px, 100%);
  height:78px;
  overflow:hidden;
  position:relative;
  margin-bottom:.15rem;
}

.sorteos-roller::before,
.sorteos-roller::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:22px;
  z-index:2;
  pointer-events:none;
}

.sorteos-roller::before{
  top:0;
  background:linear-gradient(180deg, rgba(15,23,42,.96), rgba(15,23,42,0));
}

.sorteos-roller::after{
  bottom:0;
  background:linear-gradient(0deg, rgba(15,23,42,.96), rgba(15,23,42,0));
}

.sorteos-roller-track{
  display:flex;
  flex-direction:column;
  align-items:center;
  will-change:transform;
}

.sorteos-roller-item{
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#f8fafc;
  font-size:clamp(2rem, 4vw, 3.4rem);
  font-weight:900;
  line-height:1;
  padding:0 .5rem;
  white-space:nowrap;
}

.sorteos-display--idle .sorteos-current-name{
  letter-spacing:.05em;
}

.sorteos-state{
  color:#cbd5e1;
  font-size:.92rem;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.sorteos-current-name{
  color:#f8fafc;
  font-size:clamp(2rem, 4vw, 3.6rem);
  font-weight:900;
  line-height:1.05;
}

.sorteos-current-meta,
.sorteos-countdown{
  color:#cbd5e1;
  font-size:1rem;
}

.sorteos-current-meta{
  display:flex;
  flex-direction:column;
  gap:.28rem;
  min-height:2.6rem;
}

.sorteos-display--winner .sorteos-current-name{
  font-size:clamp(2.3rem, 4.5vw, 4rem);
}

.sorteos-display--winner .sorteos-state{
  font-size:1.15rem;
}

.sorteos-display--winner .sorteos-current-meta{
  color:#e2e8f0;
  font-size:1.02rem;
}

.sorteos-close{
  align-self:flex-end;
  margin-top:.75rem;
}

.sorteos-winner-id{
  color:#94a3b8;
  font-size:.92rem;
}

.sorteos-confetti{
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden;
  z-index:2;
}

.sorteos-confetti-piece{
  position:absolute;
  top:-12px;
  left:var(--x-start);
  width:var(--size);
  height:calc(var(--size) * 1.2);
  border-radius:2px;
  opacity:0;
  transform:translate3d(0, -10px, 0) rotate(0deg);
  animation:sorteos-confetti-fall var(--duration) ease-out var(--delay) forwards;
}

@keyframes sorteos-confetti-fall{
  0%{
    opacity:0;
    transform:translate3d(0, -18px, 0) rotate(0deg);
  }
  12%{
    opacity:1;
  }
  100%{
    opacity:0;
    transform:translate3d(var(--drift), 520px, 0) rotate(var(--rotate));
  }
}

.sorteos-shell.is-fullscreen{
  min-height:100vh;
  border-radius:0;
  padding:2.35rem 1.6rem 1.1rem;
  gap:.55rem;
}

.sorteos-shell.is-fullscreen .sorteos-chip-wrap{
  display:none;
}

.sorteos-shell.is-fullscreen .sorteos-head{
  padding-top:2.45rem;
}

.sorteos-shell.is-fullscreen .sorteos-stage{
  min-height:calc(100vh - 390px);
  padding-top:0;
  padding-bottom:.2rem;
}

.sorteos-shell.is-fullscreen .sorteos-toolbar{
  margin-top:-.1rem;
}

@media (max-width: 900px){
  .cmsInicioGrid{
    grid-template-columns:1fr;
  }

  .umBottomGrid{
    flex-direction:column;
    display:flex;
    gap:.75rem !important;
  }

  .umRightColumn{
    width:100%;
  }

  .sorteos-shell{
    --sorteos-roller-step:64;
    padding:1.1rem;
  }

  .sorteos-stage{
    min-height:320px;
  }

  .sorteos-roller{
    height:64px;
  }

  .sorteos-roller-item{
    min-height:64px;
    font-size:clamp(1.6rem, 6vw, 2.5rem);
  }

  .sorteos-toolbar{
    flex-direction:column;
    align-items:center;
  }

  .sorteos-fullscreen{
    width:42px;
    height:42px;
  }
}
