/* Millo Games — /beta/ (usa brand.css + styles.css del portal; aquí solo lo propio del registro y del panel) */
.beta-wrap { padding-bottom: 40px; }
.beta-hero { position: relative; margin-top: 16px; padding: clamp(20px, 4vw, 44px); border-radius: 22px; overflow: hidden; isolation: isolate;
  border: 1px solid transparent; background: radial-gradient(120% 140% at 100% 0%, rgba(255,122,0,.26), transparent 52%),
  radial-gradient(100% 120% at 0% 100%, rgba(0,102,255,.38), transparent 60%), linear-gradient(180deg, #120e33, #0b0822) padding-box, var(--metal-edge) border-box;
  box-shadow: var(--depth-2); display: grid; gap: 22px; align-items: center; }
.beta-hero h1 { font-size: clamp(2rem, 6vw, 3.4rem); margin: 0 0 10px; background: var(--chrome-text); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 2px 14px rgba(0,0,0,.55)); }
.beta-hero h1 em { font-style: normal; background: var(--accent-grad); -webkit-background-clip: text; background-clip: text; }
.beta-hero .lead { font-size: clamp(1.02rem, 2.2vw, 1.22rem); color: #e4e2ff; max-width: 60ch; margin: 0 0 16px; }
.beta-hero .hero-logo { width: min(100%, 340px); height: auto; justify-self: center; filter: drop-shadow(0 10px 30px rgba(0,0,0,.6)); }
.beta-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; padding: 0; list-style: none; }
.beta-badges li { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; font-weight: 600; font-size: .9rem;
  background: rgba(7,5,20,.55); border: 1px solid rgba(201,209,220,.4); }
.beta-badges li strong { color: var(--accent-text); }
@media (min-width: 900px) { .beta-hero { grid-template-columns: 1.5fr 1fr; } }

.beta-steps { display: grid; gap: 14px; margin: 22px 0; padding: 0; list-style: none; counter-reset: paso; }
.beta-steps li { position: relative; padding: 18px 18px 18px 66px; border-radius: 18px; background: linear-gradient(180deg, rgba(31,25,80,.85), var(--surface) 60%) padding-box, var(--metal-edge-soft) border-box; border: 1px solid transparent; box-shadow: var(--depth-1); }
.beta-steps li::before { counter-increment: paso; content: counter(paso); position: absolute; left: 16px; top: 16px; width: 36px; height: 36px; border-radius: 50%;
  display: grid; place-items: center; font-family: var(--font-display); font-weight: 700; color: var(--accent-ink); background: var(--metal-sheen), var(--accent-grad); box-shadow: var(--glow-orange); }
.beta-steps h3 { margin: 0 0 4px; font-size: 1.1rem; }
.beta-steps p { margin: 0; color: var(--muted); }
.beta-steps .plat-row { display: grid; gap: 6px; margin-top: 8px; }
.beta-steps .plat-row span { font-size: .9rem; color: #dcdaff; }
@media (min-width: 760px) { .beta-steps { grid-template-columns: repeat(3, 1fr); } }

.beta-grid { display: grid; gap: 18px; align-items: start; }
@media (min-width: 1100px) { .beta-grid { grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr); } .beta-aside { position: sticky; top: 90px; } }
.beta-form .row2 { grid-template-columns: 1fr; }
@media (min-width: 640px) { .beta-form .row2 { grid-template-columns: 1fr 1fr; } }
.beta-form .req { color: var(--accent-text); font-weight: 700; }
.beta-form .opt-tag { color: var(--dim); font-weight: 500; font-size: .85rem; }
.beta-form .seg-radio { display: flex; flex-wrap: wrap; gap: 8px; }
.beta-form .seg-radio label { position: relative; display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 8px 16px; border-radius: 12px;
  background: var(--bg2); border: 1px solid var(--line2); cursor: pointer; font-weight: 600; }
.beta-form .seg-radio input { width: 18px; height: 18px; accent-color: var(--accent); }
.beta-form .seg-radio label:has(input:checked) { border-color: var(--accent); background: var(--accent-soft); box-shadow: 0 0 0 1px var(--accent-line); }
.beta-form .games { display: grid; gap: 6px; grid-template-columns: 1fr; margin: 6px 0 4px; }
@media (min-width: 560px) { .beta-form .games { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1300px) { .beta-form .games { grid-template-columns: 1fr 1fr 1fr; } }
.beta-form .game-opt { display: grid; grid-template-columns: 22px 64px 1fr; gap: 10px; align-items: center; padding: 6px 8px; border-radius: 12px; border: 1px solid var(--line); background: rgba(7,5,20,.35); cursor: pointer; min-height: 52px; }
.beta-form .game-opt:hover { border-color: var(--line2); background: rgba(139,92,255,.12); }
.beta-form .game-opt:has(input:checked) { border-color: var(--accent-line); background: var(--accent-soft); }
.beta-form .game-opt input { width: 20px; height: 20px; accent-color: var(--accent); }
.beta-form .game-opt img, .beta-form .game-opt .ph { width: 64px; height: 36px; object-fit: cover; border-radius: 6px; background: var(--surface2); display: grid; place-items: center; font-size: 1.1rem; }
.beta-form .game-opt span { font-weight: 600; font-size: .93rem; line-height: 1.2; }
.beta-form .game-opt small { display: block; color: var(--dim); font-weight: 500; font-size: .76rem; }
.beta-form .games-tools { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 8px; }
.beta-form .sub-legend { font-weight: 700; margin: 12px 0 2px; color: var(--silver-2); }
.beta-form .adulto { margin-top: 8px; padding: 14px; border-radius: 14px; border: 1px dashed var(--accent-line); background: rgba(255,122,0,.06); }
.beta-form .adulto[hidden] { display: none; }
.beta-form .consent { padding: 12px; border-radius: 14px; background: rgba(0,102,255,.08); border: 1px solid rgba(0,102,255,.35); }
.beta-form .consent .check { font-size: .93rem; }
.beta-form .consent a { color: var(--accent-text); }
.beta-form .submit-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 14px; }
.beta-form .submit-row .hint { margin: 0; color: var(--dim); font-size: .85rem; }
.beta-form [data-err] { scroll-margin-top: 100px; }
.beta-ok { text-align: center; padding: clamp(18px, 4vw, 36px); }
.beta-ok .big { font-size: 3rem; line-height: 1; margin: 0 0 8px; }
.beta-faq details { border-top: 1px solid var(--line); padding: 10px 0; }
.beta-faq details:first-of-type { border-top: 0; }
.beta-faq summary { cursor: pointer; font-weight: 700; min-height: 32px; }
.beta-faq p { margin: 6px 0 0; color: var(--muted); }
.beta-done { max-width: 720px; margin: 40px auto; }
.beta-done .brand-logo { display: inline-block; margin-bottom: 10px; }
/* Botón destacado en la portada */
.beta-cta { margin: 18px 0 6px; display: grid; gap: 12px; align-items: center; padding: 16px 18px; border-radius: 18px; border: 1px solid transparent;
  background: radial-gradient(120% 160% at 100% 0%, rgba(255,122,0,.25), transparent 55%), linear-gradient(120deg, rgba(0,102,255,.30), rgba(17,13,43,.92) 60%) padding-box, var(--metal-edge) border-box; box-shadow: var(--depth-1); }
.beta-cta h2 { margin: 0 0 2px; font-size: clamp(1.15rem, 3vw, 1.45rem); }
.beta-cta p { margin: 0; color: #dcdaff; font-size: .95rem; }
.beta-cta .btn { justify-self: start; white-space: nowrap; }
@media (min-width: 760px) { .beta-cta { grid-template-columns: 1fr auto; } .beta-cta .btn { justify-self: end; } }
.main-nav a.nav-beta { color: var(--accent-text); }
/* Panel admin */
.beta-admin .adm-tag { font-family: var(--font-mono); color: var(--accent-text); letter-spacing: .08em; text-transform: uppercase; font-size: .8rem; }
.adm-filtros { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); align-items: end; }
.adm-filtros label { display: grid; gap: 4px; font-weight: 600; font-size: .9rem; }
.adm-filtros .opt { display: flex; }
.adm-btns { display: flex; gap: 8px; }
.adm-export { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 16px 0; }
.adm-export .hint { flex-basis: 100%; color: var(--dim); font-size: .85rem; margin: 4px 0 0; }
.adm-table-wrap { overflow-x: auto; border-radius: 14px; border: 1px solid var(--line2); }
.adm-table { width: 100%; border-collapse: collapse; font-size: .88rem; min-width: 1100px; }
.adm-table th, .adm-table td { padding: 8px 10px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; }
.adm-table th { background: var(--surface2); position: sticky; top: 0; font-family: var(--font-mono); font-size: .74rem; letter-spacing: .06em; text-transform: uppercase; color: var(--silver-2); }
.adm-table tr:hover td { background: rgba(139,92,255,.08); }
.adm-table .empty { text-align: center; color: var(--dim); padding: 24px; }
.hint { color: var(--dim); font-size: .85rem; }
.beta-form .dimmed { opacity: .62; }
.beta-badges li { display: inline-block; line-height: 1.35; }
@media (max-width: 899px) { .beta-hero .hero-logo { width: min(70%, 240px); order: -1; justify-self: start; } }
@media (max-width: 899px) and (orientation: landscape) { .beta-hero .hero-logo { display: none; } }
