/* Tradeker · «la sala»: fieltro, madera, latón y numerales de libro mayor. Sin fuentes externas (CSP self). */
:root{
  --fondo:#0b1510;--fondo2:#0f1c16;--panel:#132620;--panel2:#1a3329;--borde:rgba(212,168,75,.18);--borde2:rgba(239,230,210,.08);
  --fieltro:#1e5a44;--fieltro2:#2a7a5c;--madera:#5a3a1c;--madera2:#7a4f26;
  --laton:#d4a84b;--laton2:#8a7a52;--laton3:#f0cf7a;--crema:#efe6d2;--crema2:#d9cfb8;--gris:#9aa89f;--gris2:#6f7d75;
  --pos:#4fd38a;--neg:#ff6b5a;--aviso:#f2b84b;
  --f-serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,"URW Palladio L",Georgia,"Times New Roman",serif;
  --f-mono:ui-monospace,"SF Mono","Cascadia Mono",Menlo,Consolas,"Liberation Mono","DejaVu Sans Mono",monospace;
  --f-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"Liberation Sans",sans-serif;
  --radio:6px;--ancho:1180px;--sombra:0 18px 40px -20px rgba(0,0,0,.8);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--fondo) radial-gradient(ellipse at 50% -20%,#17382c 0,var(--fondo) 60%) fixed;color:var(--crema);font:16px/1.5 var(--f-sans);min-height:100vh;display:flex;flex-direction:column}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.06;mix-blend-mode:overlay;z-index:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='160' height='160' filter='url(%23n)' opacity='.9'/></svg>")}
a{color:var(--laton3);text-decoration:none}a:hover{text-decoration:underline;text-decoration-color:var(--laton2);text-underline-offset:3px}
h1,h2,h3{font-family:var(--f-serif);font-weight:500;letter-spacing:-.01em;margin:0 0 .4em;color:var(--crema)}
h1{font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.08}h1 em{font-style:italic;color:var(--laton3)}
h2{font-size:1.35rem}h3{font-size:1.1rem}
code,.mono,.roi,.ficha b,.mesa-asientos b,.mesa-pozo b,.reloj-txt b,.pozo-caja b,.puesto,td.col-roi,.cuenta-regresiva{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
code{background:rgba(255,255,255,.05);border:1px solid var(--borde2);border-radius:4px;padding:.05em .4em;font-size:.9em}
small{color:var(--gris)}
.salto{position:absolute;left:-999px;top:0}.salto:focus{left:8px;top:8px;background:var(--laton);color:#000;padding:6px 10px;z-index:99}
.contenido{flex:1;width:100%;max-width:var(--ancho);margin:0 auto;padding:0 20px 60px;position:relative;z-index:1}
.sobre{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--laton2);margin:0 0 .6em}
.gris{color:var(--gris)}.vacio{color:var(--gris);padding:24px;text-align:center;border:1px dashed var(--borde);border-radius:var(--radio);font-style:italic}
.nota{color:var(--gris);font-size:.9rem}.centrado{text-align:center;padding:80px 0}
.tag{font:.7rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--borde);padding:1px 6px;border-radius:3px;color:var(--laton2);vertical-align:middle}

/* ---------- barra */
.barra{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:28px;padding:12px 24px;background:rgba(11,21,16,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--borde)}
.marca{font-family:var(--f-serif);font-size:1.25rem;letter-spacing:.2em;display:flex;align-items:baseline;gap:1px;text-decoration:none!important}
.marca-t{color:var(--crema)}.marca-k{color:var(--laton)}.marca-punto{width:6px;height:6px;border-radius:50%;background:var(--laton);margin-left:3px;box-shadow:0 0 10px var(--laton)}
.nav{display:flex;gap:4px;margin-left:8px}.nav a{padding:6px 12px;border-radius:4px;color:var(--crema2);font-size:.95rem}
.nav a.on{color:var(--laton3);box-shadow:inset 0 -2px 0 var(--laton)}.nav a:hover{text-decoration:none;background:rgba(255,255,255,.04)}
.barra-der{margin-left:auto;display:flex;align-items:center;gap:12px}
.idioma{font:.75rem var(--f-mono);letter-spacing:.15em;border:1px solid var(--borde);border-radius:3px;padding:4px 7px;color:var(--gris)}
.btn-cuenta{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--borde);padding:6px 12px;border-radius:999px;color:var(--crema);font-size:.92rem}
.btn-cuenta.entrar{background:var(--laton);color:#1a1405;font-weight:600;border-color:transparent}.btn-cuenta:hover{text-decoration:none;border-color:var(--laton)}
.btn-admin{font:.75rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--aviso)}
.vivo-chip{display:inline-flex;align-items:center;gap:7px;font:.78rem var(--f-mono);color:var(--gris);letter-spacing:.05em}
.vivo-chip i{width:8px;height:8px;border-radius:50%;background:var(--pos);box-shadow:0 0 0 0 rgba(79,211,138,.6);animation:pulso 1.8s infinite}
.vivo-chip b{color:var(--crema)}
.menu-btn{display:none;background:none;border:1px solid var(--borde);border-radius:4px;width:38px;height:34px;position:relative;cursor:pointer}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{position:absolute;left:9px;width:18px;height:2px;background:var(--crema);content:"";transition:.2s}
.menu-btn span{top:16px}.menu-btn span::before{top:-6px;left:0}.menu-btn span::after{top:6px;left:0}
@keyframes pulso{0%{box-shadow:0 0 0 0 rgba(79,211,138,.6)}70%{box-shadow:0 0 0 9px rgba(79,211,138,0)}100%{box-shadow:0 0 0 0 rgba(79,211,138,0)}}

/* ---------- botones y fichas */
.boton{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border:1px solid var(--borde);border-radius:var(--radio);background:rgba(255,255,255,.03);color:var(--crema);font:inherit;font-weight:500;cursor:pointer;transition:transform .15s,border-color .15s,background .15s;text-decoration:none!important}
.boton:hover{border-color:var(--laton);transform:translateY(-1px)}.boton.primario{background:linear-gradient(180deg,var(--laton3),var(--laton));color:#1a1405;border-color:transparent;font-weight:600}
.boton.primario:hover{filter:brightness(1.05)}.boton.chico{padding:6px 12px;font-size:.88rem}.boton.peligro{border-color:rgba(255,107,90,.5);color:var(--neg)}.boton[disabled]{opacity:.5;cursor:default;transform:none}
.enlace{background:none;border:0;color:var(--laton3);cursor:pointer;font:inherit;padding:0;text-decoration:underline}
.ficha{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 8px;border-radius:999px;background:radial-gradient(circle at 30% 30%,#8a2b2b,#4d1414);border:2px dashed rgba(239,230,210,.55);box-shadow:inset 0 0 0 3px #4d1414,0 2px 0 #2a0b0b;color:#fff;font-size:.95rem;line-height:1;vertical-align:middle}
.ficha b{font-weight:700}.ficha small{color:rgba(255,255,255,.75);font-size:.7em;letter-spacing:.05em}
.ficha-demo{background:radial-gradient(circle at 30% 30%,#2a5fa8,#143661);box-shadow:inset 0 0 0 3px #143661,0 2px 0 #0a1c33;font:.7rem var(--f-mono);letter-spacing:.15em;padding:6px 10px}
.ficha-gratis{background:radial-gradient(circle at 30% 30%,#3a8a5a,#1e4d33);box-shadow:inset 0 0 0 3px #1e4d33,0 2px 0 #0c2619;font:.7rem var(--f-mono);letter-spacing:.15em;padding:6px 10px}
.ficha-mini{width:14px;height:14px;padding:0;border-width:1.5px;box-shadow:inset 0 0 0 2px #4d1414}
.roi{font-weight:600}.roi.pos{color:var(--pos)}.roi.neg{color:var(--neg)}.roi.neutro{color:var(--gris)}

/* ---------- hero */
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:56px 0 36px}
.bajada{font-size:1.1rem;color:var(--crema2);max-width:54ch}.bajada b{color:var(--laton3)}
.hero-acciones{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
.mesa-grande{width:100%;filter:drop-shadow(0 30px 40px rgba(0,0,0,.6))}
.mesa-grande .asiento circle{fill:#20362c;stroke:var(--laton);stroke-opacity:.6;stroke-width:1.2;animation:latido 3.6s ease-in-out infinite;transform-origin:center;transform-box:fill-box}
.mesa-grande .asiento:nth-of-type(2) circle{animation-delay:.45s}.mesa-grande .asiento:nth-of-type(3) circle{animation-delay:.9s}.mesa-grande .asiento:nth-of-type(4) circle{animation-delay:1.35s}.mesa-grande .asiento:nth-of-type(5) circle{animation-delay:1.8s}.mesa-grande .asiento:nth-of-type(6) circle{animation-delay:2.25s}
.form-angosto{max-width:520px}
.mesa-grande .asiento text{fill:var(--crema);font:600 9px var(--f-mono);text-anchor:middle}
.mesa-grande .pozo-centro rect{fill:#0b1510;stroke:var(--laton);stroke-opacity:.5}.mesa-grande .pozo-centro text{fill:var(--laton3);font:600 11px var(--f-mono);text-anchor:middle;letter-spacing:.05em}
.mesa-grande .fichas circle{fill:#8a2b2b;stroke:#efe6d2;stroke-dasharray:2 2;stroke-width:1}
@keyframes latido{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}

/* ---------- secciones y filas de mesa */
.bloque{padding:28px 0}
.titulo-seccion{display:flex;align-items:baseline;gap:12px;font-size:1.1rem;letter-spacing:.02em;margin-bottom:14px}
.titulo-seccion::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--borde),transparent)}
.titulo-seccion i{font:.8rem var(--f-mono);color:var(--laton2);font-style:normal}
.mesas{display:flex;flex-direction:column;gap:8px}
.mesa-fila{display:grid;grid-template-columns:80px 1.6fr auto 110px 130px 1fr auto;align-items:center;gap:18px;padding:12px 16px;border:1px solid var(--borde2);border-radius:var(--radio);background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0));color:var(--crema);text-decoration:none!important;transition:border-color .15s,transform .15s,background .15s;animation:aparecer .4s both}
.mesa-fila:hover{border-color:var(--laton);transform:translateX(3px);background:rgba(212,168,75,.04)}
.mesa-fila.estado-en_curso{border-left:3px solid var(--pos)}.mesa-fila.estado-llena{border-left:3px solid var(--aviso)}.mesa-fila.estado-finalizada,.mesa-fila.estado-cancelada{opacity:.75}
.mesa-nombre b{display:block;font-family:var(--f-serif);font-size:1.15rem;font-weight:500}.mesa-tipo{font-size:.8rem;color:var(--gris)}
.mesa-asientos,.mesa-pozo{text-align:right;line-height:1.1}.mesa-asientos b,.mesa-pozo b{font-size:1.15rem;display:block}.mesa-asientos small,.mesa-pozo small{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.mesa-meta{font:.9rem var(--f-mono);color:var(--crema2);text-align:right}.meta-obj{color:var(--laton3)}
.mesa-estado{font:.68rem var(--f-mono);letter-spacing:.14em;text-transform:uppercase;padding:3px 8px;border:1px solid var(--borde);border-radius:3px;color:var(--gris)}
.estado-en_curso .mesa-estado{color:var(--pos);border-color:rgba(79,211,138,.4)}.estado-llena .mesa-estado{color:var(--aviso)}
.mini-mesa{width:80px;height:44px}.mini-mesa .fieltro{fill:var(--fieltro);stroke:var(--madera);stroke-width:4}.mini-mesa .lleno{fill:var(--laton3)}.mini-mesa .vacio{fill:none;stroke:var(--gris2);stroke-width:1}
.mini-mesa.jugando .fieltro{fill:var(--fieltro2)}.mini-mesa.jugando .lleno{animation:latido 2.4s infinite}
@keyframes aparecer{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.aviso-global{margin:16px 0;padding:12px 16px;border:1px solid rgba(242,184,75,.5);border-radius:var(--radio);background:rgba(242,184,75,.08);color:var(--crema)}

.pasos{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:p}
.pasos li{padding:20px;border:1px solid var(--borde2);border-radius:var(--radio);background:rgba(255,255,255,.02);position:relative}
.pasos .n{font:600 .8rem var(--f-mono);color:var(--laton);border:1px solid var(--borde);border-radius:50%;width:28px;height:28px;display:grid;place-items:center;margin-bottom:12px}
.pasos h3{font-size:1.05rem}.pasos p{color:var(--gris);font-size:.93rem;margin:0}.pasos b{color:var(--crema)}

/* ---------- página de mesa */
.mesa-cab{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:start;padding:32px 0 12px}
.mesa-cab h1{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.mesa-datos{display:flex;flex-wrap:wrap;gap:6px 22px;color:var(--gris);font-size:.95rem;margin:.4em 0}.mesa-datos b{color:var(--crema);font-family:var(--f-mono);font-weight:600}
.mesa-pares{color:var(--gris);font-size:.9rem;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.mesa-estado-caja{display:flex;align-items:center;gap:22px;padding:16px 20px;border:1px solid var(--borde);border-radius:var(--radio);background:var(--panel);box-shadow:var(--sombra);min-width:300px}
.mesa-estado-caja .etiqueta{writing-mode:vertical-rl;transform:rotate(180deg);font:.68rem var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--laton2)}
.mesa-estado-caja.estado-en_curso .etiqueta{color:var(--pos)}
.reloj{position:relative;width:104px;height:104px}.reloj svg{width:100%;height:100%;transform:rotate(-90deg)}
.reloj .pista{fill:none;stroke:rgba(255,255,255,.06);stroke-width:5}.reloj .aguja{fill:none;stroke:var(--laton);stroke-width:5;stroke-linecap:round;stroke-dasharray:276.46;stroke-dashoffset:0;transition:stroke-dashoffset 1s linear}
.reloj-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.reloj-txt b{font-size:1.15rem}.reloj-txt small{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;margin-top:4px}
.pozo-caja{text-align:center;line-height:1.1}.pozo-caja b{display:block;font-size:1.8rem;color:var(--laton3)}.pozo-caja small{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase}

.sala{margin:10px 0 26px;padding:20px;border-radius:14px;background:linear-gradient(180deg,#0e1b15,#0a130e);border:1px solid var(--borde2);box-shadow:var(--sombra)}
.mesa-svg{width:100%;display:block;max-height:420px}
.mesa-svg .madera{fill:url(#madera)}.mesa-svg .fieltro{fill:url(#fieltro)}.mesa-svg .linea{fill:none;stroke:var(--laton);stroke-opacity:.3;stroke-dasharray:3 7}
.mesa-svg .asiento .disco{fill:#17302a;stroke:var(--laton2);stroke-width:1.5;transition:stroke .4s,fill .4s}
.mesa-svg .asiento.lider .disco{stroke:var(--laton3);stroke-width:2.5;filter:drop-shadow(0 0 8px rgba(240,207,122,.6))}
.mesa-svg .asiento.pos .disco{fill:#153a2b}.mesa-svg .asiento.neg .disco{fill:#3a1c1a}.mesa-svg .asiento.dq .disco{fill:#2a2a2a;stroke-dasharray:3 3}.mesa-svg .asiento.vacio .disco{fill:none;stroke:var(--gris2);stroke-dasharray:2 4}
.mesa-svg .asiento .ini{fill:var(--crema);font:600 13px var(--f-serif);text-anchor:middle;dominant-baseline:central;letter-spacing:.05em}
.mesa-svg .asiento .nom{fill:var(--crema2);font:11px var(--f-sans);text-anchor:middle}
.mesa-svg .asiento .val{font:700 12px var(--f-mono);text-anchor:middle;fill:var(--gris)}.mesa-svg .asiento.pos .val{fill:var(--pos)}.mesa-svg .asiento.neg .val{fill:var(--neg)}
.mesa-svg .asiento .corona{fill:var(--laton3);opacity:0;transition:opacity .4s}.mesa-svg .asiento.lider .corona{opacity:1}
.mesa-svg .centro rect{fill:#0b1510;stroke:var(--laton);stroke-opacity:.45}.mesa-svg .centro .pz{fill:var(--laton3);font:600 15px var(--f-mono);text-anchor:middle;letter-spacing:.04em}.mesa-svg .centro .pz2{fill:var(--gris);font:9px var(--f-mono);text-anchor:middle;letter-spacing:.2em}
.mesa-svg .ficha-svg{fill:#8a2b2b;stroke:#efe6d2;stroke-dasharray:2.5 2.5;stroke-width:1.2}
.mesa-svg .boton-dealer{fill:#efe6d2}.mesa-svg .boton-dealer-t{fill:#1a1405;font:700 8px var(--f-sans);text-anchor:middle;dominant-baseline:central}
.mesa-svg .asiento.cambio-pos .disco{animation:flashPos .9s}.mesa-svg .asiento.cambio-neg .disco{animation:flashNeg .9s}
@keyframes flashPos{0%{fill:#2fa36a}100%{fill:#153a2b}}@keyframes flashNeg{0%{fill:#b3402f}100%{fill:#3a1c1a}}
.dos-col{display:grid;grid-template-columns:1.5fr 1fr;gap:32px;align-items:start}
.ranking{width:100%;border-collapse:collapse;font-size:.95rem}.ranking th{text-align:left;font:.7rem var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--laton2);padding:8px 10px;border-bottom:1px solid var(--borde)}
.ranking td{padding:10px;border-bottom:1px solid var(--borde2);vertical-align:middle}.ranking tr.dq td{opacity:.5;text-decoration:line-through}
.ranking .puesto{font-weight:700;color:var(--laton3);width:36px}.ranking .apodo a{color:var(--crema);font-weight:500}.ranking tr:first-child .puesto::before{content:"♛ ";font-size:.8em}
.ranking .col-roi{font-size:1.05rem}.curva{width:120px;height:28px;display:block}.curva path{fill:none;stroke-width:1.6}.curva .pos{stroke:var(--pos)}.curva .neg{stroke:var(--neg)}.curva .cero{stroke:rgba(255,255,255,.12);stroke-dasharray:2 3}
.ranking td.cambio-pos{animation:celdaPos 1.2s}.ranking td.cambio-neg{animation:celdaNeg 1.2s}
@keyframes celdaPos{0%{background:rgba(79,211,138,.35)}100%{background:transparent}}@keyframes celdaNeg{0%{background:rgba(255,107,90,.35)}100%{background:transparent}}
.nota-espectador{color:var(--gris2);font-size:.82rem;margin-top:12px}
.asiento-caja{padding:18px;border:1px solid var(--borde);border-radius:var(--radio);background:var(--panel)}
.asiento-caja h3{margin-top:0}.asiento-caja .fila{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--borde2);font-size:.95rem}.asiento-caja .fila b{font-family:var(--f-mono)}
.pago-caja{margin-top:12px;padding:14px;border:1px dashed var(--laton2);border-radius:var(--radio);background:rgba(212,168,75,.05)}
.pago-caja .dir{font:.85rem var(--f-mono);word-break:break-all;background:#0b1510;padding:8px;border-radius:4px;border:1px solid var(--borde2);cursor:pointer}
.pago-caja .monto{font:700 1.4rem var(--f-mono);color:var(--laton3)}.pago-estado{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:var(--gris)}
.pago-estado i{width:8px;height:8px;border-radius:50%;background:var(--aviso);animation:pulso 1.6s infinite}
.qr-pago{background:#fff;padding:8px;border-radius:4px;width:fit-content;margin:10px auto}
.compartir{margin-top:12px;text-align:right}
.cuenta-regresiva{color:var(--crema)}

/* ---------- formularios */
.form{display:flex;flex-direction:column;gap:14px}.form label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:var(--crema2)}
.form input:not([type=checkbox]),.form select,.form textarea{font:inherit;padding:10px 12px;border-radius:var(--radio);border:1px solid var(--borde);background:#0b1510;color:var(--crema);outline:none;transition:border-color .15s,box-shadow .15s}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--laton);box-shadow:0 0 0 3px rgba(212,168,75,.15)}
.form small{font-size:.8rem}.form .check{flex-direction:row;align-items:flex-start;gap:10px}.form .check input{margin-top:4px;accent-color:var(--laton)}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.msg{min-height:1.2em;margin:0;font-size:.9rem;color:var(--gris)}.msg.ok{color:var(--pos)}.msg.error{color:var(--neg)}
.acceso{display:grid;grid-template-columns:1fr .8fr;gap:40px;padding:48px 0;align-items:start}
.acceso-caja{padding:28px;border:1px solid var(--borde);border-radius:10px;background:var(--panel);box-shadow:var(--sombra)}
.acceso-lado h2{color:var(--laton3)}.acceso-lado p{color:var(--gris)}
.pestanas{display:flex;gap:4px;margin-bottom:22px;border-bottom:1px solid var(--borde)}.pestanas button{background:none;border:0;color:var(--gris);font:inherit;padding:10px 14px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.pestanas button.on{color:var(--laton3);border-bottom-color:var(--laton)}
.cuenta-cab,.perfil-cab{display:flex;align-items:center;gap:20px;padding:36px 0 16px}.cuenta-cab h1,.perfil-cab h1{margin:0}.cuenta-cab #salir{margin-left:auto}
.avatar{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 30%,var(--fieltro2),var(--fieltro));border:2px solid var(--laton);font:600 1.3rem var(--f-serif);color:var(--crema);letter-spacing:.05em}
.pestanas-cuenta{display:flex;gap:4px;border-bottom:1px solid var(--borde);margin-bottom:8px}.pestanas-cuenta a{padding:10px 14px;color:var(--gris);border-bottom:2px solid transparent;margin-bottom:-1px}.pestanas-cuenta a.on{color:var(--laton3);border-bottom-color:var(--laton)}.pestanas-cuenta a:hover{text-decoration:none;color:var(--crema)}
.dos-col-cuenta{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.caja-form{padding:22px;border:1px solid var(--borde2);border-radius:var(--radio);background:rgba(255,255,255,.02)}
.guia{padding-left:20px;color:var(--gris);font-size:.93rem}.guia b{color:var(--crema)}
.lista-claves{display:flex;flex-direction:column;gap:10px}
.clave{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:12px 14px;border:1px solid var(--borde2);border-radius:var(--radio);background:var(--panel)}
.clave .ex{font:600 .75rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--laton3);border:1px solid var(--borde);padding:4px 8px;border-radius:3px}
.clave .det{font-size:.9rem}.clave .det small{display:block}.clave .est{font:.7rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase}
.clave .est.valida{color:var(--pos)}.clave .est.pendiente{color:var(--aviso)}.clave .est.rechazada{color:var(--neg)}
.direccion-actual code{font-size:.95rem;word-break:break-all}
.qr{background:#fff;padding:10px;width:fit-content;border-radius:4px;margin:10px 0}.secreto-txt code{word-break:break-all}
.tabla{width:100%;border-collapse:collapse;font-size:.93rem}.tabla th{text-align:left;font:.7rem var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--laton2);padding:8px 10px;border-bottom:1px solid var(--borde)}
.tabla td{padding:9px 10px;border-bottom:1px solid var(--borde2)}.tabla .puesto{font-weight:700;color:var(--laton3)}
.resultado{padding:16px 0;border-bottom:1px solid var(--borde2)}.resultado header{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.resultado header time{margin-left:auto;color:var(--gris);font-size:.85rem}
.podio{list-style:none;display:flex;gap:18px;padding:0;margin:10px 0 0;flex-wrap:wrap}.podio li{display:flex;align-items:center;gap:8px;font-size:.95rem}.podio .puesto{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:700 .75rem var(--f-mono);background:var(--panel2);border:1px solid var(--borde);color:var(--laton3)}
.podio b{color:var(--laton3);font-family:var(--f-mono)}
.prosa{max-width:76ch}.prosa p{color:var(--crema2)}.prosa h2{margin-top:1.6em;color:var(--laton3)}.prosa b{color:var(--crema)}

/* ---------- admin */
.admin{display:grid;grid-template-columns:200px 1fr;gap:28px;padding:28px 0}
.admin-nav{display:flex;flex-direction:column;gap:2px;position:sticky;top:76px}.admin-nav a{padding:8px 12px;border-radius:4px;color:var(--crema2);font-size:.95rem}.admin-nav a.on{background:rgba(212,168,75,.12);color:var(--laton3)}
.admin-cuerpo{min-width:0}.admin-cuerpo h2{display:flex;align-items:center;gap:12px}.admin-cuerpo .tabla{font-size:.86rem}
.admin-cuerpo .tabla td{vertical-align:top}.admin-cuerpo details{font-size:.8rem}.admin-cuerpo pre{font-size:.75rem;white-space:pre-wrap;max-width:420px;max-height:200px;overflow:auto;background:#0b1510;padding:8px;border-radius:4px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:24px}
.kpi{padding:14px;border:1px solid var(--borde2);border-radius:var(--radio);background:var(--panel)}.kpi b{display:block;font:600 1.5rem var(--f-mono);color:var(--laton3)}.kpi small{letter-spacing:.1em;text-transform:uppercase;font-size:.65rem}
.kpi.mal b{color:var(--neg)}.kpi.bien b{color:var(--pos)}
.filtros{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 16px;align-items:center}.filtros input,.filtros select{font:inherit;padding:6px 10px;border-radius:4px;border:1px solid var(--borde);background:#0b1510;color:var(--crema)}
.form.inline{flex-direction:row;flex-wrap:wrap;align-items:flex-end}.form.inline label{min-width:140px}
.estado-pill{font:.68rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;padding:2px 7px;border-radius:3px;border:1px solid var(--borde)}
.estado-pill.pendiente,.estado-pill.abierta,.estado-pill.esperando{color:var(--aviso)}.estado-pill.pagado,.estado-pill.valida,.estado-pill.confirmado,.estado-pill.en_curso,.estado-pill.activo{color:var(--pos)}
.estado-pill.retenido,.estado-pill.rechazada,.estado-pill.rechazado,.estado-pill.grave,.estado-pill.descalificada,.estado-pill.bloqueado{color:var(--neg)}
.acciones{display:flex;gap:6px;flex-wrap:wrap}.acciones .boton{padding:4px 9px;font-size:.8rem}

/* ---------- pie */
.pie{border-top:1px solid var(--borde);padding:28px 24px;position:relative;z-index:1;background:rgba(0,0,0,.25)}
.pie-int{max-width:var(--ancho);margin:0 auto;display:grid;grid-template-columns:auto 1fr;gap:10px 40px;align-items:center}
.pie-marca{font-family:var(--f-serif);letter-spacing:.15em;margin:0}.pie-marca span{color:var(--laton)}
.pie nav{display:flex;gap:18px;justify-content:flex-end;font-size:.9rem}.pie-aviso{grid-column:1/-1;color:var(--gris2);font-size:.82rem;margin:0}

/* ---------- toasts */
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:var(--panel2);border:1px solid var(--laton);color:var(--crema);padding:10px 16px;border-radius:var(--radio);box-shadow:var(--sombra);opacity:0;transition:.25s;z-index:50;font-size:.95rem}
.toast.ver{opacity:1;transform:translateX(-50%)}

/* ---------- responsive */
@media (max-width:980px){
  .hero{grid-template-columns:1fr;padding-top:32px}.hero-mesa{max-width:420px;margin:0 auto}
  .mesa-fila{grid-template-columns:64px 1fr auto;grid-template-areas:"mini nombre buyin" "mini asientos pozo" "mini meta estado";gap:6px 12px}
  .mini-mesa{grid-area:mini;width:64px}.mesa-nombre{grid-area:nombre}.mesa-buyin{grid-area:buyin}.mesa-asientos{grid-area:asientos;text-align:left}.mesa-pozo{grid-area:pozo}.mesa-meta{grid-area:meta;text-align:left}.mesa-estado{grid-area:estado;justify-self:end}
  .pasos{grid-template-columns:1fr 1fr}.dos-col,.dos-col-cuenta,.acceso{grid-template-columns:1fr}.mesa-cab{grid-template-columns:1fr}.mesa-estado-caja{min-width:0}
  .admin{grid-template-columns:1fr}.admin-nav{position:static;flex-direction:row;flex-wrap:wrap}
  .pie-int{grid-template-columns:1fr}.pie nav{justify-content:flex-start;flex-wrap:wrap}
}
@media (max-width:720px){
  .barra{gap:12px;padding:10px 14px}.nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--fondo2);border-bottom:1px solid var(--borde);padding:8px}
  body.menu-abierto .nav{display:flex}.menu-btn{display:block}.vivo-chip{display:none}.btn-cuenta span{display:none}
  .pasos{grid-template-columns:1fr}.ranking .col-curva,.ranking .col-trades{display:none}.contenido{padding:0 14px 40px}
  .mesa-svg{max-height:300px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
