/* ============================================================
   LÍNEA FRÍA — Liquid Glass UI
   Tipografía: Montserrat (Black 900 + Regular 400)
   ============================================================ */
:root{
  --ink:        #eef5f3;   /* texto principal (claro) */
  --ink-soft:   #c2d2ce;
  --muted:      #8ba39d;
  --faint:      #63807a;
  --line:       rgba(120,220,200,.13);

  --glass:      rgba(17,29,31,.55);
  --glass-2:    rgba(255,255,255,.05);
  --glass-hi:   rgba(255,255,255,.14);
  --field:      rgba(255,255,255,.06);

  --violet:     #50e29c;   /* teal de marca (compat) */
  --indigo:     #22b877;   /* teal oscuro */
  --teal:       #50e29c;
  --green:      #50e29c;    /* positivo = teal de marca */
  --red:        #ec5c6b;
  --blue:       #5f9fe0;
  --amber:      #e1c951;
  --cyan:       #50e29c;

  --grad:       linear-gradient(135deg, #50e29c, #22b877);
  --shadow:     0 14px 44px rgba(0,0,0,.5);
  --shadow-lg:  0 24px 70px rgba(0,0,0,.6);
  --radius:     26px;
}

*{box-sizing:border-box;margin:0;padding:0}
/* Fondo base sólido en la raíz: evita el parpadeo blanco al redimensionar/repintar
   (el lienzo del navegador ya no se ve blanco mientras se recompone el fondo). */
html{height:100%;background:#08110f;color-scheme:dark}
body{height:100%}
body{
  font-family:'Montserrat',system-ui,sans-serif;
  font-weight:400;
  color:var(--ink);
  min-height:100vh;
  position:relative;
  overflow-x:hidden;
  background:
    linear-gradient(rgba(120,230,205,.045) 1px, transparent 1px) 0 0 / 46px 46px,
    linear-gradient(90deg, rgba(120,230,205,.045) 1px, transparent 1px) 0 0 / 46px 46px,
    radial-gradient(120% 120% at 0% 0%,   rgba(80,226,156,.13) 0%, transparent 52%),
    radial-gradient(120% 120% at 100% 100%,rgba(28,120,140,.16) 0%, transparent 55%),
    #08110f;
  /* Sin background-attachment:fixed → evita el reflow costoso del fondo fijo al
     redimensionar (causa del parpadeo en blanco). El color base #08110f queda debajo. */
  -webkit-font-smoothing:antialiased;
}
/* blobs difuminados flotantes — en su propia capa (will-change) para que el blur no
   se re-rasterice en cada frame de resize (otra causa del parpadeo). */
body::before,body::after{
  content:"";position:fixed;z-index:-1;border-radius:50%;filter:blur(80px);opacity:.62;
  pointer-events:none;will-change:transform;transform:translateZ(0);
}

/* ── Fondo decorativo (inyectado por inc/head.php): luces + stickmen ── */
/* Luces: capa por ENCIMA con mezcla "screen" → sólo ilumina, nunca tapa el texto. */
.bg-fx{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:hidden;
  mix-blend-mode:screen}
.bg-blob{position:absolute;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(80,226,156,.5),rgba(43,208,168,.2) 55%,transparent 74%);
  filter:blur(58px);opacity:.6;will-change:transform;
  animation-name:blobFloat;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
@keyframes blobFloat{
  0%,100%{transform:translate(0,0) scale(1)}
  33%    {transform:translate(9vw,6vh)   scale(1.16)}
  66%    {transform:translate(-7vw,-5vh) scale(.9)}
}
/* En tema claro "screen" lavaría la página: se mezcla multiplicando (tiñe suave). */
:root[data-theme="light"] .bg-fx{mix-blend-mode:multiply}
:root[data-theme="light"] .bg-blob{opacity:.3;
  background:radial-gradient(circle,rgba(28,184,119,.4),rgba(28,184,119,.14) 55%,transparent 74%)}
@media (prefers-reduced-motion:reduce){
  .bg-blob{animation:none}
}
body::before{width:520px;height:520px;left:-160px;top:-180px;
  background:radial-gradient(circle,#1f9c82,#0b3630 70%);animation:drift1 40s ease-in-out infinite}
body::after{width:560px;height:560px;left:auto;right:-200px;top:auto;bottom:-220px;
  background:radial-gradient(circle,#2bd0a8,#0d4a42 70%);animation:drift2 52s ease-in-out infinite}
/* Recorren todo el viewport (vw/vh) para que el fondo se sienta vivo y en movimiento. */
@keyframes drift1{
  0%  {transform:translate(0,0)           scale(1)}
  20% {transform:translate(78vw,14vh)     scale(1.18)}
  40% {transform:translate(88vw,62vh)     scale(.92)}
  60% {transform:translate(34vw,84vh)     scale(1.12)}
  80% {transform:translate(8vw,40vh)      scale(1.02)}
  100%{transform:translate(0,0)           scale(1)}
}
@keyframes drift2{
  0%  {transform:translate(0,0)           scale(1)}
  20% {transform:translate(-40vw,-24vh)   scale(1.1)}
  40% {transform:translate(-84vw,-70vh)   scale(.9)}
  60% {transform:translate(-70vw,-30vh)   scale(1.16)}
  80% {transform:translate(-24vw,-58vh)   scale(1.04)}
  100%{transform:translate(0,0)           scale(1)}
}
@media (prefers-reduced-motion:reduce){body::before,body::after{animation:none}}

.mono{font-variant-numeric:tabular-nums}
.black{font-weight:900}

/* ── Vidrio base ── */
.glass{
  background:var(--glass);
  -webkit-backdrop-filter:blur(26px) saturate(175%);
  backdrop-filter:blur(26px) saturate(175%);
  border:1px solid var(--glass-hi);
  border-radius:var(--radius);
  box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.09);
}

/* ── Botones ── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:inherit;font-weight:700;font-size:15px;cursor:pointer;
  padding:14px 24px;border-radius:16px;border:none;color:#fff;
  background:var(--grad);color:#052019;
  box-shadow:0 8px 22px rgba(80,226,156,.32), inset 0 1px 0 rgba(255,255,255,.35);
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(80,226,156,.45), inset 0 1px 0 rgba(255,255,255,.45)}
.btn:active{transform:translateY(0)}
.btn:disabled{opacity:.6;cursor:wait;transform:none}
.btn.block{width:100%}
.btn.ghost{
  background:var(--glass-2);color:var(--ink);
  border:1px solid var(--glass-hi);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}
.btn.ghost:hover{background:var(--glass);box-shadow:var(--shadow)}
.btn.danger{background:linear-gradient(135deg,#ff6a6a,#e5484d);color:#fff;box-shadow:0 8px 22px rgba(229,72,77,.35)}
.btn.sm{padding:8px 14px;font-size:13px;border-radius:12px}

/* ── Campos ── */
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.field label{font-size:12.5px;font-weight:700;letter-spacing:.02em;color:var(--ink-soft);
  text-transform:uppercase}
.input, select, textarea{
  font-family:inherit;font-size:15px;color:var(--ink);
  background:var(--field);
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;padding:13px 16px;width:100%;
  box-shadow:inset 0 1px 3px rgba(0,0,0,.28);
  transition:border-color .15s, box-shadow .15s;
}
.input::placeholder{color:var(--faint)}
.input:focus, select:focus, textarea:focus{
  outline:none;border-color:var(--teal);
  box-shadow:0 0 0 4px rgba(80,226,156,.2);
}
select option{background:#0d1a18;color:var(--ink)}

/* ── Enlaces / notas ── */
a{color:var(--indigo);text-decoration:none;font-weight:700}
a:hover{text-decoration:underline}
.link-row{margin-top:18px;text-align:center;font-size:14px;color:var(--muted)}
.note{border-radius:14px;padding:11px 15px;font-size:13.5px;line-height:1.5;margin-bottom:16px}
.note.err{background:rgba(236,92,107,.12);border:1px solid rgba(236,92,107,.35);color:#ff9aa2;display:flex;align-items:flex-start;gap:8px}
.note.ok{background:rgba(80,226,156,.12);border:1px solid rgba(80,226,156,.35);color:#96ecc0}
.note.info{background:rgba(77,157,255,.1);border:1px solid rgba(77,157,255,.3);color:#a9c8ff}

/* ============================================================
   AUTH (login / recuperar)
   ============================================================ */
.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:28px}
.auth-card{width:100%;max-width:400px;padding:38px 34px}
.brand{text-align:center;margin-bottom:26px}
.brand .logo{font-weight:900;font-size:30px;letter-spacing:.14em;line-height:1}
.brand .logo .cold{background:linear-gradient(135deg,var(--cyan),var(--indigo));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.brand .tag{margin-top:10px;font-size:12.5px;color:var(--muted);letter-spacing:.05em}

/* ============================================================
   LAYOUT INTERNO (dashboard / admin)
   ============================================================ */
.shell{max-width:1120px;margin:0 auto;padding:26px 20px 70px}
.topbar{
  display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;
  padding:14px 22px;margin-bottom:20px;
}
/* Todo en la fila del logo: logo (izq) · pestañas (centro) · usuario (der). */
.topbar>.logo{order:1}
.topbar>.tabs{order:2;margin:0 auto}
.topbar>.userchip{order:3}
/* Pill de usuario retráctil: en móvil arranca con solo el ícono y se despliega al tocar. */
.pill-user .uc-name{display:inline-block;max-width:180px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;
  transition:max-width .22s ease,opacity .18s,margin-left .22s}
.topbar .logo{font-weight:900;font-size:21px;letter-spacing:.13em;line-height:1;
  user-select:none;white-space:nowrap}
.topbar .logo .cold{background:linear-gradient(135deg,var(--cyan),var(--indigo));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.userchip{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.userchip b{color:var(--ink);font-weight:800}
.pill{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;
  background:var(--glass-2);border:1px solid var(--glass-hi);font-size:12.5px;font-weight:700;
  color:var(--ink-soft);text-decoration:none;transition:border-color .15s, background .15s, color .15s}
.pill:hover{color:var(--ink);border-color:var(--teal);background:rgba(80,226,156,.08);text-decoration:none}
.pill .ic{width:15px;height:15px;color:var(--teal)}
.pill-user{max-width:230px}
.pill-user b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pill-exit .ic{color:var(--muted)}
.pill-exit:hover{border-color:var(--red);background:rgba(236,92,107,.09)}
.pill-exit:hover .ic{color:var(--red)}
.pill-upgrade{color:var(--amber);border-color:rgba(225,201,81,.4);background:rgba(225,201,81,.09);font-weight:800}
.pill-upgrade .ic{color:var(--amber)}
.pill-upgrade:hover{color:#1a1608;background:var(--amber);border-color:var(--amber)}
.pill-upgrade:hover .ic{color:#1a1608}

.meta{display:flex;gap:22px;flex-wrap:wrap;font-size:12px;color:var(--muted);
  padding:0 6px 18px;letter-spacing:.02em}
.meta b{display:block;color:var(--ink);font-weight:900;font-size:17px;margin-top:2px}

/* Tabs como control segmentado (contenedor pastilla + segmentos) */
.tabs{display:inline-flex;gap:4px;margin-bottom:22px;padding:5px;border-radius:16px;
  background:var(--glass-2);border:1px solid var(--glass-hi);max-width:100%;overflow-x:auto}
.tab{
  display:inline-flex;align-items:center;font-family:inherit;font-weight:700;font-size:13.5px;
  cursor:pointer;white-space:nowrap;padding:9px 12px;border-radius:12px;color:var(--muted);
  background:transparent;border:none;transition:background .15s,color .15s,box-shadow .15s;
}
.tab .tab-ic{display:inline-flex;flex:none}
.tab .tab-ic svg{width:19px;height:19px;display:block}
/* En reposo solo el ícono; al activar se despliega el texto (retráctil). */
.tab .tab-lbl{max-width:0;opacity:0;overflow:hidden;transition:max-width .22s ease,opacity .16s,margin-left .22s ease}
.tab.active .tab-lbl{max-width:170px;opacity:1;margin-left:8px}
.tab:hover{color:var(--ink)}
.tab.active{color:var(--teal);font-weight:800;background:rgba(80,226,156,.14);
  box-shadow:inset 0 0 0 1px rgba(80,226,156,.28)}
.view{display:none}.view.active{display:block}

.hint{font-size:13.5px;color:var(--ink-soft);line-height:1.65;margin-bottom:20px;
  padding:14px 18px}
.hint b{font-weight:900}
.hl-green{color:var(--green);font-weight:900}

/* ── Iconos planos ── */
.ic{width:1em;height:1em;flex:none;display:inline-block;vertical-align:-.14em}

/* ── Barra de deportes (categorías) ── */
/* ── Selector de deportes: ícono circular en reposo → pastilla al seleccionar ── */
.sportbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:22px}
.sport-chip{--ic-bg:#0e1a18;font-family:inherit;cursor:pointer;background:transparent;border:none;
  padding:0;display:inline-flex;align-items:center;border-radius:34px;transition:background .2s, box-shadow .2s, padding .2s}
.sport-ic{width:56px;height:56px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--teal);
  background:radial-gradient(130% 130% at 32% 24%, #1d2e2c, var(--ic-bg));
  border:1px solid var(--glass-hi);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 7px 16px rgba(0,0,0,.45);transition:.2s}
.sport-ic svg{width:29px;height:29px;display:block}
/* Próximamente (fuera de temporada): ícono ámbar en reposo, no gris. */
.sport-chip.soon .sport-ic{color:var(--amber);border-color:rgba(225,201,81,.38);
  box-shadow:inset 0 0 0 1px rgba(225,201,81,.20), 0 7px 16px rgba(0,0,0,.4)}
.sport-chip:hover .sport-ic{color:var(--teal);transform:translateY(-1px)}
.sport-chip:hover.soon .sport-ic{color:var(--amber);transform:translateY(-1px)}
.sport-chip.active{background:rgba(80,226,156,.08);padding:5px 20px 5px 5px;
  box-shadow:0 0 0 1.5px var(--teal), 0 0 22px rgba(80,226,156,.2)}
.sport-chip.active.soon{background:rgba(225,201,81,.08);box-shadow:0 0 0 1.5px var(--amber),0 0 22px rgba(225,201,81,.18)}
.sport-chip.active .sport-ic{border-color:var(--teal);box-shadow:inset 0 0 0 1px rgba(80,226,156,.45),0 0 14px rgba(80,226,156,.3)}
.sport-chip.active.soon .sport-ic{border-color:var(--amber);box-shadow:inset 0 0 0 1px rgba(225,201,81,.45),0 0 14px rgba(225,201,81,.25)}
.sport-chip.active.soon .sport-ic{color:var(--amber)}
.sport-meta{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-left:13px;padding-right:2px}
.sport-name{font-weight:900;font-size:19px;color:var(--ink);letter-spacing:.005em;line-height:1}
.sport-chip.active.soon .sport-name{color:var(--amber)}
.sp-badge{font-size:10.5px;font-weight:900;letter-spacing:.02em;padding:2px 10px;border-radius:999px;line-height:1.5}
.sp-badge.win{color:#08110f;background:var(--teal)}
.sp-badge.soon{color:#1a1608;background:var(--amber)}
@media (max-width:560px){
  .sport-ic{width:50px;height:50px}.sport-ic svg{width:26px;height:26px}
  /* Centrado horizontal: los deportes se alinean al centro y la 2ª fila queda
     escalonada entre los huecos de la 1ª. El chip activo se despliega a UN LADO
     (horizontal), manteniendo la misma altura. */
  .sportbar{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:11px}
  .sport-name{font-size:15px}
  /* Todo centrado en mobile */
  .topbar{align-items:center;text-align:center}
  /* En móvil apila: logo, usuario, y las pestañas al final centradas. */
  .topbar>.logo{order:1;width:100%;text-align:center}
  .topbar>.userchip{order:2;justify-content:center;width:100%}
  .topbar>.tabs{order:3;width:max-content;max-width:100%;margin:6px auto 0}
  /* Pill de usuario: solo ícono en reposo; se despliega al tocar (ucTap). */
  .pill-user .uc-name{max-width:0;opacity:0;margin-left:-6px}
  .pill-user.open .uc-name{max-width:150px;opacity:1;margin-left:0}
  .lastupdate{justify-content:center;text-align:center}
  .sportbar{justify-content:center}
  .daybar{justify-content:center}
}
.na{font-style:italic;color:var(--faint);font-weight:400}
.soon-panel{padding:52px 30px;text-align:center;color:var(--muted)}
.soon-panel .soon-ic{color:var(--teal);margin-bottom:14px}
.soon-panel .soon-ic .ic{width:38px;height:38px}
.soon-panel .soon-h{font-weight:900;font-size:18px;color:var(--ink);margin-bottom:8px}
.soon-panel p{font-size:13.5px;line-height:1.6;max-width:430px;margin:0 auto}

/* ── Última actualización ── */
.lastupdate{font-size:12px;color:var(--muted);margin-bottom:16px;display:flex;align-items:center;gap:7px}
.lastupdate b{color:var(--ink-soft);font-weight:700}

/* ── Categorías de apuestas plegables ── */
.catfold>summary{list-style:none;cursor:pointer}
.catfold>summary::-webkit-details-marker{display:none}
.cat-chevron{width:8px;height:8px;flex:none;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(-45deg);transition:transform .2s ease;opacity:.75;margin-right:4px}
.catfold[open]>summary .cat-chevron{transform:rotate(45deg)}
.cat-body{display:flex;flex-direction:column;gap:16px}

/* ── Datos Relevantes (por juego) ── */
.relfold{margin-top:12px;border-top:1px solid var(--line);padding-top:11px}
.relfold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;
  font-size:11.5px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.relfold>summary::-webkit-details-marker{display:none}
.relfold>summary:hover{color:var(--ink-soft)}
.relfold[open]>summary{color:var(--ink-soft)}
.rel-list{margin:11px 0 2px;padding-left:20px;display:flex;flex-direction:column;gap:7px;
  font-size:13px;line-height:1.5;color:var(--ink-soft)}
.rel-list li{list-style:disc}
/* La Ventaja Fría: gráfica Modelo vs Mercado + argumento técnico */
.edge-bars{margin-top:16px;padding:13px 15px;border-radius:12px;background:var(--glass-2);border:1px solid var(--line)}
.eb-row{display:flex;align-items:center;gap:11px;margin-bottom:9px}
.eb-lbl{width:58px;font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.eb-track{flex:1;height:9px;border-radius:6px;background:rgba(255,255,255,.06);overflow:hidden}
.eb-fill{height:100%;border-radius:6px;transition:width .5s ease}
.eb-fill.model{background:linear-gradient(90deg,var(--cyan),var(--teal))}
.eb-fill.market{background:var(--faint)}
.eb-val{width:46px;text-align:right;font-weight:900;font-size:14px}
.eb-edge{margin-top:3px;font-size:12.5px;color:var(--muted);text-align:right}
.eb-edge b{font-size:14px}
.whyfold>summary .why-t{font-weight:900;background:linear-gradient(135deg,var(--cyan),var(--indigo));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:.02em}
.why-body{margin-top:11px}
/* Barras de factores del béisbol (Bullpen, Abridor, Parque, Bateo) — centradas: verde a favor, rojo en contra */
.factor-bars{display:flex;flex-direction:column;gap:9px;margin:0 0 14px;padding:13px 15px;border-radius:12px;background:var(--glass-2);border:1px solid var(--line)}
.ff-row{display:grid;grid-template-columns:132px 1fr 66px;align-items:center;gap:10px}
.ff-lbl{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-soft);font-weight:700}
.ff-ic{width:16px;height:16px;flex:none;color:var(--ink-soft)}
.ff-track{position:relative;height:8px;border-radius:6px;background:rgba(255,255,255,.06)}
.ff-mid{position:absolute;left:50%;top:-2px;bottom:-2px;width:1px;background:var(--line)}
.ff-fill{position:absolute;top:0;bottom:0;border-radius:6px;transition:width .5s ease}
.ff-fill.ff-pos{background:linear-gradient(90deg,var(--teal),#39d98a)}
.ff-fill.ff-neg{background:linear-gradient(90deg,#f4607a,#e0455f)}
.ff-tag{font-size:11px;font-weight:800;text-align:right;letter-spacing:.01em}
.ff-tag.ff-pos{color:#39d98a}
.ff-tag.ff-neg{color:#f4607a}
@media(max-width:560px){.ff-row{grid-template-columns:92px 1fr 56px;gap:7px}.ff-lbl{font-size:11px}.ff-ic{width:14px;height:14px}}
.why-arg{font-size:13.5px;line-height:1.7;color:var(--ink-soft);margin:0 0 10px}
.why-arg b{color:var(--ink);font-weight:800}

/* ── Footer legal ── */
.site-footer{max-width:1120px;margin:8px auto 0;padding:26px 20px 54px}
.sf-inner{border-top:1px solid var(--line);padding-top:28px;display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1fr;gap:26px 28px}
.sf-brand{font-weight:900;font-size:18px;letter-spacing:.12em}
.sf-brand .cold{background:linear-gradient(135deg,var(--cyan),var(--indigo));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.sf-about{max-width:340px}
.sf-tag{margin:10px 0 12px;font-size:12.5px;line-height:1.6;color:var(--muted)}
.sf-plus{font-size:12px;color:var(--faint);display:flex;align-items:center;gap:8px}
.sf-badge{display:inline-grid;place-items:center;min-width:34px;padding:2px 8px;border-radius:999px;
  font-weight:900;font-size:11px;color:#0b1a14;background:var(--teal)}
.sf-h{font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:12px}
.sf-col .sf-links{flex-direction:column;gap:9px}
.sf-links{display:flex;flex-wrap:wrap;gap:10px 22px}
.sf-links a{font-size:13px;font-weight:600;color:var(--muted)}
.sf-links a:hover{color:var(--teal)}
.sf-bottom{max-width:1120px;margin:22px auto 0;border-top:1px solid var(--line);padding-top:16px;
  font-size:11.5px;line-height:1.7;color:var(--faint)}
.sf-bottom p{margin-bottom:6px}
@media(max-width:820px){.sf-inner{grid-template-columns:1fr 1fr}.sf-about{grid-column:1/-1;max-width:none}}
@media(max-width:480px){.sf-inner{grid-template-columns:1fr}}

/* Páginas legales */
.legal-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 16px}
.legal-tabs a{font-size:12.5px;font-weight:700;color:var(--muted);padding:7px 13px;border-radius:999px;
  border:1px solid var(--line);background:var(--glass-2)}
.legal-tabs a:hover{color:var(--ink)}
.legal-tabs a.active{color:#0b1a14;background:var(--teal);border-color:var(--teal)}
.legal-doc{max-width:820px}
.legal-doc h1{margin:0 0 4px;font-size:26px}
.legal-upd{margin:0 0 22px;font-size:12px;color:var(--faint)}
.legal-doc .lead{font-size:15px;line-height:1.7;color:var(--ink-soft);margin:0 0 20px}
.legal-doc h2{font-size:16px;margin:22px 0 8px;color:var(--ink)}
.legal-doc p{font-size:13.5px;line-height:1.75;color:var(--ink-soft);margin:0 0 10px}
.legal-doc ul{margin:0 0 12px;padding-left:20px}
.legal-doc li{font-size:13.5px;line-height:1.7;color:var(--ink-soft);margin-bottom:6px}
.legal-doc a{color:var(--teal);font-weight:600}

/* ── Tarjetas de pick ── */
.picks{display:flex;flex-direction:column;gap:16px}
.pick{padding:20px 22px;position:relative;overflow:hidden}
.pick::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;
  background:var(--faint);border-radius:5px 0 0 5px}
.pick.take::before{background:linear-gradient(var(--green),#17a98a)}
.pick.lean::before{background:linear-gradient(var(--blue),#2c5fd0)}
.pick.prime::before{background:linear-gradient(var(--green),var(--teal))}
.pick.prime{box-shadow:var(--shadow), 0 0 0 1px rgba(80,226,156,.35), inset 0 1px 0 rgba(255,255,255,.09)}
.pick-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.pick-team{font-weight:900;font-size:22px;letter-spacing:.01em}
.pick-side{font-weight:400;font-size:12.5px;color:var(--muted);margin-left:8px}
.pick-league{
  display:inline-flex;align-items:center;gap:4px;
  margin-left:8px;padding:3px 9px;border-radius:8px;
  background:rgba(77,157,255,.12);border:1px solid rgba(77,157,255,.24);
  color:var(--cyan);font-size:10px;font-weight:900;letter-spacing:.06em;
  text-transform:none;vertical-align:middle;line-height:1
}
.pick-match{font-size:12px;color:var(--faint);margin-top:3px;letter-spacing:.03em}
.pick-sig{font-weight:900;font-size:12px;letter-spacing:.05em;padding:8px 16px;border-radius:12px;white-space:nowrap}
.sig-take{background:rgba(80,226,156,.18);color:var(--green)}
.sig-lean{background:rgba(62,123,250,.16);color:var(--blue)}
.pick-tag{font-weight:900;font-size:10px;letter-spacing:.08em;color:#fff;
  background:linear-gradient(135deg,var(--green),var(--teal));padding:3px 9px;border-radius:8px;
  margin-left:10px;vertical-align:middle;display:inline-flex;align-items:center;gap:5px;line-height:1;white-space:nowrap}
.pick-tag .ic,.risk-badge .ic{width:10px;height:10px;flex:none}
.pg-goal .ic,.ls-badge .ic,.ls-res .ic,.bs-chip .ic,.bank-delta .ic{width:11px;height:11px;flex:none}
.pick-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px;
  padding-top:16px;border-top:1px solid var(--line)}
.metric{text-align:center}
.mval{font-weight:900;font-size:21px}
/* Comparador de momios entre casas */
.odds-cmp{margin-top:14px;border:1px solid var(--line);border-radius:12px;background:var(--glass-2);overflow:hidden}
.odds-cmp>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  gap:10px;padding:11px 14px;font-size:12.5px;font-weight:700;color:var(--ink-soft)}
.odds-cmp>summary::-webkit-details-marker{display:none}
.odds-cmp>summary:hover{color:var(--ink)}
.oc-sum-l{display:flex;align-items:center;gap:7px}
.oc-sum-l .ic{width:15px;height:15px;color:var(--teal)}
.oc-sum-r{color:var(--muted);white-space:nowrap}
.oc-sum-r b{color:var(--teal);font-weight:900}
.oc-body{padding:4px 8px 8px;display:grid;grid-template-columns:1fr 1fr;gap:2px 14px}
.oc-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:8px;font-size:13px}
.oc-row.best{background:rgba(80,226,156,.1)}
.oc-row.mine{box-shadow:inset 0 0 0 1px var(--glass-hi)}
.oc-book{color:var(--ink-soft);display:flex;align-items:center;gap:6px}
.oc-you{font-size:9.5px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);
  background:var(--glass-2);border:1px solid var(--glass-hi);padding:1px 6px;border-radius:999px}
.oc-odd{font-weight:900;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:6px}
.oc-row.best .oc-odd{color:var(--teal)}
.oc-tag{font-size:9.5px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;color:#08110f;
  background:var(--teal);padding:1px 6px;border-radius:999px}
.oc-note{padding:8px 14px 12px;font-size:11.5px;line-height:1.55;color:var(--muted)}
.oc-note b{color:var(--ink-soft)}
.oc-mx-h{margin:2px 14px 4px;padding-top:10px;border-top:1px solid var(--line);
  font-size:12px;font-weight:800;color:var(--ink-soft);letter-spacing:.02em}
.oc-est{font-size:9.5px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:var(--amber);
  background:rgba(225,201,81,.14);border:1px solid rgba(225,201,81,.3);padding:1px 7px;border-radius:999px}
@media(max-width:560px){.oc-body{grid-template-columns:1fr}}
.mlbl{font-size:10px;color:var(--muted);margin-top:4px;letter-spacing:.04em;text-transform:uppercase}
.pick-stake{font-size:13.5px;color:var(--ink-soft);margin-top:14px;padding:11px 15px;
  background:var(--glass-2);border:1px solid var(--glass-hi);border-radius:14px}
.pick-stake b{font-weight:900;color:var(--indigo)}
.warns{margin-top:12px;display:flex;flex-direction:column;gap:8px}
.warn{font-size:12.5px;line-height:1.5;padding:10px 14px;border-radius:12px;display:flex;gap:9px;align-items:flex-start}
.warn-info{background:rgba(225,201,81,.12);border:1px solid rgba(225,201,81,.32);color:#ffce90}

/* ── Info del evento en la tarjeta de pick ── */
.pick-event{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:12px;font-size:11.5px;color:var(--muted)}
.ev-league{font-weight:900;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);
  background:var(--glass-2);border:1px solid var(--glass-hi);padding:3px 9px;border-radius:999px}
.ev-chip{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.pick-teams{display:flex;align-items:stretch;gap:10px;margin-top:12px}
.ev-team{flex:1;display:flex;flex-direction:column;gap:2px;padding:10px 13px;border-radius:14px;
  background:var(--glass-2);border:1px solid var(--glass-hi)}
.ev-team.backed{border-color:rgba(80,226,156,.5);background:rgba(80,226,156,.09);
  box-shadow:0 0 14px rgba(80,226,156,.14)}
.ev-team .trole{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.ev-team.backed .trole{color:var(--green)}
.ev-team .tn{font-weight:900;font-size:14.5px;line-height:1.2}
.ev-team .tmeta{font-size:11px;color:var(--muted)}
.ev-vs{display:flex;align-items:center;font-weight:900;color:var(--faint);font-size:12px}

.pos{color:var(--green)}.neg{color:var(--red)}.cyan{color:var(--cyan)}
.win{color:var(--green)}.loss{color:var(--red)}

.sec-head{display:flex;align-items:center;gap:12px;margin:26px 4px 14px;
  font-weight:900;font-size:12.5px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.sec-head:first-child{margin-top:6px}
.sec-head .ln{flex:1;height:1px;background:var(--line)}
.sec-head.prime{color:var(--green)}

.skips{display:flex;flex-direction:column;gap:8px}
.skip{display:flex;justify-content:space-between;gap:12px;align-items:center;
  font-size:12.5px;padding:12px 16px;border-radius:14px;color:var(--muted)}
.skip .st{font-weight:900;color:var(--ink-soft)}
.skip .sr{font-size:11.5px;color:var(--faint)}

.empty{text-align:center;color:var(--muted);padding:56px 0;font-size:14px}

/* ── Badges ── */
.badge{display:inline-block;font-weight:900;font-size:10.5px;padding:4px 10px;border-radius:999px;
  letter-spacing:.04em;white-space:nowrap}
.b-win{background:rgba(80,226,156,.18);color:var(--green)}
.b-loss{background:rgba(229,72,77,.14);color:var(--red)}
.b-wait{background:rgba(225,201,81,.18);color:var(--amber)}
.b-push{background:rgba(120,120,150,.16);color:var(--muted)}

/* ── Track record: stat cards ── */
.statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:6px}
.stat{padding:18px 20px}
.stat.hero{box-shadow:var(--shadow),0 0 0 1px rgba(80,226,156,.32), inset 0 1px 0 rgba(255,255,255,.09)}
.stat .lbl{font-size:10.5px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase;font-weight:700}
.stat .big{font-weight:900;font-size:30px;margin-top:8px;line-height:1}
.stat .sub{font-size:11.5px;color:var(--faint);margin-top:7px}

.banner{border-radius:18px;padding:15px 20px;font-size:13.5px;line-height:1.6;margin-bottom:22px;
  background:rgba(80,226,156,.09);border:1px solid rgba(80,226,156,.28);color:#8fe9d1;
  display:flex;align-items:flex-start;gap:10px}
.banner .ic{margin-top:2px;flex:none}
.banner b{font-weight:900}
:root[data-theme="light"] .banner{color:#0e5c44;background:rgba(20,150,120,.10);border-color:rgba(20,150,120,.30)}
:root[data-theme="light"] .banner .ic{color:#0a7d4e}

/* ── Tablas ── */
.tablecard{padding:8px 6px;margin-top:14px;overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:520px}
thead th{text-align:left;color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.05em;
  text-transform:uppercase;padding:12px 14px;border-bottom:1px solid var(--line)}
thead th.num{text-align:right}
tbody td{padding:13px 14px;border-bottom:1px solid var(--line)}
tbody tr:last-child td{border-bottom:none}
tbody tr:hover{background:rgba(255,255,255,.045)}
td.num{text-align:right;font-variant-numeric:tabular-nums}
.mininote{font-size:11.5px;color:var(--faint);margin:10px 4px 2px;line-height:1.5}
/* Tablas compactas (referidos, movimientos): se AJUSTAN al ancho en vez de forzar
   los 520px y cortarse. En móvil se aprietan padding/tipografía. */
.tbl{min-width:0;font-size:13px}
.tbl th,.tbl td{padding:9px 8px}
.tbl small{font-size:10.5px}
@media(max-width:560px){
  .tbl{font-size:11.5px}
  .tbl th{font-size:9px;padding:7px 5px;letter-spacing:.02em}
  .tbl td{padding:7px 5px}
  /* El resto de tablas (admin, más anchas) siguen con scroll horizontal dentro de su tarjeta. */
  .tablecard{padding:6px 2px}
}

/* ── Admin ── */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.panel{padding:24px}
.panel h2{font-weight:900;font-size:17px;margin-bottom:4px}
.panel .desc{font-size:12.5px;color:var(--muted);margin-bottom:18px;line-height:1.5}
.reqcount{margin-left:8px;background:var(--red);color:#fff;font-size:11px;font-weight:900;
  padding:2px 8px;border-radius:999px;vertical-align:middle}
.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tag-admin{background:linear-gradient(135deg,var(--violet),var(--indigo));color:#fff;
  font-size:10px;font-weight:900;padding:2px 8px;border-radius:999px;letter-spacing:.04em}
.tag-off{background:rgba(120,120,150,.16);color:var(--muted);
  font-size:10px;font-weight:900;padding:2px 8px;border-radius:999px}

/* ── Lista de usuarios (tarjetas, reemplaza la tabla ancha) ── */
.userlist{display:flex;flex-direction:column;gap:12px;margin-top:16px}
.ucard{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,340px);
  gap:14px 26px;padding:18px 20px;align-items:center}
.ucard.off{opacity:.55}
.ucard-info{min-width:0}
.ucard-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.uc-num{font-weight:900;font-size:19px;letter-spacing:.02em;font-variant-numeric:tabular-nums}
.uc-name{font-size:14px;font-weight:700;color:var(--ink-soft);margin-top:5px}
.uc-meta{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:13px}
.uc-meta>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.uc-meta i{font-style:normal;font-size:9px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);font-weight:700}
.uc-meta b{font-size:13px;font-weight:700;color:var(--ink);word-break:break-word}
.ucard-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-start}
.uc-edit{grid-column:1/-1;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.ucard-actions .input,.ucard-actions select{width:auto}
@media (max-width:820px){
  .ucard{grid-template-columns:1fr}
}

/* ── Paneles plegables (details/summary) ── */
.foldpanel{padding:0;margin-top:20px;overflow:hidden}
.foldpanel>summary{list-style:none;cursor:pointer;user-select:none;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:20px 24px;font-weight:900;font-size:17px}
.foldpanel>summary::-webkit-details-marker{display:none}
.fp-title{display:flex;align-items:center;gap:10px}
.fp-count{font-weight:900;font-size:12px;color:var(--ink);background:var(--glass-2);
  border:1px solid var(--glass-hi);padding:2px 10px;border-radius:999px}
/* Comparativa Ingreso vs Gasto */
.ivg-bars{display:flex;flex-direction:column;gap:12px}
.ivg-row{display:flex;align-items:center;gap:12px}
.ivg-lbl{flex:none;width:64px;font-size:12.5px;font-weight:800;color:var(--ink-soft)}
.ivg-track{flex:1;height:20px;border-radius:999px;background:var(--glass-2);border:1px solid var(--glass-hi);overflow:hidden}
.ivg-fill{height:100%;border-radius:999px;min-width:3px;transition:width .35s ease}
.ivg-fill.pos{background:linear-gradient(90deg,var(--teal),var(--green))}
.ivg-fill.neg{background:linear-gradient(90deg,var(--red),#f0836f)}
.ivg-val{flex:none;width:88px;text-align:right;font-size:13px;font-weight:900;color:var(--ink);font-variant-numeric:tabular-nums}

.fp-total{margin-left:auto;font-size:13px;font-weight:700;color:var(--muted);
  display:flex;align-items:baseline;gap:6px;white-space:nowrap}
.fp-total b{font-size:16px;font-weight:900}
.fp-total small{font-size:11px;color:var(--faint);font-weight:700}
.fp-total.neg b{color:var(--red)}
.fp-total.pos b{color:var(--teal)}
.fp-chevron{width:10px;height:10px;flex:none;border-right:2px solid var(--muted);
  border-bottom:2px solid var(--muted);transform:rotate(-45deg);transition:transform .2s ease;margin-right:5px}
.foldpanel[open]>summary .fp-chevron{transform:rotate(45deg)}
.fp-body{padding:0 24px 24px}
.fp-body>.desc:first-child{margin-top:0}
.bk-list{display:flex;flex-direction:column;gap:6px}
.bk-row{display:flex;justify-content:space-between;gap:14px;align-items:center;
  font-size:12.5px;color:var(--ink-soft);padding:9px 14px;border-radius:12px;
  background:var(--glass-2);border:1px solid var(--glass-hi)}
.bk-row .bk-name{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.bk-row .bk-size{color:var(--muted)}
code{font-family:ui-monospace,Menlo,monospace;font-size:.92em;background:var(--glass-2);
  border:1px solid var(--glass-hi);padding:1px 6px;border-radius:6px}

.footer{margin-top:28px;padding:0 6px;color:var(--faint);font-size:11.5px;line-height:1.8}

/* ── Bank del usuario ── */
.bankpanel{padding:20px 22px;margin-bottom:22px}
.bank-title{font-weight:900;font-size:15px;letter-spacing:.02em;display:inline-flex;align-items:center;gap:6px;line-height:1.1}
.bank-sub{font-size:12.5px;color:var(--muted);margin:6px 0 14px;line-height:1.5}
.bank-form{display:flex;gap:10px;flex-wrap:wrap}
.bank-form .input{max-width:220px}
.bank-warn{font-size:11.5px;color:var(--faint);margin-top:10px}
.bank-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap}
.bank-now{font-weight:900;font-size:34px;line-height:1;margin-top:8px}
.bank-delta{font-weight:900;font-size:15px;margin-top:8px;display:inline-flex;align-items:center;gap:6px;line-height:1.1}
.bank-delta .bank-pct{font-weight:700;font-size:13px;opacity:.85;margin-left:4px}
.bank-meta{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.bank-meta .bm{display:flex;flex-direction:column;gap:2px}
.bank-meta .bm span{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.bank-meta .bm b{font-weight:900;font-size:16px}

/* ── Controles de apuesta en cada pick ── */
.bet{margin-top:14px;padding:11px 15px;border-radius:14px;font-size:13.5px;
  display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
  background:var(--glass-2);border:1px solid var(--glass-hi)}
.bet b{font-weight:900}
.bet.muted{color:var(--faint);justify-content:center}
.bet .bet-actions{display:flex;gap:8px;align-items:center}
.bet .betamt{width:110px;padding:8px 12px;font-size:14px}
.bet-sugg{color:var(--ink-soft)}
.bet.form .bet-sugg b{color:var(--indigo)}
.bet.form{flex-direction:column;align-items:stretch}
.bet-odds{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%;
  padding-bottom:10px;margin-bottom:2px;border-bottom:1px solid var(--glass-hi)}
.bet-odds .bo-lbl{color:var(--ink-soft);font-weight:700}
.bet-odds .oddsov{width:96px;padding:8px 12px;font-size:14px;text-align:center;font-weight:900}
.bet-odds .bo-hint{color:var(--faint);font-size:12px}
.bet-odds .bo-reset{font-size:12px;padding:6px 10px}
.bet.form .bet-sugg{width:100%}
.bet.form .bet-actions{width:100%;justify-content:space-between}
.bet.pend{background:rgba(225,201,81,.1);border-color:rgba(225,201,81,.3);color:#ffce90}
.bet.pend b{color:#ffe0b0}
.bet.done.win{background:rgba(80,226,156,.12);border-color:rgba(80,226,156,.32);color:#8fe9d1}
.bet.done.loss{background:rgba(236,92,107,.1);border-color:rgba(236,92,107,.32);color:#ff9aa2}
.bet-res b{font-size:15px}

/* ── Categorías de riesgo ── */
.sec-head.c-top{color:var(--green)}
.sec-head.c-medio{color:var(--amber)}
.sec-head.c-alto{color:var(--red)}
.risk-badge{font-weight:900;font-size:10px;letter-spacing:.06em;padding:3px 9px;border-radius:8px;vertical-align:middle;white-space:nowrap;display:inline-flex;align-items:center;gap:5px;line-height:1}
.r-medio{background:rgba(225,201,81,.16);color:var(--amber)}
.r-alto{background:rgba(236,92,107,.16);color:var(--red)}
.pick.risk-medio::before{background:linear-gradient(var(--amber),#d97a12)}
.pick.risk-alto::before{background:linear-gradient(var(--red),#c23842)}

/* ── Tarjeta bloqueada por plan ── */
.pick.locked{position:relative;overflow:hidden;min-height:150px}
.pick.locked .lock-content{filter:blur(9px);opacity:.45;user-select:none;pointer-events:none}
.pick.locked.c-medio::before{background:linear-gradient(var(--amber),#d97a12)}
.pick.locked.c-alto::before{background:linear-gradient(var(--red),#c23842)}
.lock-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:16px}
.lock-prob{font-weight:900;font-size:38px;line-height:1;color:var(--cyan)}
.lock-prob span{display:block;font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-top:4px}
.lock-msg{font-size:12.5px;font-weight:700;color:var(--ink-soft);background:var(--glass-2);border:1px solid var(--glass-hi);padding:7px 14px;border-radius:999px}

/* ── Badge de plan ── */
.plan-badge{font-weight:900;font-size:11px;letter-spacing:.05em;padding:6px 13px;border-radius:999px;
  text-transform:uppercase;line-height:1}
.plan-basic{background:rgba(139,163,157,.2);color:var(--ink-soft)}
.plan-plus{background:rgba(77,157,255,.18);color:var(--blue)}
.plan-gold{background:linear-gradient(135deg,#f6d36b,#e0a52e);color:#3a2c05}

/* ── Perfil ── */
.profile{max-width:560px;margin:0 auto}
.profile .row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 2px;border-bottom:1px solid var(--line);font-size:14px}
.profile .row:last-child{border-bottom:none}
.profile .row>span{color:var(--muted)}
.profile .row b{font-weight:900}
.profile h2{font-weight:900;font-size:16px;margin:22px 0 8px}

@media (max-width:760px){
  .grid2{grid-template-columns:1fr}
  .pick-metrics{grid-template-columns:repeat(2,1fr)}
  .pick-team{font-size:20px}
  .meta{gap:16px}
  .bank-head{flex-direction:column}
  .bet{flex-direction:column;align-items:stretch}
  .bet .bet-actions{justify-content:space-between}
  .bet .betamt{flex:1}
}

/* ═══════════ GLOW MENTA (fosforescente, sutil) ═══════════ */
.brand .logo .cold, .topbar .logo .cold{ text-shadow:0 0 16px rgba(80,226,156,.45) }
.pick.prime{ box-shadow:var(--shadow), 0 0 0 1px rgba(80,226,156,.4), 0 0 26px rgba(80,226,156,.12), inset 0 1px 0 rgba(255,255,255,.09) }
.pick-tag{ box-shadow:0 0 12px rgba(80,226,156,.45) }
.sig-take, .b-win, .badge.b-win{ box-shadow:0 0 10px rgba(80,226,156,.2) }
.lock-prob{ text-shadow:0 0 18px rgba(80,226,156,.45) }
.bank-now{ text-shadow:0 0 22px rgba(80,226,156,.25) }
.plan-gold{ box-shadow:0 0 12px rgba(225,201,81,.45) }
.hl-green{ text-shadow:0 0 12px rgba(80,226,156,.35) }
.btn:not(.ghost):not(.danger){ box-shadow:0 8px 22px rgba(80,226,156,.32), 0 0 18px rgba(80,226,156,.28), inset 0 1px 0 rgba(255,255,255,.35) }

/* ═══════════ TOGGLE DE TEMA ═══════════ */
.theme-toggle{
  position:fixed; bottom:18px; right:18px; z-index:120;
  width:46px; height:46px; border-radius:50%;
  border:1px solid var(--glass-hi); background:var(--glass);
  -webkit-backdrop-filter:blur(20px) saturate(160%); backdrop-filter:blur(20px) saturate(160%);
  box-shadow:var(--shadow), 0 0 18px rgba(80,226,156,.3);
  font-size:20px; line-height:1; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:transform .15s ease, box-shadow .15s ease;
}
.theme-toggle:hover{ transform:translateY(-2px) scale(1.06); box-shadow:var(--shadow-lg), 0 0 26px rgba(80,226,156,.45) }

/* ═══════════ TEMA CLARO (blanco, luminoso, menta) ═══════════ */
:root[data-theme="light"]{
  background:#edf6f2; color-scheme:light;
  --ink:#122019; --ink-soft:#324b40; --muted:#5b7166; --faint:#8aa398;
  --line:rgba(20,130,105,.14);
  --glass:rgba(255,255,255,.66);
  --glass-2:rgba(20,150,120,.06);
  --glass-hi:rgba(255,255,255,.92);
  --field:rgba(255,255,255,.8);
  /* Teal más oscuro en tema claro: el menta #1cb877 se perdía como texto sobre
     fondo claro. Estos tonos dan contraste legible (AA). Los fondos/bordes menta
     usan rgba fijos aparte, así que siguen suaves. */
  --violet:#0a7d4e; --indigo:#0a6f46; --teal:#0a7d4e; --green:#0a7d4e; --cyan:#0a7d4e;
  --red:#dd4b5a; --blue:#3a86e0; --amber:#bf9c2b;
  --grad:linear-gradient(135deg,#3fd48f,#1cb877);
  --shadow:0 12px 38px rgba(30,140,115,.16);
  --shadow-lg:0 24px 66px rgba(30,140,115,.22);
}
:root[data-theme="light"] body{
  color:var(--ink);
  background:
    linear-gradient(rgba(20,180,150,.05) 1px, transparent 1px) 0 0 / 46px 46px,
    linear-gradient(90deg, rgba(20,180,150,.05) 1px, transparent 1px) 0 0 / 46px 46px,
    radial-gradient(120% 120% at 0% 0%,   rgba(80,226,156,.16) 0%, transparent 55%),
    radial-gradient(120% 120% at 100% 100%,rgba(130,220,255,.16) 0%, transparent 55%),
    #edf6f2;
}
:root[data-theme="light"] body::before{ background:radial-gradient(circle,#9ff0dc,#e9fff8 70%); opacity:.5 }
:root[data-theme="light"] body::after{ background:radial-gradient(circle,#b6ecff,#eafaff 70%); opacity:.45 }
:root[data-theme="light"] .glass{ box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.9) }
:root[data-theme="light"] .btn:not(.ghost):not(.danger){ color:#04140f }
:root[data-theme="light"] .input,
:root[data-theme="light"] select,
:root[data-theme="light"] textarea{ border-color:rgba(20,130,105,.18); box-shadow:inset 0 1px 3px rgba(20,130,105,.07) }
:root[data-theme="light"] tbody tr:hover{ background:rgba(20,160,125,.06) }
:root[data-theme="light"] select option{ background:#ffffff; color:var(--ink) }
:root[data-theme="light"] .pick.locked .lock-content{ opacity:.55 }

/* ── Registro / planes ── */
.reg-card{width:100%;max-width:640px;padding:36px 34px}
.reg-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:6px}
.promo-banner{margin:6px 0 18px;padding:13px 16px;border-radius:14px;text-align:center;
  font-size:15px;font-weight:800;color:#0b1512;
  background:linear-gradient(135deg,var(--cyan),var(--amber));letter-spacing:.01em}
.promo-banner b{font-size:19px;font-weight:900}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:10px 0 20px}
.plans:has(.plan-solo){grid-template-columns:1fr;max-width:280px;margin-inline:auto}
.plan-solo{cursor:default}
.plan{cursor:pointer;display:block}
.plan input{position:absolute;opacity:0;pointer-events:none}
.plan-card{height:100%;padding:16px 14px;border-radius:16px;text-align:center;
  background:var(--glass-2);border:1.5px solid var(--glass-hi);transition:.15s}
.plan:hover .plan-card{border-color:var(--teal)}
.plan input:checked + .plan-card{border-color:var(--teal);
  box-shadow:0 0 0 1px var(--teal),0 0 20px rgba(80,226,156,.2);background:var(--glass)}
.plan-name{font-weight:900;font-size:15px;color:var(--ink);letter-spacing:.02em}
.plan-price{margin-top:8px;font-size:14px;color:var(--muted)}
.plan-price s{opacity:.7;margin-right:6px}
.plan-price b{font-size:24px;font-weight:900;color:var(--green)}
.plan-sub{font-size:11.5px;color:var(--faint);margin-top:3px}
.plan-feat{margin-top:10px;font-size:12px;color:var(--ink-soft);line-height:1.4;
  border-top:1px solid var(--line);padding-top:9px}
.reg-num{text-align:center;font-size:30px;font-weight:900;letter-spacing:.14em;
  color:var(--cyan);margin:14px 0 20px;font-family:ui-monospace,Menlo,monospace}
/* Suscripción / gestionar plan (pago manual) */
.susc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.susc-card{border:1px solid var(--glass-hi);border-radius:16px;padding:18px 18px 20px;background:var(--glass-2)}
.susc-name{font-weight:900;font-size:15px;color:var(--ink);letter-spacing:.02em}
.susc-price{font-weight:900;font-size:30px;color:var(--teal);margin-top:6px}
.susc-price .js-unit{font-size:14px;color:var(--muted);font-weight:700}
.susc-old{font-size:16px;color:var(--faint);font-weight:700;text-decoration:line-through;margin-right:4px}
.susc-sub{font-size:12.5px;color:var(--muted);margin-top:2px}
.susc-sub s{color:var(--faint)}
.susc-promo{margin-top:8px;font-size:12px;font-weight:800;color:var(--teal);background:rgba(80,226,156,.1);border:1px solid rgba(80,226,156,.28);border-radius:8px;padding:6px 10px}
.susc-feat{list-style:none;margin:14px 0 0;padding:12px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.susc-feat li{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--ink-soft);line-height:1.4}
.susc-feat .ic{width:15px;height:15px;flex:0 0 15px;margin-top:1px;color:var(--teal)}
.susc-cycle{display:flex;gap:16px;margin:14px 0 12px}
.susc-cycle label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-soft);cursor:pointer}
.susc-cycle input{accent-color:var(--teal)}
.paybox{border-top:1px solid var(--line);padding-top:12px}
.paybox>summary{list-style:none;cursor:pointer}
.paybox>summary::-webkit-details-marker{display:none}
.paybox[open]>summary{background:var(--glass-hi);color:var(--ink)}
.paybox-body{margin-top:12px;border:1px solid var(--glass-hi);border-radius:12px;padding:14px;background:rgba(0,0,0,.12)}
.pay-h{font-weight:900;font-size:13px;color:var(--ink);margin-bottom:8px}
.pay-amount{font-size:14px;color:var(--ink-soft);margin-bottom:4px}
.pay-both{font-size:12.5px;color:var(--ink-soft);margin-bottom:12px}
.pay-both b{color:var(--teal)}
.pay-amount b{color:var(--teal);font-size:18px;font-weight:900}
.pay-data{margin:0 0 10px;display:flex;flex-direction:column;gap:7px}
.pay-data>div{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;border-bottom:1px dashed var(--line);padding-bottom:6px}
.pay-data dt{color:var(--muted)}
.pay-data dd{margin:0;color:var(--ink);font-weight:700;text-align:right}
.pay-data dd.mono{font-family:ui-monospace,Menlo,monospace;letter-spacing:.02em}
.pay-warn{font-size:12px;color:var(--amber);background:rgba(225,201,81,.09);border:1px solid rgba(225,201,81,.3);border-radius:8px;padding:8px 10px;line-height:1.5}
.wa-btn{background:#25d366;border-color:#25d366;color:#04310f}
.wa-btn:hover{background:#1fbb59;border-color:#1fbb59}
.cupon-box{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}
.cupon-box>label{display:block;font-size:13px;font-weight:800;color:var(--ink);margin-bottom:8px}
.cupon-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.cupon-row .input{max-width:240px}
@media(max-width:560px){.susc-grid{grid-template-columns:1fr}}
.consent-title{margin:16px 0 8px;font-size:13px;font-weight:800;color:var(--ink)}
.consent-row{display:flex;align-items:flex-start;gap:9px;margin:0 0 9px;font-size:12.5px;color:var(--ink-soft);line-height:1.5;cursor:pointer}
.consent-row input{margin-top:2px;flex:none;width:16px;height:16px;accent-color:var(--teal)}
.consent-row a{color:var(--teal);font-weight:700}
.consent-opt{margin-top:6px;padding-top:10px;border-top:1px solid var(--line);color:var(--muted)}

/* Filtro de usuarios (admin) — compacto */
.ufilter{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.ufilter .input,.ufilter select{padding:8px 10px;font-size:13px;border-radius:10px}
.ufilter #uf-q{flex:1;min-width:160px;max-width:260px}
.ufilter select{max-width:180px;cursor:pointer}
.ufilter #uf-count{font-size:11.5px;color:var(--muted);margin-left:auto;white-space:nowrap}
/* Selector de estado de pago coloreado */
.pago-sel{font-weight:800;border-radius:8px;background:var(--glass-2)}
.pago-sel.pago-pagada{color:var(--teal);border:1px solid rgba(80,226,156,.5)}
.pago-sel.pago-pendiente{color:var(--red);border:1px solid rgba(236,92,107,.6)}
.pago-sel.pago-cortesia{color:#b98cff;border:1px solid rgba(185,140,255,.55)}
/* Referidos: mensaje solo-Gold */
.ref-locked{text-align:center;padding:40px 24px}
.ref-locked-h{font-size:26px;font-weight:900;line-height:1.25;color:var(--ink)}
.ref-locked-h span{color:var(--amber);font-size:20px}
.ref-locked p{margin:14px auto;max-width:460px;color:var(--ink-soft);font-size:15px;line-height:1.6}

/* Contador regresivo de la prueba Gold (7 días) — compacto */
.ref-cd{margin:0 0 14px}
.ref-cd-in{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;padding:7px 12px;border-radius:11px;
  background:linear-gradient(100deg,rgba(225,201,81,.16),rgba(225,201,81,.05));border:1px solid rgba(225,201,81,.42);box-shadow:0 0 18px rgba(225,201,81,.12)}
.ref-cd-ic{font-size:14px;display:inline-flex}
.ref-cd-ic svg{width:16px!important;height:16px!important}
.ref-cd-txt{font-size:12px;color:var(--ink-soft)}
.ref-cd-txt b{color:var(--amber)}
.ref-cd-clock{font-family:ui-monospace,Menlo,monospace;font-weight:900;font-size:14.5px;color:var(--amber);letter-spacing:.02em;
  padding:2px 9px;border-radius:8px;background:rgba(225,201,81,.12);min-width:96px;text-align:center}
.ref-cd-btn{padding:5px 12px;border-radius:999px;font-weight:800;font-size:11.5px;text-decoration:none;background:var(--amber);color:#1a1608}
.ref-cd-btn:hover{filter:brightness(1.08);text-decoration:none}
.ref-cd.urgent .ref-cd-in{border-color:var(--red);background:linear-gradient(100deg,rgba(236,92,107,.16),rgba(236,92,107,.05));animation:refpulse 1.4s ease-in-out infinite}
.ref-cd.urgent .ref-cd-clock{color:var(--red);background:rgba(236,92,107,.12)}
.ref-cd.urgent .ref-cd-txt b{color:var(--red)}
.ref-cd.ended .ref-cd-in{border-color:var(--red)}
@keyframes refpulse{0%,100%{box-shadow:0 0 0 0 rgba(236,92,107,0)}50%{box-shadow:0 0 24px 2px rgba(236,92,107,.28)}}
@media(max-width:520px){.ref-cd-clock{font-size:13.5px;min-width:88px}.ref-cd-txt{font-size:11px}}

/* Barra histórica de comisiones recibidas (perfil de referidor) */
.ref-hist{margin:2px 0 16px}
.ref-hist-head{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px;color:var(--muted);font-weight:800;margin-bottom:6px}
.ref-hist-head b{font-size:19px;color:var(--teal);font-weight:900}
.ref-hist-track{height:12px;border-radius:999px;background:var(--glass-2);border:1px solid var(--glass-hi);overflow:hidden}
.ref-hist-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#22b877,#50e29c);box-shadow:0 0 14px rgba(80,226,156,.4);min-width:6px;transition:width .5s ease}
.ref-hist-sub{font-size:11.5px;color:var(--faint);margin-top:6px}
.ref-code-actions{display:flex;gap:8px;justify-content:center}

/* Bank: zona de retiros/reinicio */
.bs-reset{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.bs-reset-h{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px;color:var(--muted);font-weight:800;margin-bottom:8px}
.bs-reset-h b{font-size:16px}
.bs-retiro{display:flex;justify-content:space-between;font-size:12.5px;padding:6px 2px;border-bottom:1px dashed var(--line)}
.bs-retiro:last-of-type{border-bottom:none}
.reg-legal{margin-top:16px;font-size:11.5px;color:var(--faint);line-height:1.55;text-align:center}
.or-sep{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--faint);font-size:12px}
.or-sep::before,.or-sep::after{content:"";flex:1;height:1px;background:var(--line)}
@media(max-width:560px){.reg-grid{grid-template-columns:1fr}.plans{grid-template-columns:1fr}}

/* ── Marcador en vivo (api/scores.php) ── */
.livescore{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:0 0 12px;
  width:100%;box-sizing:border-box;padding:10px 14px;border-radius:14px;background:var(--glass-2);
  border:1px solid var(--line);font-size:13.5px}
.livescore.is-live{
  flex-direction:column;align-items:flex-start;gap:8px;
  background:linear-gradient(180deg,rgba(236,92,107,.14),rgba(229,72,77,.08));
  border-color:rgba(236,92,107,.42);
  box-shadow:0 12px 28px rgba(229,72,77,.18), inset 0 1px 0 rgba(255,255,255,.08)
}
.livescore.is-final{background:var(--glass-2)}
.ls-live-btn{
  border:1px solid rgba(255,255,255,.22);cursor:default;pointer-events:none;
  display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1;
  border-radius:999px;padding:8px 14px;min-height:34px;min-width:110px;
  background:linear-gradient(135deg,#ff7a7f,#e11d48);
  color:#fff;font-weight:900;font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  text-shadow:0 1px 0 rgba(0,0,0,.18);
  box-shadow:0 12px 24px rgba(225,29,72,.34), 0 0 18px rgba(236,92,107,.22), inset 0 1px 0 rgba(255,255,255,.16)
}
.ls-live-btn:disabled{opacity:1}
.ls-live-btn .ic{width:11px;height:11px;flex:none}
.livescore.is-live .ls-inn,.livescore.is-live .ls-score,.livescore.is-live .ls-res{margin-left:0}
.ls-badge{font-weight:900;font-size:11px;letter-spacing:.05em;padding:3px 9px;border-radius:999px;text-transform:uppercase;display:inline-flex;align-items:center;gap:6px;line-height:1;white-space:nowrap}
.ls-badge.final{color:var(--muted);background:var(--glass-hi)}
.ls-inn{font-size:12px;font-weight:800;color:var(--ink-soft);display:inline-flex;align-items:center;gap:5px;line-height:1}
.ls-dir{display:inline-flex;align-items:center;justify-content:center}
.ls-dir .ic{width:12px;height:12px}
.ls-score{font-weight:700;color:var(--ink)}
.ls-score b{font-weight:900;font-size:16px}
.ls-team{color:var(--muted);font-weight:800;font-size:12px}
.ls-dash{margin:0 6px;color:var(--faint)}
.ls-res{margin-left:auto;font-weight:900;font-size:12px;padding:3px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;line-height:1;white-space:nowrap}
.ls-res.win{color:var(--green);background:rgba(80,226,156,.16)}
.ls-res.loss{color:var(--red);background:rgba(236,92,107,.14)}
@media (prefers-reduced-motion:reduce){.ls-live-btn{box-shadow:0 8px 20px rgba(229,72,77,.18)}}

/* ── Track: historial año › mes › día ── */
.tr-year, .tr-month, .tr-day{border-top:1px solid var(--line)}
.tr-year:first-child{border-top:none}
.tr-year>summary,.tr-month>summary,.tr-day>summary{list-style:none;cursor:pointer;
  display:flex;align-items:center;gap:10px;padding:10px 2px;font-weight:800}
.tr-year>summary::-webkit-details-marker,.tr-month>summary::-webkit-details-marker,.tr-day>summary::-webkit-details-marker{display:none}
.tr-year[open]>summary .cat-chevron,.tr-month[open]>summary .cat-chevron,.tr-day[open]>summary .cat-chevron{transform:rotate(45deg)}
.tr-year>summary{font-size:16px;color:var(--ink)}
.tr-month{margin-left:16px}
.tr-month>summary{font-size:14px;color:var(--ink-soft);text-transform:capitalize}
.tr-day{margin-left:16px}
.tr-day>summary{font-size:13px;color:var(--muted);font-weight:700}
.tr-sum{margin-left:auto;font-size:12.5px;color:var(--muted);font-weight:700}
.tr-picks{display:flex;flex-direction:column;gap:6px;margin:2px 0 10px}
.tr-pick{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:12px 14px;border-radius:12px;background:var(--glass-2);font-size:13px
}
.tr-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.tr-match{font-weight:800;color:var(--ink);line-height:1.35}
.tr-sub{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11.5px;color:var(--muted)}
.tr-pickside{font-weight:800;color:var(--ink-soft)}
.tr-sub .pick-tag,.tr-sub .risk-badge{margin-left:0}
.tr-load{margin-left:auto}
@media(max-width:560px){
  .tr-main{width:100%}
  .tr-load{width:100%}
  .tr-pick .badge{order:2}
}

/* ── Mis jugadas ── */
.plays-table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:760px}
.plays-table th{text-align:left;color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.05em;
  text-transform:uppercase;padding:12px 14px;border-bottom:1px solid var(--line)}
.plays-table th.num{text-align:right}
.plays-table td{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
.plays-table tbody tr:hover{background:rgba(255,255,255,.045)}
.plays-table tbody tr:last-child td{border-bottom:none}
.plays-table td.num{text-align:right;font-variant-numeric:tabular-nums}
.my-sub{font-size:11px;color:var(--muted);margin-top:3px}
.my-amt{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}
.my-input{max-width:120px}
.my-fld{display:flex;flex-direction:column;gap:3px}
.my-fld-l{font-size:10.5px;color:var(--faint);text-transform:uppercase;letter-spacing:.04em;font-weight:800;padding-left:2px}
.my-odds{max-width:90px;text-align:center;font-weight:800}
.my-pick{align-items:flex-start}
.my-actions{
  margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:8px;
  min-width:240px
}
.my-line{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.my-result-edit{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.my-pl{font-weight:900}
.my-sel{
  display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;
  background:var(--glass-hi);border:1px solid var(--line);color:var(--ink-soft);
  font-size:11px;font-weight:800;line-height:1
}
.plays-table .badge{display:inline-flex;align-items:center;justify-content:center}
@media(max-width:820px){.plays-table{min-width:680px}}
@media(max-width:560px){
  .my-actions{width:100%;margin-left:0;align-items:stretch;min-width:0}
  .my-amt,.my-line{justify-content:space-between}
  .my-result-edit{justify-content:space-between}
}

/* ── Alta manual de jugadas ── */
.manualpanel{margin:0 0 18px}   /* es un foldpanel: el padding lo pone .fp-body */
.manual-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.manual-form{margin-top:14px;display:flex;flex-direction:column;gap:10px}
.manual-grid{
  display:grid;gap:10px;align-items:end;
  grid-template-columns:1fr 1.6fr 1fr .85fr .8fr .8fr .85fr auto
}
.manual-grid-head{
  font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);padding:0 2px 2px
}
.manual-grid-head span:last-child{visibility:hidden}
.manual-grid-fields .input,
.manual-grid-fields select,
.manual-grid-fields input[type=date]{width:100%;min-width:0;max-width:100%}
.manual-grid-fields input[type=date]{-webkit-appearance:none;appearance:none}
.manual-grid-fields .btn{min-height:42px;align-self:stretch}
.manual-note{font-size:12px;color:var(--faint);line-height:1.45}
@media(max-width:1180px){
  .manual-grid{grid-template-columns:1fr 1.4fr 1fr .9fr .8fr .8fr .9fr auto}
}
@media(max-width:980px){
  .manual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .manual-grid-head{display:none}
  .manual-grid-fields .btn{grid-column:1 / -1;width:100%}
}
/* Teléfono: una sola columna → el campo de fecha (ancho mínimo propio en iOS) ya no se desborda ni se encima. */
@media(max-width:620px){
  .manual-grid{grid-template-columns:1fr}
}

/* ── Barra de rendimiento del bank + ajustes de staking ── */
.pg{margin-top:16px}
.pg-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin-bottom:7px;font-weight:700}
.pg-top b{color:var(--ink)}
.pg-goal{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:rgba(80,226,156,.12);border:1px solid rgba(80,226,156,.24);color:var(--ink);font-size:11px;white-space:nowrap}
.pg-goal b{font-size:12px}
.pg-track{position:relative;height:16px;border-radius:8px;background:rgba(255,255,255,.07);overflow:hidden}
.pg-fill{position:absolute;top:0;height:100%}
.pg-fill.up{background:linear-gradient(90deg,rgba(80,226,156,.55),var(--green))}
.pg-fill.up.reached{background:linear-gradient(90deg,var(--green),#9df5cb);box-shadow:0 0 16px rgba(80,226,156,.6)}
.pg-fill.down{background:linear-gradient(90deg,var(--red),rgba(236,92,107,.55))}
.pg-base{position:absolute;left:50%;top:-2px;height:20px;width:3px;margin-left:-1.5px;background:var(--amber);border-radius:2px;box-shadow:0 0 8px rgba(225,201,81,.7);z-index:2}
.pg-ends{display:flex;justify-content:space-between;font-size:11px;margin-top:6px;font-weight:700}
.pg-yellow{color:var(--amber)}
.pg-cta{margin-top:14px;padding:14px 16px;border-radius:14px;border:1px solid rgba(80,226,156,.4);background:rgba(80,226,156,.1)}
.pg-cta-h{font-size:14px;font-weight:800;color:var(--ink)}
.pg-cta-sub{font-size:12.5px;color:var(--muted);margin:6px 0 12px;line-height:1.5}
.pg-cta-btns{display:flex;gap:10px;flex-wrap:wrap}
.bank-settings{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
.bank-settings>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:var(--muted)}
.bank-settings>summary::-webkit-details-marker{display:none}
.bank-settings[open]>summary .cat-chevron{transform:rotate(45deg)}
.bank-settings[open]>summary{color:var(--ink-soft)}
.bs-body{margin-top:12px;display:flex;flex-direction:column;gap:10px}
.bs-row-mode{align-items:flex-start;flex-direction:column;gap:8px}
.bs-row-mode > label{margin-bottom:0}
.bs-mode{display:flex;gap:8px;flex-wrap:wrap}
.bs-chip{display:inline-flex;align-items:center;gap:6px;line-height:1;border-radius:999px;padding:8px 12px;border:1px solid var(--glass-hi);background:var(--glass-2);color:var(--muted);font:inherit;font-size:12px;font-weight:800;cursor:pointer;transition:border-color .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease}
.bs-chip:hover{color:var(--ink)}
.bs-chip.active{color:var(--ink);border-color:rgba(80,226,156,.4);background:rgba(80,226,156,.12);box-shadow:0 0 0 1px rgba(80,226,156,.12)}
.bs-note{font-size:12px;color:var(--faint);margin-top:2px}
.bs-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.bs-row>label{font-size:13px;font-weight:700;color:var(--ink-soft);display:flex;align-items:center}
.bs-inp{display:flex;align-items:center;gap:6px}
.bs-inp input{width:92px;padding:8px 10px;font-size:14px;text-align:right}
.bs-inp i{color:var(--muted);font-style:normal;font-weight:700}

/* Chips de deporte / momio (track record + mis jugadas) + marcador programado */
.pick-sport{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:800;background:var(--glass-2);border:1px solid var(--glass-hi);color:var(--ink-soft)}
.pick-odds{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:900;background:rgba(80,226,156,.14);color:var(--green)}
.ls-badge.sched{color:var(--muted);background:var(--glass-hi)}

/* ── Multidía: pestañas de día + "Por confirmar" ── */
.daybar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.day-pill{font-family:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 16px;border-radius:14px;background:var(--glass-2);border:1px solid var(--glass-hi);color:var(--muted);font-weight:800;font-size:13.5px;transition:.15s}
.day-pill:hover{color:var(--ink)}
.day-pill.active{color:var(--ink);background:var(--glass);border-color:var(--teal);box-shadow:0 0 0 1px var(--teal),0 0 16px rgba(80,226,156,.18)}
.day-n{font-size:11px;font-weight:700;color:var(--faint)}
.day-pill.active .day-n{color:var(--teal)}
.pending-card{padding:14px 16px;margin-bottom:10px}
.pend-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14.5px;color:var(--ink)}
.pend-time{font-size:12px;color:var(--muted);font-weight:700}
.pend-note{margin-top:6px;font-size:12.5px;color:var(--faint);display:flex;align-items:center;gap:6px}
.pend-note svg{width:14px;height:14px;flex:none}

/* En vivo: estado de la apuesta con el marcador actual */
.ls-res.tie{color:var(--amber);background:rgba(225,201,81,.14)}

/* Móvil: los inputs con letra <16px hacen que iOS haga zoom al enfocar.
   16px en pantallas chicas elimina ese "zoom raro" al escribir. */
@media (max-width:700px){
  .input, select, textarea, .betamt, .bs-inp input, .my-input{font-size:16px !important}
}
/* Chips (deporte · liga · categoría) debajo del nombre del pick */
.pick-badges{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:6px 0 4px}

/* Registro de usos de una promo (panel admin) */
.promo-users{margin-top:4px}
.promo-users>summary{cursor:pointer;font-size:11px;color:var(--teal);font-weight:700}
.promo-users ul{margin:6px 0 0;padding-left:16px;font-size:11.5px;color:var(--muted);line-height:1.6}
.promo-users li{list-style:disc}

/* Panel de sostenibilidad del modelo (admin) — medidores */
.adm-metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:6px}
.adm-mtr{background:var(--glass-2);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.adm-mtr-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:9px}
.adm-mtr-lbl{font-size:11.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.adm-mtr-val{font-size:22px;font-weight:900;color:var(--ink)}
.adm-mtr-track{position:relative;height:11px;border-radius:6px;background:rgba(255,255,255,.06);overflow:hidden}
.adm-mtr-mid{position:absolute;left:50%;top:-2px;height:15px;width:2px;margin-left:-1px;background:var(--amber);opacity:.7;z-index:2}
.adm-mtr-fill{position:absolute;top:0;height:100%;border-radius:6px}
.adm-mtr-fill.up{background:linear-gradient(90deg,rgba(80,226,156,.55),var(--green))}
.adm-mtr-fill.down{background:linear-gradient(90deg,var(--red),rgba(236,92,107,.55))}
.adm-mtr-sub{font-size:11.5px;color:var(--faint);margin-top:9px;line-height:1.45}
.adm-mtr-sub code{background:var(--glass-hi);padding:1px 6px;border-radius:6px;font-size:11px}
@media(max-width:560px){.adm-metrics{grid-template-columns:1fr}}
