/* Portado TAL CUAL del prototipo aprobado (bingo/prototipo/piramide.html, md5 e1ef2e74a63fe5b10c2ffdbfcd640462, líneas 10-367).
   Lo de las pestañas que todavía no están (Bonos, Reportes, Configuración, Sitio de juegos, Mi bot) queda: lo usan sus corridas.
   Lo propio del panel real va al final, en «Agregado en PIRAMIDE-1». */
/* Prototipo: La pirámide (17/10). Maestro → agentes → subagentes → jugadores, un solo servidor.
   Página clara, paleta Índigo (18/10 14:06; ya no usa los colores de Candy). Datos de ejemplo; todo funciona en la página. */
:root{
  color-scheme:light;
  --ground:#F7F8F9;--surface:#FFFFFF;--surface-2:#F1F2F4;--line:#E2E4E7;--line-strong:#CDD1D6;
  --ink:#1D2125;--ink-soft:#5F656D;--ink-faint:#8A9099;--accent:#3446A8;--accent-soft:#E6EBFA;--accent-line:#C2CCF0;
  --gold:#9A7B10;--gold-soft:#FBF2D6;--gold-line:#EEDDA0;--ok:#1F7A4D;--ok-soft:#E3F3EA;--ok-line:#BFE3CE;
  --warn:#A5670A;--warn-soft:#FBF0DC;--warn-line:#EED9AE;--bad:#B3261E;--bad-soft:#FBE6E4;--bad-line:#F0C6C2;
  --display:"Bricolage Grotesque","Trebuchet MS",sans-serif;--body:"Source Sans 3","Segoe UI",system-ui,sans-serif;--mono:"IBM Plex Mono",Consolas,monospace;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.45}
.wrap{max-width:1100px;margin:0 auto;padding:24px 16px 56px}
h1,h2,h3{font-family:var(--display);margin:0;letter-spacing:-.01em}
h1{font-size:28px}
h2{font-size:19px}
h3{font-size:15px;font-weight:600}
.lede{color:var(--ink-soft);margin:6px 0 18px;max-width:72ch}
.decis{background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:12px;padding:12px 16px;margin:0 0 20px}
.decis summary{cursor:pointer;font-weight:700;color:var(--gold)}
.decis ol{margin:8px 0 0;padding-left:22px}
.decis li{margin:3px 0}
.decis .yo{color:var(--ink-soft);font-style:italic}
.vistas{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:3px;gap:2px;margin:0 0 18px;flex-wrap:wrap}
.vistas button{border:0;background:none;padding:7px 14px;border-radius:8px;font:600 14px var(--body);color:var(--ink-soft);cursor:pointer}
.vistas button[aria-current="true"]{background:var(--surface);color:var(--accent);box-shadow:0 1px 2px rgba(29,33,37,.12)}
.top{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;margin:0 0 16px}
.migas{font-size:14px;color:var(--ink-soft)}
.migas b{color:var(--ink)}
.micuenta{border:0;background:none;padding:4px 6px;margin:-4px -6px;border-radius:8px;font:inherit;color:var(--ink-soft);cursor:pointer}
.micuenta:hover{background:var(--surface-2)}
.micuenta:focus-visible{outline:2px solid var(--accent)}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 20px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-width:0}
.kpi .l{font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}
.kpi .n{font-family:var(--display);font-size:24px;font-weight:700;margin-top:2px;overflow-wrap:anywhere}
.kpi .s{font-size:13px;color:var(--ink-soft)}
.tabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:1px solid var(--line);margin:0 0 18px}
.tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:10px 12px;font:600 14.5px var(--body);color:var(--ink-soft);cursor:pointer;margin-bottom:-1px}
.tabs button[aria-current="true"]{color:var(--accent);border-bottom-color:var(--accent)}
.box{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin:0 0 14px}
.box > h3{margin:0 0 12px}
.cfg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.field{display:flex;flex-direction:column;gap:5px;min-width:0}
.field label,.lbl{font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}
.field input,.field select{font:15px var(--body);padding:8px 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);width:100%}
.field input.mono{font-family:var(--mono);font-size:14px}
.hint{font-size:13px;color:var(--ink-faint)}
.btn{font:600 14px var(--body);padding:8px 14px;border-radius:8px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn-sm{padding:5px 10px;font-size:13px}
.btn-main{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-bad{color:var(--bad);border-color:var(--bad-line)}
.btn-ok{color:var(--ok);border-color:var(--ok-line)}
.btn-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:14px}
.acciones{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:2px 9px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-soft);white-space:nowrap}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.pill.ok{background:var(--ok-soft);color:var(--ok);border-color:var(--ok-line)}
.pill.bad{background:var(--bad-soft);color:var(--bad);border-color:var(--bad-line)}
.pill.ac{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-line)}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:0 0 14px}
.panel-h{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}
.scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14.5px}
th{text-align:left;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-weight:600;padding:10px 14px;background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
tr:last-child td{border-bottom:0}
.right{text-align:right}
.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
th.num{text-align:right}
.mono{font-family:var(--mono);font-size:13.5px}
.mas{color:var(--ok)} .menos{color:var(--bad)}
.nodo{display:flex;align-items:center;gap:8px;min-width:0}
.nodo .sang{flex:none}
.nodo .rama{flex:none;width:14px;height:14px;border-left:2px solid var(--line-strong);border-bottom:2px solid var(--line-strong);border-bottom-left-radius:4px;margin-top:-8px}
.nodo .nom,.nom{font-weight:600;white-space:nowrap}
.niv{font-size:12px;color:var(--ink-faint);white-space:nowrap}
tr.bloq td{color:var(--ink-faint)}
tr.bloq .nom{text-decoration:line-through}
.buscar{display:flex;flex-wrap:wrap;gap:8px}
.buscar input,.buscar select{font:14px var(--body);padding:7px 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);min-width:0}
.velo{position:fixed;inset:0;background:rgba(29,33,37,.35);display:flex;align-items:center;justify-content:center;padding:16px;z-index:10}
.modal{background:var(--surface);border-radius:14px;max-width:460px;width:100%;padding:18px 20px;box-shadow:0 12px 40px rgba(29,33,37,.25);max-height:calc(100vh - 32px);overflow:auto}
.modal h2{margin:0 0 4px}
.seg{display:flex;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:3px;gap:2px;margin:12px 0}
.seg button{flex:1;border:0;background:none;padding:7px 10px;border-radius:8px;font:600 14px var(--body);color:var(--ink-soft);cursor:pointer}
.seg button[aria-current="true"]{background:var(--surface);color:var(--accent);box-shadow:0 1px 2px rgba(29,33,37,.12)}
.cuenta{display:grid;grid-template-columns:1fr auto;gap:4px 12px;background:var(--surface-2);border-radius:10px;padding:10px 12px;font-size:14px;margin:12px 0 0}
.cuenta .num{font-weight:600}
.err{color:var(--bad);font-size:13.5px;margin-top:8px}
.link{font-family:var(--mono);font-size:13px;background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:8px;padding:8px 10px;word-break:break-all;margin-top:8px}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;font-size:14px;z-index:20;max-width:calc(100% - 32px)}
.sec{font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-weight:600;margin:0 0 8px}
.mov{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.mov:last-child{border-bottom:0}
.mov .q{color:var(--ink-faint);font-size:12.5px}
.arbol td{padding:5px 12px;height:40px}
.arbol tbody tr:hover td{background:var(--surface-2)}
.arbol .nodo{gap:4px;align-self:stretch}
.g{width:20px;flex:none;align-self:stretch;position:relative}
.g::before{content:"";position:absolute;left:10px;top:-6px;bottom:-6px;border-left:1px solid var(--line-strong)}
.tog{border:0;background:none;width:22px;height:22px;border-radius:6px;cursor:pointer;color:var(--ink-soft);flex:none;padding:0;display:inline-flex;align-items:center;justify-content:center}
.tog::before{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .12s}
.tog.ab::before{transform:rotate(45deg) translate(-1px,-1px)}
.tog:hover{background:var(--accent-soft);color:var(--accent)}
.tog-vacio{width:22px;flex:none;display:inline-flex;align-items:center;justify-content:center}
.tog-vacio::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--line-strong)}
.chip{font-size:11.5px;font-weight:600;color:var(--ink-faint);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:0 5px;white-space:nowrap}
.cuenta-d{font-size:12px;color:var(--accent);white-space:nowrap}
.est{display:inline-flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap;color:var(--ok)}
.est::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.est.bad{color:var(--bad)}
.mas-btn{border:1px solid transparent;background:none;width:30px;height:28px;border-radius:8px;cursor:pointer;color:var(--ink-soft);font-size:18px;line-height:1;padding:0}
.mas-btn:hover,.mas-btn[aria-expanded="true"]{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}
.menu{position:fixed;z-index:15;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(29,33,37,.18);padding:4px;min-width:200px}
.menu button{display:block;width:100%;text-align:left;border:0;background:none;padding:8px 10px;border-radius:7px;font:14px var(--body);color:var(--ink);cursor:pointer}
.menu button:hover{background:var(--surface-2)}
.menu button.rojo{color:var(--bad)}
.menu hr{border:0;border-top:1px solid var(--line);margin:4px 0}
.sw{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14.5px;user-select:none;position:relative}
.sw input{position:absolute;opacity:0;width:1px;height:1px}
.sw i{width:36px;height:20px;border-radius:999px;background:var(--line-strong);position:relative;flex:none;transition:background .15s}
.sw i::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s}
.sw input:checked + i{background:var(--accent)}
.sw input:checked + i::after{left:18px}
.barra{height:6px;background:var(--surface-2);border:1px solid var(--line);border-radius:99px;overflow:hidden}
.barra i{display:block;height:100%;background:var(--accent);border-radius:99px}
.barra.ok i{background:var(--ok)}
.wag{display:flex;flex-direction:column;gap:4px;min-width:160px}
.wag span{font-size:12.5px;color:var(--ink-soft);white-space:nowrap}
.tipo{display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}
.tipo:last-child{border-bottom:0}
.tipo .t-res{font-size:13.5px;color:var(--ink-soft)}
.tipo .t-acc{display:flex;gap:10px;align-items:center}
.contrib{display:grid;grid-template-columns:1fr 90px;gap:4px 10px;align-items:center;font-size:14px}
.contrib .gr{font-weight:700;padding-top:8px}
.grtog{border:0;background:none;padding:0;font:700 14px var(--body);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-align:left}
.grtog::before{content:"";width:6px;height:6px;border-right:2px solid var(--ink-soft);border-bottom:2px solid var(--ink-soft);transform:rotate(-45deg);transition:transform .12s;flex:none}
.grtog.ab::before{transform:rotate(45deg) translate(-1px,-1px)}
.grtog .n{font-weight:400;color:var(--ink-faint);font-size:13px}
.happy{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:10px;padding:8px 12px;font-size:14px;margin:12px 0 0}
.happy b{color:var(--gold)}
.semana{display:flex;flex-wrap:wrap;gap:6px}
.semana label{display:inline-flex;align-items:center;justify-content:center;width:38px;height:32px;border:1px solid var(--line-strong);border-radius:8px;cursor:pointer;font-size:13.5px;font-weight:600;color:var(--ink-soft);user-select:none}
.semana input{position:absolute;opacity:0;width:1px;height:1px}
.semana label:has(input:checked){background:var(--accent);border-color:var(--accent);color:#fff}
.s-happy{background:linear-gradient(90deg,#FFE7A3,#FFF3C9);border-radius:12px;padding:10px 14px;margin:0 0 14px;font-size:14.5px}
.contrib .jg{padding-left:18px;color:var(--ink-soft);font-size:13.5px}
.contrib .jg + input{height:30px}
.contrib input.dif{border-color:var(--accent);background:var(--accent-soft)}
.grupos{display:flex;flex-direction:column;gap:8px}
.grupo-f{display:grid;grid-template-columns:auto 1fr 96px auto auto;gap:8px;align-items:center}
.grupo-f .pctf{display:flex;align-items:center;gap:4px}
.grupo-f .pctf input{width:62px;text-align:right;font-family:var(--mono);font-size:14px}
@media (max-width:720px){.grupo-f{grid-template-columns:auto 1fr 96px}.grupo-f .hint,.grupo-f [data-grdel]{grid-column:2 / -1}}
.orden{display:flex;gap:2px}
.orden button{border:1px solid var(--line-strong);background:var(--surface);width:30px;height:32px;border-radius:7px;cursor:pointer;color:var(--ink-soft);font-size:14px;padding:0}
.orden button:disabled{opacity:.35;cursor:default}
.destino{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
@media (max-width:720px){.destino{grid-template-columns:1fr}}
.grupo-f input{font:15px var(--body);padding:7px 10px;border:1px solid var(--line-strong);border-radius:8px;min-width:0}
td select{font:14px var(--body);padding:5px 8px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);max-width:100%}
.contrib input{font:14px var(--mono);padding:6px 8px;border:1px solid var(--line-strong);border-radius:8px;width:100%;text-align:right}
.lnk-n{color:var(--ink);font-weight:600;text-decoration:none;border-bottom:1px dashed var(--accent-line);white-space:nowrap}
.lnk-n:hover{color:var(--accent);border-bottom-color:var(--accent)}
.lnk-a{color:inherit;text-decoration:none;border-bottom:1px dashed var(--line-strong)}
.lnk-a:hover{color:var(--accent);border-bottom-color:var(--accent)}
.nav-rep{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;margin:0 0 14px;font-size:14px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.nav-rep .lnk{border:0;background:none;color:var(--accent);font:600 14px var(--body);cursor:pointer;padding:2px 4px;border-radius:6px}
.nav-rep .lnk:hover{background:var(--accent-soft)}
.nav-rep .act{font-weight:700;padding:2px 4px}
.nav-rep .sep{color:var(--ink-faint)}
.herm{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:6px 10px;margin:0 0 12px;font-size:14px}
.herm .btn{min-width:0}
.dos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 14px}
.dos > .box{margin:0}
.comp{display:grid;grid-template-columns:1fr auto;gap:6px 12px;font-size:14.5px}
.comp .num{font-weight:600}
.comp .tot{border-top:1px solid var(--line-strong);padding-top:6px;font-weight:700}
.comp .sub{color:var(--ink-soft);font-size:13.5px;padding-left:14px}
.ok-t{color:var(--ok);font-size:13px}
.ficha-h{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:baseline;margin:0 0 12px}
.ficha-h h2{font-size:22px}
@media (max-width:720px){.dos{grid-template-columns:1fr}}
.s-bono{border:1px solid var(--gold-line);background:var(--gold-soft);border-radius:12px;padding:12px 14px;margin:0 0 18px}
.s-bono .barra{background:#fff;margin:8px 0 4px}
.fecha{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;font:15px var(--body);padding:8px 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer;text-align:left}
.cal{position:absolute;z-index:15;top:100%;left:0;margin-top:6px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(29,33,37,.18);padding:12px;width:304px;max-width:calc(100vw - 32px)}
.cal-h{display:flex;justify-content:space-between;align-items:center;margin:0 0 6px;font-weight:700}
.cal-h button{border:0;background:none;width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:18px;color:var(--ink-soft)}
.cal-h button:hover{background:var(--surface-2)}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr);row-gap:2px;text-align:center}
.cal-g .dw{font-size:11.5px;color:var(--ink-faint);font-weight:600;padding:4px 0}
.cal-g button{border:0;background:none;height:34px;font:14px var(--body);color:var(--ink);cursor:pointer;border-radius:8px}
.cal-g button:hover:not(:disabled){outline:1px solid var(--accent-line)}
.cal-g button.en{background:var(--accent-soft);border-radius:0}
.cal-g button.bo{background:var(--accent);color:#fff;border-radius:8px}
.cal-g button.hoy{font-weight:700}
.cal-g button:disabled{color:var(--line-strong);cursor:default}
.cal-p{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;border-top:1px solid var(--line);padding-top:10px}
.cal-pie{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px}
.res{border:1px solid var(--line);border-radius:10px;margin-top:6px;max-height:320px;overflow:auto;background:var(--surface)}
.res-h{position:sticky;top:0;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-weight:600;padding:7px 10px 5px;background:var(--surface-2);border-bottom:1px solid var(--line)}
.res-pie{font-size:12.5px;color:var(--ink-faint);padding:7px 10px}
.res button{display:flex;justify-content:space-between;gap:10px;width:100%;border:0;border-bottom:1px solid var(--line);background:none;padding:8px 10px;font:14px var(--body);color:var(--ink);cursor:pointer;text-align:left}
.res button:last-child{border-bottom:0}
.res button:hover{background:var(--accent-soft)}
.elegido{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:8px;padding:6px 10px}
.filtros{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:0 0 14px}
.filtros .field{flex:1 1 170px}
.sitio{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface)}
.s-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.s-logo{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:19px}
.s-logo i{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--accent),#5B8DEF);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-style:normal;font-size:14px}
.s-usr{display:flex;gap:10px;align-items:center}
.s-saldo{font-weight:700;background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-line);border-radius:999px;padding:5px 12px;white-space:nowrap}
.s-cuerpo{padding:20px 18px 24px}
.s-login{max-width:380px;margin:24px auto}
.s-grilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:0 0 22px}
.s-juego{border:0;border-radius:14px;padding:14px 12px 12px;color:#fff;cursor:pointer;min-height:116px;display:flex;flex-direction:column;justify-content:space-between;text-align:left;font:inherit}
.s-juego .ic{font-size:30px;line-height:1}
.s-juego b{font-family:var(--display);font-size:17px;display:block}
.s-juego .pv{font-size:12.5px;opacity:.85}
code{font-family:var(--mono);font-size:12.5px;background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:1px 5px;white-space:nowrap}
.huecos{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;font-size:14px;align-items:baseline}
.tpl-min{width:92px;height:58px;border-radius:8px;border:1px solid var(--line-strong);flex:none;overflow:hidden;display:flex;flex-direction:column}
.tpl-g{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:5px}
.tpl-g i{border-radius:3px}
.chk{display:flex;gap:8px;align-items:baseline;font-size:14px;margin:4px 0}
.chk.ok::before{content:"✓";color:var(--ok);font-weight:700}
.chk.no::before{content:"✗";color:var(--bad);font-weight:700}
.colores{display:flex;gap:10px;align-items:center}
.colores input[type=color]{width:46px;height:36px;padding:2px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);cursor:pointer}
.sw-m{display:inline-flex;width:26px;height:26px;border-radius:7px;color:#fff;font:700 11px var(--body);align-items:center;justify-content:center;vertical-align:middle;margin-right:8px}
.estados{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 12px}
.estados .lbl{margin-right:4px}
.estados [aria-current="true"]{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}
.s-saldos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px}
.s-saldos > div{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;min-width:0}
.s-saldos .l{font-size:12px;color:var(--ink-faint);font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.s-saldos .n{font-family:var(--display);font-size:21px;font-weight:700;overflow-wrap:anywhere}
.s-agente{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin:10px 0 14px;font-size:14.5px}
.s-estado{max-width:420px;margin:28px auto;text-align:center}
.s-estado .ic{font-size:40px;line-height:1.2}
.s-juego[data-nd]{opacity:.45;cursor:not-allowed}
.sitio{--s1:#3446A8;--s2:#5B8DEF}
.s-logo i{background:linear-gradient(135deg,var(--s1),var(--s2))}
/* Plantilla «Lista» */
.sitio.t-lista .s-bar{background:var(--s1);color:#fff;border-bottom:0}
.sitio.t-lista .s-logo i{background:#fff;color:var(--s1)}
.sitio.t-lista .s-grilla{grid-template-columns:1fr;gap:8px}
.sitio.t-lista .s-juego{min-height:0;flex-direction:row;justify-content:flex-start;align-items:center;gap:14px;padding:10px 14px;background:var(--surface)!important;color:var(--ink);border:1px solid var(--line);border-left:6px solid var(--s1)}
.sitio.t-lista .s-juego .ic{font-size:24px}
.sitio.t-lista .s-juego .pv{opacity:1;color:var(--ink-faint)}
.sitio.t-lista .s-saldos > div{background:var(--s1);color:#fff;border:0}
.sitio.t-lista .s-saldos .l{color:rgba(255,255,255,.82)}
/* Plantilla «Dorada» */
.sitio.t-dorada{background:#FFFBF0}
.sitio.t-dorada .s-bar{border-bottom:2px solid var(--gold-line)}
.sitio.t-dorada .s-grilla{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.sitio.t-dorada .s-juego{min-height:132px;border:2px solid #E8C25A;box-shadow:0 4px 0 #E8C25A}
.sitio.t-dorada .s-saldos > div{background:#fff;border:2px solid var(--gold-line)}
/* Plantilla «Neón» (la que sube un tercero, de ejemplo) */
.sitio.t-neon{background:#121826;color:#EEF1FA;border-color:#232C40}
.sitio.t-neon .s-bar{border-bottom-color:#232C40}
.sitio.t-neon .hint,.sitio.t-neon .sec,.sitio.t-neon .mov .q,.sitio.t-neon .s-saldos .l,.sitio.t-neon .field label{color:#9AA3BD}
.sitio.t-neon .box,.sitio.t-neon .s-saldos > div,.sitio.t-neon .s-agente{background:#1C2436;border-color:#2F3A52;color:#EEF1FA}
.sitio.t-neon .mov{border-bottom-color:#2F3A52}
.sitio.t-neon .s-juego{box-shadow:0 0 0 2px var(--s2),0 0 16px var(--s2)}
.sitio.t-neon .btn,.sitio.t-neon .field input{background:#1C2436;color:#EEF1FA;border-color:#2F3A52}
.sitio.t-neon .btn-main{background:var(--s2);border-color:var(--s2);color:#fff}
.sitio.t-neon .s-happy,.sitio.t-neon .s-bono{color:var(--ink)}
.sitio.t-neon .s-bono .hint,.sitio.t-neon .s-happy .hint{color:var(--ink-soft)}
@media (max-width:720px){.tipo{grid-template-columns:1fr}.tipo .t-acc{flex-wrap:wrap}.s-saldos{gap:6px}.s-saldos > div{padding:8px}.s-saldos .n{font-size:17px}.s-saldos .l{font-size:11px}}
@media (max-width:720px){
  .s-grilla{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cfg{grid-template-columns:1fr}
  h1{font-size:24px}
}
/* ---- Reportes: crédito de bono aparte y totales (18/10 13:12) */
.bn-n{color:var(--gold)}
tfoot td{font-weight:700;border-top:2px solid var(--line-strong);background:var(--surface-2)}
.leyenda{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13.5px;color:var(--ink-soft);margin:-8px 0 14px}
@media (max-width:720px){#v-admin tfoot{display:block}}
/* ---- Quién paga (18/10 13:22) */
.faltan{background:var(--bad-soft);border:1px solid var(--bad-line);border-radius:12px;padding:10px 14px;margin:0 0 16px;font-size:14.5px}
.pagan{display:flex;flex-wrap:wrap;gap:6px 14px}
.pagan .sw{font-size:13px}
/* ---- Club VIP (18/10 13:03) */
.vip-b{display:inline-flex;gap:4px;align-items:center;padding:2px 9px;border-radius:999px;background:var(--gold-soft);border:1px solid var(--gold-line);color:var(--ink);font-size:13px;font-weight:600;white-space:nowrap}
.vipt input{width:100%;min-width:64px}
.vipt input.ic-in{width:48px;min-width:48px;text-align:center;padding-left:4px;padding-right:4px}
.vipt .nomc{display:flex;gap:6px;align-items:center;min-width:170px}
.vip-box .barra{margin:8px 0 6px}
.vip-ben{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0}
.vip-ben span{font-size:13px;padding:2px 9px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line)}
.s-vip{border:1px solid var(--gold-line);background:#FFFBF0;border-radius:12px;padding:12px 14px;margin:0 0 14px}
.s-vip .top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.s-vip .niv{font-family:var(--display);font-size:20px;font-weight:700}
.sitio.t-neon .s-vip{background:#1C2436;border-color:#2F3A52;color:#EEF1FA}
.sitio.t-neon .vip-ben span{background:#121826;border-color:#2F3A52}
.sitio.t-lista .s-vip{border-left:6px solid var(--s1)}
#j-vip{scroll-margin-top:72px}
/* ---- Computadora / Celular (17/10 18:48) */
.disp{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:3px;gap:2px;margin:0 0 16px}
.disp button{border:0;background:none;padding:7px 14px;border-radius:8px;font:600 14px var(--body);color:var(--ink-soft);cursor:pointer}
.disp button[aria-current="true"]{background:var(--surface);color:var(--accent);box-shadow:0 1px 2px rgba(29,33,37,.12)}
.cel-zona{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}
.telefono{width:414px;height:844px;max-width:100%;flex:none;border:12px solid #1D2125;border-radius:44px;overflow:hidden;background:#1D2125;box-shadow:0 20px 50px rgba(29,33,37,.25)}
.telefono iframe{width:100%;height:100%;border:0;display:block;background:var(--ground);border-radius:32px}
.cel-nota{max-width:340px;margin:0}
html.marco .solo-escritorio{display:none!important}
.s-nav{display:none;position:fixed;left:0;right:0;bottom:0;z-index:6;background:var(--surface);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom));justify-content:space-around}
.s-nav button{border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:2px;font:600 11.5px var(--body);color:var(--ink-soft);padding:4px 8px;cursor:pointer;min-width:64px}
.s-nav .ic{font-size:20px;line-height:1}
#j-juegos,#j-bono,#j-movs,#j-agente{scroll-margin-top:72px}
.sitio.t-lista .s-nav button{color:var(--s1)}
.sitio.t-dorada .s-bar{background:#FFFBF0}
.sitio.t-neon .s-bar{background:#121826}
.sitio.t-neon .s-nav{background:#1C2436;border-color:#2F3A52}
.sitio.t-neon .s-nav button{color:#EEF1FA}
@media (max-width:720px){
  .field input,.field select,.buscar input,.buscar select,.grupo-f input,.contrib input,td select,.fecha{font-size:16px}
  .btn{min-height:40px}
  .btn-sm{min-height:36px}
  .tabs{flex-wrap:nowrap;overflow-x:auto;position:sticky;top:0;z-index:5;background:var(--ground);scrollbar-width:none;margin:0 -16px 16px;padding:0 16px}
  .tabs::-webkit-scrollbar{display:none}
  .tabs button{white-space:nowrap;flex:none}
  .panel-h{flex-direction:column;align-items:stretch}
  .buscar{width:100%}
  .buscar input{flex:1 1 140px}
  #v-admin table,#v-admin tbody,#v-admin tr,#v-admin td{display:block;width:100%}
  #v-admin thead{display:none}
  #v-admin tr{border-bottom:1px solid var(--line);padding:10px 14px}
  #v-admin tr:last-child{border-bottom:0}
  #v-admin td{border:0;padding:3px 0;height:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:right;min-width:0}
  #v-admin td[data-l]::before{content:attr(data-l);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-weight:600;text-align:left;flex:none}
  #v-admin td:first-child{text-align:left;font-size:15.5px;padding-bottom:6px;justify-content:flex-start}
  #v-admin td:not([data-l]):not(:first-child){justify-content:flex-start;padding-top:6px}
  #v-admin td .acciones{justify-content:flex-start;width:100%}
  #v-admin .wag{min-width:0;width:62%}
  .velo{align-items:flex-end;padding:0}
  .modal{max-width:none;border-radius:16px 16px 0 0;max-height:92vh;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}
  .filtros .field{flex:1 1 100%}
  .filtros > .btn{width:100%}
  .sitio{overflow:visible;border-radius:0;border-left:0;border-right:0;margin:0 -16px}
  .s-bar{position:sticky;top:0;z-index:4;background:var(--surface);padding:10px 14px}
  .s-logo{font-size:17px}
  .s-logo i{width:30px;height:30px}
  .s-cuerpo{padding:16px 14px 92px}
  .s-nav{display:flex}
  .estados{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .estados .btn{flex:none}
}
/* ---- 18/10 14:25: los agentes de Reportes › Por agente en negro, y en el celular las pestañas bajan de renglón */
#rep-tb a[data-repag]{color:var(--ink);font-weight:600;text-decoration:none;border-bottom:1px dashed var(--line-strong)}
#rep-tb a[data-repag]:hover{color:var(--accent);border-bottom-color:var(--accent)}
@media (max-width:720px){.tabs{flex-wrap:wrap;overflow-x:visible;position:static;margin:0 0 16px;padding:0}}
/* ---- Agregado en PIRAMIDE-1 (no está en el prototipo) */
/* La entrada al panel: la caja «Entrar» del sitio del jugador (.s-login), sobre una tarjeta. */
.entrada{max-width:380px;margin:48px auto}
.entrada .box{padding:20px 22px}
