:root{
  --ink:#0a0a0d;
  --ink-2:#111114;
  --surface:#17171b;
  --surface-2:#1e1f24;
  --border:#323238;
  --border-soft:#28282e;
  --silver:#b7bac2;
  --silver-dim:#84858d;
  --white:#f3f1ea;
  --gold:#d4af37;
  --gold-bright:#f6da85;
  --gold-deep:#8a6a1f;
  --success:#4fae74;
  --danger:#e2574c;
  --font-display:'Bebas Neue', 'Arial Narrow', sans-serif;
  --font-body:'Manrope', system-ui, -apple-system, sans-serif;
  --font-mono:'Space Mono', 'Courier New', monospace;
  --container:1160px;
  color-scheme: dark;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--ink);
  color:var(--white);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img,svg{ max-width:100%; display:block; }
.wrap{ max-width:var(--container); margin:0 auto; padding:0 1.5rem; }
h1,h2,h3{ font-family:var(--font-display); letter-spacing:0.01em; font-weight:400; text-wrap:balance; margin:0; }
h1{ font-size:clamp(2.6rem,6.5vw,5.2rem); line-height:0.98; }
h2{ font-size:clamp(1.9rem,4.2vw,2.7rem); line-height:1.05; }
h3{ font-size:1.35rem; letter-spacing:0.02em; }
p{ margin:0; }
a{ color:inherit; }
.eyebrow{
  font-family:var(--font-mono);
  text-transform:uppercase;
  letter-spacing:0.28em;
  font-size:0.84rem;
  color:var(--gold);
  display:inline-flex;
  align-items:center;
  gap:0.6em;
}
.lede{ color:var(--silver); font-size:1.05rem; max-width:62ch; }
section{ padding:clamp(3.5rem,7vw,6.5rem) 0; position:relative; }
::selection{ background:var(--gold); color:var(--ink); }
button{ font-family:inherit; }
:focus-visible{ outline:2px solid var(--gold-bright); outline-offset:3px; }

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important; }
}

/* divider */
.divider{
  height:1px;
  background:linear-gradient(90deg, transparent, var(--gold) 20%, var(--gold) 80%, transparent);
  opacity:0.5;
  max-width:var(--container);
  margin:0 auto;
}
.flag-strip{
  height:6px;
  background-image: repeating-conic-gradient(var(--gold) 0% 25%, transparent 0% 50%);
  background-size:14px 14px;
  opacity:0.55;
}

/* nav */
header{
  position:sticky; top:0; z-index:40;
  background:rgba(10,10,13,0.82);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border-soft);
}
nav.wrap{ display:flex; align-items:center; justify-content:space-between; padding:0.9rem 1.5rem; gap:1rem; }
.brand{ display:flex; align-items:center; gap:0.6rem; font-family:var(--font-display); font-size:1.35rem; letter-spacing:0.03em; white-space:nowrap; }
.brand .flag{ font-size:1.2rem; }
.brand b{ color:var(--gold); font-weight:400; }
.navlinks{ display:flex; gap:1.6rem; font-size:0.98rem; list-style:none; padding:0; margin:0; }
.navlinks a{ text-decoration:none; color:var(--silver); transition:color .2s; }
.navlinks a:hover{ color:var(--gold-bright); }
.nav-cta{
  background:linear-gradient(180deg,var(--gold-bright),var(--gold));
  color:var(--ink); border:none; padding:0.55rem 1.15rem; border-radius:3px;
  font-weight:700; font-size:0.95rem; cursor:pointer; letter-spacing:0.02em;
  box-shadow:0 4px 14px rgba(212,175,55,0.25);
}
.nav-cta:hover{ filter:brightness(1.08); }
@media (max-width:820px){ .navlinks{ display:none; } }

/* hero */
.hero{
  position:relative;
  padding:clamp(4.5rem,9vw,7.5rem) 0 clamp(3rem,6vw,5rem);
  overflow:hidden;
  background:
    radial-gradient(60% 55% at 50% 0%, rgba(212,175,55,0.16), transparent 70%),
    linear-gradient(180deg,#0a0a0d, #0c0c10 60%, var(--ink));
}
.hero canvas{ position:absolute; inset:0; width:100%; height:100%; opacity:0.8; pointer-events:none; }
.hero-inner{ position:relative; z-index:2; text-align:center; display:flex; flex-direction:column; align-items:center; gap:1.4rem; }
.hero h1{ max-width:16ch; }
.hero h1 em{ font-style:normal; color:var(--gold); text-shadow:0 0 30px rgba(212,175,55,0.35); }
.hero .lede{ max-width:52ch; text-align:center; font-size:1.1rem; }
.hero-ctas{ display:flex; gap:0.9rem; flex-wrap:wrap; justify-content:center; margin-top:0.4rem; }
.btn{
  display:inline-flex; align-items:center; gap:0.5em;
  padding:0.9rem 1.7rem; border-radius:3px; font-weight:700; font-size:1.02rem;
  cursor:pointer; text-decoration:none; border:1px solid transparent; letter-spacing:0.01em;
  transition:transform .15s ease, box-shadow .2s ease, filter .15s ease;
}
.btn:active{ transform:translateY(1px); }
.btn-gold{ background:linear-gradient(180deg,var(--gold-bright),var(--gold)); color:var(--ink); box-shadow:0 8px 24px rgba(212,175,55,0.22); }
.btn-gold:hover{ filter:brightness(1.07); box-shadow:0 10px 28px rgba(212,175,55,0.32); }
.btn-ghost{ background:transparent; color:var(--white); border-color:var(--border); }
.btn-ghost:hover{ border-color:var(--gold); color:var(--gold-bright); }
.btn-danger{ background:transparent; color:var(--danger); border-color:rgba(226,87,76,0.4); }
.btn-danger:hover{ background:rgba(226,87,76,0.1); border-color:var(--danger); }
.btn-sm{ padding:0.55rem 1.1rem; font-size:0.94rem; }
.btn-block{ width:100%; justify-content:center; }
.btn[disabled]{ opacity:0.45; cursor:not-allowed; filter:none; box-shadow:none; }

/* scoreboard countdowns */
.scoreboard{ display:flex; gap:0.9rem; flex-wrap:wrap; justify-content:center; margin-top:1.6rem; }
.score-chip{
  background:var(--surface); border:1px solid var(--border-soft); border-radius:6px;
  padding:0.7rem 1rem; text-align:center; min-width:76px;
}
.score-chip .num{ font-family:var(--font-mono); font-size:1.5rem; color:var(--gold-bright); font-variant-numeric:tabular-nums; }
.score-chip .lbl{ font-size:0.76rem; text-transform:uppercase; letter-spacing:0.14em; color:var(--silver-dim); margin-top:0.15rem; }
.score-caption{ font-family:var(--font-mono); font-size:0.86rem; color:var(--silver-dim); letter-spacing:0.05em; margin-top:0.6rem; }

/* section heads */
.section-head{ display:flex; flex-direction:column; gap:0.7rem; margin-bottom:2.4rem; align-items:flex-start; }
.section-head.center{ align-items:center; text-align:center; margin-left:auto; margin-right:auto; }

/* premios */
.premios-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.1rem; }
.premio-card{
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  border:1px solid var(--border-soft); border-radius:10px; padding:1.7rem;
  position:relative; overflow:hidden;
}
.premio-card::before{
  content:''; position:absolute; inset:0 0 auto 0; height:3px;
  background:linear-gradient(90deg,var(--gold-deep),var(--gold-bright),var(--gold-deep));
}
.premio-card .tag{ font-family:var(--font-mono); font-size:0.8rem; text-transform:uppercase; letter-spacing:0.18em; color:var(--gold); }
.premio-card h3{ margin-top:0.55rem; color:var(--white); }
.premio-card p.desc{ color:var(--silver); font-size:1.02rem; margin-top:0.5rem; }
.countdown{ display:flex; gap:0.5rem; margin-top:1.1rem; }
.countdown .c{ flex:1; text-align:center; background:var(--ink-2); border:1px solid var(--border-soft); border-radius:5px; padding:0.4rem 0.2rem; }
.countdown .c b{ display:block; font-family:var(--font-mono); font-size:1.05rem; color:var(--gold-bright); font-variant-numeric:tabular-nums; }
.countdown .c span{ font-size:0.72rem; color:var(--silver-dim); text-transform:uppercase; letter-spacing:0.1em; }
.countdown.center{ max-width:340px; margin-left:auto; margin-right:auto; }
.premio-card.mayor{ border-color:var(--gold); box-shadow:0 0 0 1px rgba(212,175,55,0.15), 0 20px 40px -20px rgba(212,175,55,0.35); }
.premio-photo{ position:relative; width:100%; aspect-ratio:4/3; border-radius:8px; overflow:hidden; margin-bottom:1.1rem; background:var(--ink-2); border:1px dashed var(--border); }
.photo-fallback{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0.5rem; color:var(--silver-dim); font-size:0.86rem; text-align:center; padding:1rem; }
.photo-fallback .icon{ font-size:1.9rem; }
.premio-photo img{ position:relative; z-index:2; width:100%; height:100%; object-fit:cover; display:block; }
.mini-link{ display:inline-block; margin-top:0.9rem; font-family:var(--font-mono); font-size:0.88rem; color:var(--gold-bright); text-decoration:none; border-bottom:1px dotted var(--gold-deep); }
.mini-link:hover{ color:var(--gold); }

/* como funciona — pasos con icono */
.steps-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1.6rem 1.4rem; }
.step{ display:flex; flex-direction:column; align-items:flex-start; gap:0.2rem; }
.step-icon{
  position:relative; width:64px; height:64px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(160deg,var(--surface-2),var(--ink-2)); border:1px solid var(--gold-deep);
  display:flex; align-items:center; justify-content:center; margin-bottom:0.9rem;
  color:var(--gold-bright);
}
.step-icon svg{ width:26px; height:26px; }
.step-icon .badge{
  position:absolute; top:-6px; right:-6px; width:22px; height:22px; border-radius:50%;
  background:var(--gold); color:var(--ink); font-family:var(--font-mono); font-size:0.82rem; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}
.step h3{ font-size:1.05rem; color:var(--white); }
.step p{ color:var(--silver); font-size:0.98rem; margin-top:0.35rem; }

/* anticipados */
.anticipados-grid{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:2rem 1.4rem;
  max-width:760px; margin:2rem auto; justify-items:center;
}
@media (max-width:640px){ .anticipados-grid{ grid-template-columns:repeat(2, 1fr); max-width:420px; } }
.anticipado-star{ position:relative; width:152px; height:152px; display:flex; align-items:center; justify-content:center; }
.anticipado-star .star-shape{
  position:absolute; inset:0;
  clip-path:polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  background:linear-gradient(160deg,var(--gold-bright),var(--gold) 55%,var(--gold-deep));
  animation:pulse-glow 2.4s ease-in-out infinite;
}
.anticipado-star b{
  position:relative; z-index:2; width:104px; height:104px; border-radius:50%;
  background:var(--ink-2); border:2px solid var(--gold-bright);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  font-family:var(--font-mono); letter-spacing:0.01em; color:var(--gold-bright); line-height:1.1;
  box-shadow:inset 0 0 14px rgba(212,175,55,0.35);
}
.anticipado-star b .tb-num{ font-size:1.55rem; font-weight:700; color:var(--gold-bright); }
.anticipado-star b .tb-serie{
  font-size:0.8rem; font-weight:700; color:var(--gold); margin-top:0.3rem; padding-top:0.3rem;
  border-top:1px solid var(--gold-deep); letter-spacing:0.04em;
}
@keyframes pulse-glow{ 0%,100%{ filter:drop-shadow(0 0 0 rgba(212,175,55,0)); } 50%{ filter:drop-shadow(0 0 14px rgba(212,175,55,0.55)); } }
.contact-box{ max-width:560px; margin:0 auto; background:var(--ink-2); border:1px solid var(--border-soft); border-radius:10px; padding:1.6rem; text-align:center; }
.contact-box h3{ color:var(--white); }
.contact-box p{ color:var(--silver); font-size:1.02rem; margin-top:0.5rem; }
.contact-box .btn{ margin-top:1.1rem; }

/* pago modal */
.pago-info{ background:var(--ink-2); border:1px solid var(--gold-deep); border-radius:8px; padding:1rem 1.1rem; margin:0.9rem 0 1.3rem; }
.pago-info-label{ font-size:0.82rem; text-transform:uppercase; letter-spacing:0.1em; color:var(--silver-dim); }
.pago-info-numero{ font-family:var(--font-mono); font-size:1.15rem; color:var(--gold-bright); margin-top:0.3rem; letter-spacing:0.02em; }
.pago-info-titular{ font-size:0.94rem; color:var(--silver); margin-top:0.3rem; }
.pago-info-note{ font-size:0.9rem; color:var(--silver); margin-top:0.6rem; }
.upload-btn{ display:inline-flex; align-items:center; gap:0.5em; background:var(--surface-2); border:1px solid var(--border); color:var(--gold-bright); padding:0.65rem 1.1rem; border-radius:5px; cursor:pointer; font-size:0.98rem; font-weight:600; }
.upload-btn:hover{ border-color:var(--gold); }
.upload-btn.is-disabled{ opacity:0.45; cursor:not-allowed; pointer-events:none; }
.btn-copy-pago{
  display:inline-flex; align-items:center; gap:0.45em; margin-top:0.7rem;
  background:transparent; border:1px solid var(--gold-deep); color:var(--gold-bright);
  padding:0.45rem 0.9rem; border-radius:5px; cursor:pointer; font-size:0.88rem; font-weight:600;
}
.btn-copy-pago:hover{ border-color:var(--gold); background:rgba(212,175,55,0.08); }
.upload-hint{ display:block; margin-top:0.4rem; font-size:0.86rem; color:var(--silver-dim); }
.upload-preview{ margin-top:0.8rem; display:flex; align-items:center; gap:0.7rem; background:var(--ink-2); border:1px solid var(--border-soft); border-radius:6px; padding:0.6rem 0.8rem; }
.upload-preview img{ width:44px; height:44px; object-fit:cover; border-radius:4px; }
.upload-preview span{ font-size:0.94rem; color:var(--silver); word-break:break-all; }
.pago-helper{ font-size:0.88rem; color:var(--silver-dim); text-align:center; margin-top:0.7rem; }

/* estado pendiente (customer ticket panel) */
.pending-note{
  display:flex; align-items:flex-start; gap:0.7rem; background:var(--ink-2); border:1px solid var(--gold-deep);
  border-radius:8px; padding:1rem 1.2rem; margin-top:1.2rem; font-size:0.98rem; color:var(--silver); text-align:left;
}
.pending-note .dot{ width:9px; height:9px; border-radius:50%; background:var(--gold); margin-top:0.4em; flex-shrink:0; animation:pulse-glow 1.8s ease-in-out infinite; }

/* animación de compra: moto en carretera -> confirmación */
.modal-compra{ text-align:center; }
.carga-logo-wrap{ display:flex; flex-direction:column; align-items:center; gap:1.1rem; padding:1.6rem 0 1.2rem; }
.carga-logo{
  width:84px; height:84px; border-radius:50%; object-fit:cover;
  border:2px solid var(--gold-deep);
  box-shadow:0 0 26px rgba(212,175,55,0.35);
  animation:carga-spin 1.1s linear infinite;
}
@keyframes carga-spin{ from{ transform:rotate(0deg); } to{ transform:rotate(360deg); } }
.carga-caption{ color:var(--silver); font-size:0.95rem; }
.compra-exito{ padding:0.4rem 0 0.2rem; }
.compra-exito-icono{ font-size:2.6rem; margin-bottom:0.6rem; }
.compra-exito h3{ color:var(--white); font-size:1.3rem; }
.compra-exito > p{ color:var(--silver); margin-top:0.7rem; }
.compra-exito-countdown{ color:var(--silver-dim); font-size:0.85rem; margin-top:1.1rem; font-family:var(--font-mono); }
.compra-exito-countdown span{ color:var(--gold-bright); font-weight:700; }

/* whatsapp flotante */
.whatsapp-float{
  position:fixed; bottom:1.4rem; right:1.4rem; z-index:80; width:56px; height:56px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center; text-decoration:none;
  box-shadow:0 8px 22px rgba(0,0,0,0.45); transition:transform .15s ease;
}
.whatsapp-float:hover{ transform:scale(1.07); }
.whatsapp-float svg{ width:28px; height:28px; fill:#fff; }

/* combos */
.combos-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:1rem; }
.combo-card{
  background:var(--surface); border:1px solid var(--border-soft); border-radius:10px;
  padding:1.5rem; text-align:center; cursor:pointer; transition:border-color .2s, transform .15s, box-shadow .2s;
  display:flex; flex-direction:column; gap:0.6rem; align-items:center;
}
.combo-card:hover{ transform:translateY(-3px); border-color:var(--gold-deep); }
.combo-card.selected{ border-color:var(--gold); box-shadow:0 0 0 1px var(--gold), 0 16px 32px -18px rgba(212,175,55,0.5); background:linear-gradient(180deg,var(--surface-2),var(--surface)); }
.combo-card .stars{ font-size:1.6rem; letter-spacing:0.05em; color:var(--gold-bright); }
.combo-card .qty{ font-family:var(--font-mono); font-size:1.6rem; color:var(--white); font-variant-numeric:tabular-nums; }
.combo-card .qty small{ font-size:0.78rem; color:var(--silver-dim); display:block; letter-spacing:0.1em; text-transform:uppercase; margin-top:0.2rem;}
.combo-card .name{ font-family:var(--font-mono); font-size:0.82rem; text-transform:uppercase; letter-spacing:0.16em; color:var(--gold); }
.combo-card .price{ font-size:1.15rem; font-weight:700; color:var(--white); }
.combo-card .unit{ font-size:0.84rem; color:var(--silver-dim); }
.combo-card .pick{ margin-top:0.3rem; font-size:0.9rem; padding:0.5rem 1rem; border-radius:3px; border:1px solid var(--border); background:transparent; color:var(--silver); width:100%; }
.combo-card.selected .pick{ background:var(--gold); color:var(--ink); border-color:var(--gold); font-weight:700; }

/* compra */
.compra-panel{
  background:var(--surface); border:1px solid var(--border-soft); border-radius:12px; padding:clamp(1.4rem,3vw,2.4rem);
  display:grid; grid-template-columns:1.1fr 0.9fr; gap:2.2rem;
}
@media (max-width:840px){ .compra-panel{ grid-template-columns:1fr; } }
.resumen{
  background:var(--ink-2); border:1px solid var(--border-soft); border-radius:8px; padding:1.3rem;
  display:flex; flex-direction:column; gap:0.9rem; align-self:start;
}
.resumen .row{ display:flex; justify-content:space-between; font-size:1rem; color:var(--silver); }
.resumen .row b{ color:var(--white); font-family:var(--font-mono); font-variant-numeric:tabular-nums; }
.resumen .total{ border-top:1px dashed var(--border); margin-top:0.3rem; padding-top:0.8rem; display:flex; justify-content:space-between; align-items:baseline; }
.resumen .total b{ font-size:1.5rem; color:var(--gold-bright); }
.field{ display:flex; flex-direction:column; gap:0.35rem; margin-bottom:1rem; }
.field label{ font-size:0.9rem; text-transform:uppercase; letter-spacing:0.08em; color:var(--silver-dim); }
.field input, .field select{
  background:var(--ink-2); border:1px solid var(--border); color:var(--white); border-radius:5px;
  padding:0.7rem 0.85rem; font-size:0.95rem; font-family:var(--font-body);
}
.field input:focus, .field select:focus{ border-color:var(--gold); }
.field select:disabled{ opacity:0.5; cursor:not-allowed; }
.field .err{ font-size:0.88rem; color:var(--danger); min-height:1em; }

.field-referido{
  background:rgba(212,175,55,0.08); border:1px dashed var(--gold-deep); border-radius:8px;
  padding:0.8rem 0.9rem 0.4rem; margin-top:0.2rem;
}
.field-referido label{ color:var(--gold-bright); }
.field-referido input{ border-color:var(--gold-deep); }
.field-referido input:focus{ border-color:var(--gold); }
.pago-metodos{ display:flex; gap:0.6rem; flex-wrap:wrap; }
.pago-metodos label{
  border:1px solid var(--border); border-radius:5px; padding:0.6rem 0.9rem; font-size:0.95rem;
  cursor:pointer; color:var(--silver); display:flex; align-items:center; gap:0.4rem;
}
.pago-metodos input{ accent-color:var(--gold); }
.pago-metodos input:checked + span{ color:var(--gold-bright); }

/* tickets / stars */
.tickets-panel{ margin-top:2.4rem; }
.tickets-head{ display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; margin-bottom:1.2rem; }
.estrellas-grid{ display:flex; flex-wrap:wrap; gap:0.9rem; }
.star-ticket{ perspective:900px; width:108px; height:108px; }
.star-ticket-inner{
  position:relative; width:100%; height:100%; transition:transform .6s cubic-bezier(.2,.8,.2,1);
  transform-style:preserve-3d; cursor:pointer;
}
.star-ticket.flipped .star-ticket-inner{ transform:rotateY(180deg); }
.star-face{
  position:absolute; inset:0; backface-visibility:hidden; display:flex; align-items:center; justify-content:center;
}
.star-front{
  background:linear-gradient(160deg,var(--gold-bright),var(--gold) 55%,var(--gold-deep)); color:var(--ink); font-size:1.7rem;
  clip-path:polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}
.star-back{ background:var(--ink-2); border:1px solid var(--gold); border-radius:10px; transform:rotateY(180deg); flex-direction:column; gap:0.2rem; padding:0.4rem; }
.star-back .tb-num{ font-family:var(--font-mono); font-size:1.3rem; font-weight:700; color:var(--gold-bright); letter-spacing:0.03em; }
.star-back .tb-serie{
  font-family:var(--font-mono); font-size:0.72rem; font-weight:700; color:var(--gold);
  margin-top:0.1rem; padding-top:0.25rem; border-top:1px solid var(--gold-deep); letter-spacing:0.03em;
}
.star-back .ok{ font-size:0.8rem; color:var(--success); font-family:var(--font-mono); margin-top:0.2rem; }
.star-back .ok.fugaz{ color:var(--gold-bright); font-size:0.72rem; text-align:center; padding:0 0.3rem; line-height:1.25; margin-top:0.2rem; }
.star-ticket.ganador-fugaz .star-back{ border-color:var(--gold); box-shadow:0 0 16px rgba(212,175,55,0.55); animation:pulse-glow 2s ease-in-out infinite; }
.estrella-hint{ font-size:0.84rem; color:var(--silver-dim); margin-top:0.8rem; }
.fugaz-banner{
  background:rgba(212,175,55,0.12); border:1px solid var(--gold-deep); border-radius:8px;
  padding:0.8rem 1rem; margin-bottom:1rem; font-size:0.96rem; color:var(--gold-bright); font-weight:600;
}

/* mis numeros */
.lookup{ display:flex; gap:0.7rem; flex-wrap:wrap; max-width:520px; }
.lookup input{ flex:1; min-width:220px; }
.purchase-card{
  background:var(--surface); border:1px solid var(--border-soft); border-radius:10px; padding:1.3rem 1.5rem; margin-top:1rem;
}
.purchase-card .meta{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:0.5rem; font-size:0.94rem; color:var(--silver-dim); margin-bottom:0.9rem; font-family:var(--font-mono); }
.purchase-card .meta .badge-estado{ margin-left:auto; }
.chip-nums{ display:flex; flex-wrap:wrap; gap:0.5rem; }

/* Insignia de boleta reutilizable: número arriba, serie abajo (ver LPR.ticketBadgeHtml) */
.ticket-badge{
  background:var(--ink-2); border:1px solid var(--border); border-radius:6px;
  padding:0.45rem 0.7rem; display:inline-flex; flex-direction:column; align-items:center;
  min-width:64px; line-height:1.15;
}
.tb-num{ display:block; font-family:var(--font-mono); font-weight:700; color:var(--gold-bright); font-size:1.05rem; letter-spacing:0.02em; }
.tb-serie{ display:block; font-family:var(--font-mono); font-size:0.76rem; font-weight:700; color:var(--gold); text-transform:uppercase; letter-spacing:0.04em; margin-top:0.15rem; }
.empty-state{ color:var(--silver-dim); font-size:1rem; font-style:normal; }

/* Tarjeta de boleta (cara "revelada" de la estrella): la misma que se envía por correo */
.ticket-grid{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:0.6rem; margin:0.6rem 0; }
.ticket-card{
  background:var(--ink-2); border:1px solid var(--gold); border-radius:10px; padding:0.9rem 0.4rem 0.7rem;
  display:flex; flex-direction:column; align-items:center; gap:0.2rem; min-height:118px;
}
.ticket-card .tb-num{ font-family:var(--font-mono); font-size:1.3rem; font-weight:700; color:var(--gold-bright); letter-spacing:0.03em; }
.ticket-card .tb-serie{
  font-family:var(--font-mono); font-size:0.72rem; font-weight:700; color:var(--gold);
  margin-top:0.1rem; padding-top:0.35rem; border-top:1px solid var(--gold-deep); letter-spacing:0.03em; min-width:60%; text-align:center;
}
.ticket-card .ok{ font-size:0.8rem; color:var(--success); font-family:var(--font-mono); margin-top:0.35rem; text-align:center; }
.ticket-card .ok.fugaz{ color:var(--gold-bright); font-size:0.72rem; padding:0 0.3rem; line-height:1.25; }
.opcional{ color:var(--silver-dim); font-weight:400; font-size:0.85em; }

/* códigos de referido (admin) */
.ref-code{ font-family:var(--font-mono); font-weight:700; color:var(--gold-bright); letter-spacing:0.04em; min-width:110px; }
.ref-stats{ display:flex; gap:1.4rem; flex-wrap:wrap; flex-basis:100%; font-size:0.86rem; color:var(--silver-dim); }
.ref-stats b{ display:block; font-family:var(--font-mono); font-size:1.05rem; color:var(--white); }
.ref-stats .acum b{ color:var(--gold-bright); }
.ref-badge{ font-family:var(--font-mono); font-size:0.78rem; color:var(--gold-bright); border:1px dashed var(--gold-deep); border-radius:4px; padding:0.1rem 0.45rem; margin-left:0.5rem; }

/* registro / verificación (admin) */
.admin-toggle{ background:transparent; border:1px solid var(--border); color:var(--silver-dim); font-size:0.9rem; padding:0.5rem 1rem; border-radius:20px; cursor:pointer; }
.admin-toggle:hover{ border-color:var(--gold); color:var(--gold-bright); }
.admin-panel{ display:none; margin-top:1.4rem; background:var(--surface); border:1px solid var(--border-soft); border-radius:10px; padding:1.5rem; }
.admin-panel.open{ display:block; }
.admin-stats{ display:flex; gap:1.2rem; flex-wrap:wrap; margin-bottom:1.2rem; }
.admin-stats div{ background:var(--ink-2); border:1px solid var(--border-soft); border-radius:6px; padding:0.8rem 1.1rem; min-width:140px; }
.admin-stats div b{ display:block; font-family:var(--font-mono); font-size:1.3rem; color:var(--gold-bright); }
.admin-stats div span{ font-size:0.8rem; color:var(--silver-dim); text-transform:uppercase; letter-spacing:0.1em; }
table.regtable{ width:100%; border-collapse:collapse; font-size:0.94rem; }
table.regtable th, table.regtable td{ text-align:left; padding:0.55rem 0.6rem; border-bottom:1px solid var(--border-soft); }
table.regtable th{ color:var(--silver-dim); text-transform:uppercase; font-size:0.8rem; letter-spacing:0.08em; }
table.regtable td{ color:var(--silver); font-family:var(--font-mono); }
.table-scroll{ overflow-x:auto; }

/* toast */
#toast-region{ position:fixed; bottom:1.3rem; right:1.3rem; z-index:100; display:flex; flex-direction:column; gap:0.6rem; }
.toast{
  background:var(--surface-2); border:1px solid var(--gold); color:var(--white); padding:0.85rem 1.2rem;
  border-radius:6px; font-size:0.98rem; box-shadow:0 12px 30px rgba(0,0,0,0.5); max-width:320px;
  animation:toast-in .25s ease;
}
.toast.err{ border-color:var(--danger); }
@keyframes toast-in{ from{ opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);} }

/* modal */
.modal-back{ position:fixed; inset:0; background:rgba(5,5,6,0.72); backdrop-filter:blur(3px); display:none; align-items:center; justify-content:center; z-index:90; padding:1.2rem; }
.modal-back.open{ display:flex; }
.modal{ background:var(--surface); border:1px solid var(--gold); border-radius:12px; max-width:520px; width:100%; padding:1.8rem; max-height:85vh; overflow-y:auto; }
.modal h3{ color:var(--gold-bright); }
.modal .close-x{ float:right; background:none; border:none; color:var(--silver-dim); font-size:1.3rem; cursor:pointer; }
.email-preview{ background:var(--ink-2); border:1px solid var(--border-soft); border-radius:8px; padding:1.1rem; margin-top:1rem; font-size:0.98rem; }
.email-preview .subject{ font-weight:700; color:var(--white); margin-bottom:0.6rem; }
.email-preview p{ margin-bottom:0.6rem; color:var(--silver); }
.email-preview .chip-nums .tb-num{ font-size:0.9rem; }
.email-preview .chip-nums .tb-serie{ font-size:0.7rem; }

footer{ border-top:1px solid var(--border-soft); padding:3rem 0 2.2rem; }
.footer-grid{ display:flex; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
.footer-grid .brand{ margin-bottom:0.6rem; }
.footer-grid p{ color:var(--silver-dim); font-size:0.94rem; max-width:38ch; }
.disclaimer{ margin-top:1.8rem; padding-top:1.5rem; border-top:1px dashed var(--border-soft); color:var(--silver-dim); font-size:0.88rem; max-width:80ch; display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.disclaimer b{ color:var(--silver); }
.admin-link{ color:var(--silver-dim); text-decoration:none; border-bottom:1px dotted var(--border); }
.admin-link:hover{ color:var(--gold-bright); border-color:var(--gold); }

.sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }

/* ===================== Panel administrativo ===================== */
.admin-body{ background:var(--ink); }
.admin-header{
  position:sticky; top:0; z-index:40; background:rgba(10,10,13,0.92); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border-soft);
}
.admin-header .wrap{ display:flex; align-items:center; justify-content:space-between; padding:0.9rem 1.5rem; gap:1rem; flex-wrap:wrap; }
.admin-header .tag-interno{
  font-family:var(--font-mono); font-size:0.8rem; text-transform:uppercase; letter-spacing:0.14em;
  color:var(--gold); border:1px solid var(--gold-deep); border-radius:20px; padding:0.3rem 0.8rem;
}

.gate{ min-height:100vh; display:flex; align-items:center; justify-content:center; padding:2rem; }
.gate-box{ max-width:380px; width:100%; background:var(--surface); border:1px solid var(--border-soft); border-radius:14px; padding:2.2rem; text-align:center; }
.gate-box h1{ font-size:1.8rem; }
.gate-box p{ color:var(--silver-dim); font-size:0.98rem; margin-top:0.6rem; }
.gate-box input{
  width:100%; text-align:center; letter-spacing:0.4em; font-family:var(--font-mono); font-size:1.3rem;
  margin:1.4rem 0 0.8rem; background:var(--ink-2); border:1px solid var(--border); color:var(--white);
  border-radius:6px; padding:0.8rem;
}
.gate-box input:focus{ border-color:var(--gold); }
.gate-error{ color:var(--danger); font-size:0.92rem; min-height:1.2em; margin-bottom:0.8rem; }

.admin-stats-row{ display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:2rem; }
.stat-card{
  flex:1; min-width:150px; background:var(--surface); border:1px solid var(--border-soft); border-radius:10px; padding:1.2rem 1.4rem;
}
.stat-card b{ display:block; font-family:var(--font-mono); font-size:1.8rem; color:var(--gold-bright); }
.stat-card span{ font-size:0.82rem; text-transform:uppercase; letter-spacing:0.1em; color:var(--silver-dim); }

.filter-tabs{ display:flex; gap:0.6rem; margin-bottom:1.8rem; flex-wrap:wrap; align-items:center; }
.filter-tab{
  background:var(--surface); border:1px solid var(--border-soft); color:var(--silver); padding:0.55rem 1.1rem;
  border-radius:20px; font-size:0.94rem; cursor:pointer;
}
.filter-tab.active{ border-color:var(--gold); color:var(--gold-bright); background:var(--surface-2); }
.filter-search{ margin-left:auto; min-width:220px; background:var(--surface); border:1px solid var(--border-soft); color:var(--white); border-radius:20px; padding:0.55rem 1.1rem; font-size:0.95rem; }
.filter-search:focus{ border-color:var(--gold); }

.badge-estado{
  display:inline-flex; align-items:center; gap:0.4em; font-family:var(--font-mono); font-size:0.8rem;
  text-transform:uppercase; letter-spacing:0.08em; padding:0.3rem 0.7rem; border-radius:20px; white-space:nowrap;
}
.badge-pendiente{ background:rgba(226,87,76,0.12); color:#e2867d; border:1px solid rgba(226,87,76,0.4); }
.badge-confirmado{ background:rgba(79,174,116,0.12); color:#7cd19d; border:1px solid rgba(79,174,116,0.4); }
.badge-enviado{ background:rgba(212,175,55,0.12); color:var(--gold-bright); border:1px solid var(--gold-deep); }
.badge-rechazado{ background:rgba(132,133,141,0.15); color:var(--silver-dim); border:1px solid var(--border); }
.motivo-rechazo{ font-size:0.88rem; color:var(--silver-dim); margin-top:0.5rem; padding-top:0.5rem; border-top:1px solid var(--border-soft); }

.order-card{ background:var(--surface); border:1px solid var(--border-soft); border-radius:10px; padding:1.5rem 1.7rem; margin-bottom:1.1rem; }
.order-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; flex-wrap:wrap; margin-bottom:1.1rem; }
.order-top h3{ font-size:1.15rem; color:var(--white); }
.order-top .sub{ font-size:0.92rem; color:var(--silver-dim); font-family:var(--font-mono); margin-top:0.25rem; }
.order-body{ display:grid; grid-template-columns:1fr auto; gap:1.5rem; }
@media (max-width:720px){ .order-body{ grid-template-columns:1fr; } }
.order-details{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:0.9rem 1.2rem; margin-bottom:1.1rem; }
.order-details div span{ display:block; font-size:0.78rem; text-transform:uppercase; letter-spacing:0.08em; color:var(--silver-dim); }
.order-details div b{ font-size:0.96rem; color:var(--white); font-family:var(--font-mono); word-break:break-word; }
.order-numeros{ margin-bottom:1.1rem; }
.order-comprobante{ text-align:center; }
.order-comprobante img{
  max-width:150px; max-height:150px; border-radius:8px; border:1px solid var(--border); cursor:zoom-in; object-fit:cover;
}
.order-comprobante .no-img{
  width:150px; height:150px; border:1px dashed var(--border); border-radius:8px; display:flex; align-items:center;
  justify-content:center; color:var(--silver-dim); font-size:0.86rem; text-align:center; padding:0.6rem;
}
.order-comprobante .fname{ font-size:0.82rem; color:var(--silver-dim); margin-top:0.5rem; word-break:break-all; max-width:150px; }
.order-actions{ display:flex; gap:0.7rem; flex-wrap:wrap; margin-top:1rem; }

/* ===================== Admin: clientes e historial ===================== */
.cliente-card{ background:var(--surface); border:1px solid var(--border-soft); border-radius:10px; padding:1.2rem 1.4rem; margin-bottom:1rem; }
.cliente-top{ display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; cursor:pointer; }
.cliente-top h3{ font-size:1.05rem; color:var(--white); }
.cliente-top .sub{ font-size:0.92rem; color:var(--silver-dim); font-family:var(--font-mono); margin-top:0.2rem; }
.cliente-stats{ display:flex; gap:1.4rem; font-family:var(--font-mono); align-items:center; }
.cliente-stats div{ text-align:center; }
.cliente-stats b{ display:block; color:var(--gold-bright); font-size:1.15rem; }
.cliente-stats span{ font-size:0.74rem; color:var(--silver-dim); text-transform:uppercase; letter-spacing:0.06em; }
.cliente-toggle-icon{ color:var(--silver-dim); transition:transform .2s ease; font-size:1rem; }
.cliente-top.open .cliente-toggle-icon{ transform:rotate(180deg); }
.cliente-historial{ display:none; margin-top:1rem; border-top:1px dashed var(--border-soft); padding-top:1rem; }
.cliente-historial.open{ display:block; }
.cliente-historial .table-scroll table{ width:100%; border-collapse:collapse; font-size:0.94rem; }
.cliente-historial th, .cliente-historial td{ text-align:left; padding:0.5rem 0.6rem; border-bottom:1px solid var(--border-soft); }
.cliente-historial th{ color:var(--silver-dim); text-transform:uppercase; font-size:0.78rem; letter-spacing:0.05em; }
.cliente-historial td{ color:var(--silver); font-family:var(--font-mono); }

.prob-box{ margin-top:1.6rem; padding-top:1.4rem; border-top:1px dashed var(--border-soft); }
.prob-box h4{ font-family:var(--font-display); font-size:1.1rem; font-weight:400; color:var(--white); letter-spacing:0.01em; margin-bottom:0.3rem; }
.prob-toggle{ display:flex; align-items:center; gap:0.7rem; cursor:pointer; font-size:0.92rem; color:var(--silver); }
.prob-toggle input[type="checkbox"]{ width:18px; height:18px; accent-color:var(--gold); cursor:pointer; flex-shrink:0; }
.prob-box.is-disabled{ opacity:0.45; }
.prob-rate-row{ display:flex; align-items:center; gap:0.6rem; flex-wrap:wrap; margin-top:0.9rem; font-size:0.92rem; color:var(--silver); }
.prob-rate-row input[type="number"]{
  width:110px; background:var(--ink-2); border:1px solid var(--border); color:var(--white); border-radius:6px;
  padding:0.5rem 0.7rem; font-family:var(--font-mono); text-align:center; font-size:0.95rem;
}
.prob-rate-row input[type="number"]:focus{ border-color:var(--gold); }

.lightbox{ position:fixed; inset:0; background:rgba(0,0,0,0.88); display:none; align-items:center; justify-content:center; z-index:120; padding:2rem; cursor:zoom-out; }
.lightbox.open{ display:flex; }
.lightbox img{ max-width:100%; max-height:100%; border-radius:8px; box-shadow:0 20px 60px rgba(0,0,0,0.6); }

/* ===================== Logo ===================== */
.brand img.logo{
  height:38px; width:38px; display:block; border-radius:50%; object-fit:cover;
  box-shadow:0 0 0 1px var(--gold-deep), 0 2px 8px rgba(0,0,0,.55);
}
.hero-logo{
  width:118px; height:118px; margin-bottom:0.2rem; border-radius:50%; object-fit:cover;
  box-shadow:0 0 0 2px var(--gold-deep), 0 10px 26px rgba(0,0,0,.55);
  animation:logo-float 7s ease-in-out infinite;
}
@keyframes logo-float{ 0%,100%{ transform:translateY(0) rotate(0deg); } 50%{ transform:translateY(-7px) rotate(-2deg); } }

/* ===================== Texturas y movimiento ===================== */
.hero{ isolation:isolate; }
.hero::before{
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.045 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}
.hero::after{
  content:''; position:absolute; z-index:0; pointer-events:none; opacity:.07;
  top:-20%; right:-10%; width:70%; height:140%;
  background:repeating-linear-gradient(-35deg, var(--gold) 0 3px, transparent 3px 34px);
  animation:speed-drift 14s linear infinite;
}
@keyframes speed-drift{ 0%{ transform:translateX(0); } 100%{ transform:translateX(-60px); } }
.speed-lines{
  position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0; opacity:.05;
  background:repeating-linear-gradient(-35deg, var(--gold) 0 2px, transparent 2px 28px);
}
.floating-shape{ position:absolute; pointer-events:none; opacity:.5; z-index:0; }

.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1); }
.reveal.in-view{ opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  .hero-logo, .hero::after{ animation:none; }
}

/* ===================== Premios: calendario con fechas ===================== */
.premio-card{ transition:transform .25s ease, box-shadow .25s ease; }
.premio-card:hover{ transform:translateY(-4px); box-shadow:0 22px 44px -24px rgba(212,175,55,0.45); }
.fecha-badge{
  display:inline-flex; align-items:center; gap:0.5em; font-family:var(--font-mono); font-size:0.84rem;
  color:var(--gold-bright); background:var(--ink-2); border:1px solid var(--gold-deep); border-radius:20px;
  padding:0.35rem 0.85rem; margin-bottom:0.8rem;
}
/* ===================== Estrellas fugaces ===================== */
.fugaz-card{ display:flex; flex-direction:column; align-items:center; gap:0.6rem; width:100%; max-width:170px; }
.fugaz-card .subtitulo{ font-family:var(--font-mono); font-size:0.84rem; color:var(--silver-dim); text-align:center; line-height:1.3; }
.fugaz-card .subtitulo.premio{ color:var(--gold-bright); font-weight:600; font-size:0.88rem; }
.fugaz-card .subtitulo.ganador{ color:var(--success); font-weight:700; }

/* ===================== Comunidad (compacta, dentro de premios) ===================== */
.community-mini{
  display:flex; align-items:center; gap:0.8rem; max-width:560px; margin:1.6rem auto 0;
  background:var(--ink-2); border:1px solid var(--border-soft); border-radius:30px; padding:0.6rem 0.6rem 0.6rem 1.1rem;
  flex-wrap:wrap; justify-content:center;
}
.community-mini svg{ width:20px; height:20px; fill:#25D366; flex-shrink:0; }
.community-mini span{ font-size:0.92rem; color:var(--silver); }
.community-mini span b{ color:var(--white); }
.community-mini a{
  background:#25D366; color:#04220f; font-weight:700; font-size:0.9rem; text-decoration:none;
  padding:0.45rem 1rem; border-radius:20px; margin-left:auto;
}
.community-mini a:hover{ filter:brightness(1.08); }

/* ===================== Proceso: video + pasos ===================== */
.proceso-layout{ display:grid; grid-template-columns:1fr 1.1fr; gap:2.6rem; align-items:center; }
@media (max-width:860px){ .proceso-layout{ grid-template-columns:1fr; } }
.video-frame{
  position:relative; width:auto; max-width:100%; height:min(70vh, 560px); aspect-ratio:9/16;
  margin:0 auto; border-radius:14px; overflow:hidden;
  background:var(--ink-2); border:1px solid var(--border); box-shadow:0 20px 50px -30px rgba(0,0,0,0.8);
}
@media (max-width:860px){ .video-frame{ height:min(60vh, 460px); } }
.video-frame video{ position:relative; z-index:2; width:100%; height:100%; object-fit:cover; display:block; background:#000; }
.video-fallback{
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:0.7rem; color:var(--silver-dim); font-size:0.94rem; text-align:center; padding:1.5rem;
}
.video-fallback .play-icon{
  width:56px; height:56px; border-radius:50%; background:var(--gold); color:var(--ink);
  display:flex; align-items:center; justify-content:center; font-size:1.3rem;
}
.steps-list{ display:flex; flex-direction:column; gap:1.3rem; }
.step-row{ display:flex; gap:1rem; align-items:flex-start; }
.step-row .step-icon{ width:50px; height:50px; margin-bottom:0; flex-shrink:0; }
.step-row .step-icon svg{ width:21px; height:21px; }
.step-row h3{ font-size:0.98rem; color:var(--white); }
.step-row p{ color:var(--silver); font-size:0.95rem; margin-top:0.25rem; }

/* ===================== Combos: 2 filas de 3 ===================== */
.combos-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:1rem; }
@media (max-width:820px){ .combos-grid{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width:480px){ .combos-grid{ grid-template-columns:1fr; } }
.combo-card{ position:relative; }
.ribbon-popular{
  position:absolute; top:0; right:0; background:linear-gradient(180deg,var(--gold-bright),var(--gold));
  color:var(--ink); font-family:var(--font-mono); font-weight:700; font-size:0.76rem; text-transform:uppercase;
  letter-spacing:0.06em; padding:0.4rem 0.7rem; border-radius:0 10px 0 10px;
}


/* ===================== Notificaciones de actividad (esquina inferior izquierda) ===================== */
#activity-notif{ position:fixed; bottom:1.3rem; left:1.3rem; z-index:75; pointer-events:none; }
.activity-card{
  display:flex; align-items:center; gap:0.7rem; background:var(--surface-2); border:1px solid var(--gold-deep);
  border-radius:10px; padding:0.7rem 1rem; max-width:280px; box-shadow:0 14px 34px rgba(0,0,0,0.5);
  animation:activity-in .45s cubic-bezier(.2,.8,.2,1);
}
.activity-card.out{ animation:activity-out .35s ease forwards; }
@keyframes activity-in{ from{ opacity:0; transform:translateX(-16px); } to{ opacity:1; transform:translateX(0); } }
@keyframes activity-out{ from{ opacity:1; transform:translateX(0); } to{ opacity:0; transform:translateX(-16px); } }
.activity-avatar{
  width:34px; height:34px; border-radius:50%; background:linear-gradient(160deg,var(--gold-bright),var(--gold));
  color:var(--ink); font-family:var(--font-mono); font-weight:700; font-size:0.92rem; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
}
.activity-text{ font-size:0.92rem; color:var(--white); line-height:1.3; }
.activity-text b{ color:var(--gold-bright); }
@media (max-width:640px){
  #activity-notif{ left:0.6rem; bottom:0.6rem; }
  .activity-card{ max-width:230px; padding:0.6rem 0.8rem; }
  .whatsapp-float{ width:48px; height:48px; bottom:1rem; right:1rem; }
}

/* ===================== Admin: listas compactas (fugaces / bloqueados) ===================== */
.mini-list{ display:flex; flex-direction:column; gap:0.6rem; margin-top:1rem; }
.mini-row{
  display:flex; align-items:center; gap:0.8rem; background:var(--ink-2); border:1px solid var(--border-soft);
  border-radius:8px; padding:0.6rem 0.9rem; flex-wrap:wrap;
}
.mini-row .num{ font-family:var(--font-mono); color:var(--gold-bright); font-weight:700; min-width:56px; }
.mini-row input[type="text"]{
  flex:1; min-width:120px; background:var(--surface); border:1px solid var(--border); color:var(--white);
  border-radius:5px; padding:0.4rem 0.6rem; font-size:0.95rem;
}
.mini-row .meta{ font-size:0.84rem; color:var(--silver-dim); flex-basis:100%; }
.add-row{ display:flex; gap:0.6rem; flex-wrap:wrap; margin-top:1rem; }
.add-row input, .add-row select{ background:var(--ink-2); border:1px solid var(--border); color:var(--white); border-radius:5px; padding:0.6rem 0.8rem; font-size:0.98rem; }
.add-row input[name="numero"]{ width:110px; font-family:var(--font-mono); }
.add-row input[name="nota"], .add-row input[name="texto"]{ flex:1; min-width:160px; }
.mini-row input[type="number"]{
  width:90px; background:var(--surface); border:1px solid var(--border); color:var(--white);
  border-radius:5px; padding:0.4rem 0.6rem; font-size:0.95rem;
}
.cuenta-tag{
  font-family:var(--font-mono); font-size:0.8rem; text-transform:uppercase; letter-spacing:0.06em;
  color:var(--gold-bright); background:rgba(212,175,55,0.12); border:1px solid var(--gold-deep);
  border-radius:20px; padding:0.25rem 0.6rem; white-space:nowrap;
}
.cuenta-progreso{ font-family:var(--font-mono); font-size:0.9rem; color:var(--silver); white-space:nowrap; }
.cuenta-activa-label{ display:flex; align-items:center; gap:0.35rem; font-size:0.9rem; color:var(--silver-dim); white-space:nowrap; }
.cuenta-activa-label input{ width:16px; height:16px; accent-color:var(--gold); cursor:pointer; }
.match-badge{
  display:inline-flex; align-items:center; gap:0.3em; font-size:0.8rem; font-family:var(--font-mono);
  color:#ffd873; background:rgba(212,175,55,0.14); border:1px solid var(--gold-deep); border-radius:20px;
  padding:0.25rem 0.6rem; margin-left:0.5rem;
}
