/* Admin Capital Club — piel "Cromo rojo" del sitio, mobile-first (390px primero). */
:root{
  --bg:#000;--s1:#0B0B0D;--s2:#121215;--line:#1F1F24;--line2:#2C2C33;
  --ink:#E8E8EA;--mute:#9A9DA3;--dim:#5A5C62;
  --acc:#B3060E;--acc2:#E0111B;--ok:#2FA36B;--warn:#C9A227;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
body{font-family:Inter,system-ui,sans-serif;font-weight:400;background:var(--bg);line-height:1.55;font-size:15px;min-height:100vh}
a{color:inherit}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit;color:inherit}
.mono{font-family:"JetBrains Mono",ui-monospace,monospace}
.disp{font-family:"Bebas Neue",Impact,sans-serif;font-weight:400;letter-spacing:.04em;line-height:.95}
.chrome{background:linear-gradient(180deg,#FFF 0%,#9A9AA0 32%,#F4F4F6 48%,#5E5E66 62%,#DADADF 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.wrap{width:100%;max-width:820px;margin:0 auto;padding:0 16px}

/* barra superior */
.top{position:sticky;top:0;z-index:20;background:rgba(0,0,0,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:14px;height:58px}
.top .logo{flex:none}
.top .logo img{height:16px;width:auto}
.top nav{display:flex;gap:16px;margin-left:auto;align-items:center}
.top nav a{font-size:11px;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;color:var(--mute)}
.top nav a.on,.top nav a:hover{color:#fff}
.top form{display:inline}
.top .salir{background:none;border:0;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);cursor:pointer}

/* campana */
.bell{position:relative;background:none;border:1px solid var(--line2);width:36px;height:36px;display:grid;place-items:center;cursor:pointer;color:#fff}
.bell svg{width:17px;height:17px}
.bell b{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--acc2);font-size:11px;line-height:18px;font-weight:600;display:none}
.bell b.on{display:block}
.panel{position:absolute;right:16px;top:60px;width:min(360px,calc(100vw - 32px));background:var(--s1);border:1px solid var(--line2);display:none;max-height:70vh;overflow:auto;z-index:30}
.panel.on{display:block}
.panel a{display:block;padding:12px 14px;border-bottom:1px solid var(--line);text-decoration:none;font-size:14px}
.panel a.nl{border-left:2px solid var(--acc2)}
.panel small{display:block;color:var(--dim);font-size:11px}
.panel .vacio{padding:16px;color:var(--mute);font-size:14px}

/* encabezados */
h1{font-size:44px;margin:28px 0 6px}
.sub{color:var(--mute);font-size:14px;margin-bottom:20px}
.k{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--dim)}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border:1px solid var(--line2);background:none;cursor:pointer;text-decoration:none;font-size:11px;letter-spacing:.26em;text-transform:uppercase;font-family:"JetBrains Mono",monospace;transition:border-color .2s,background .2s}
.btn:hover{border-color:#fff}
.btn.acc{background:var(--acc);border-color:var(--acc);color:#fff}
.btn.acc:hover{background:var(--acc2);border-color:var(--acc2)}
.btn.full{width:100%}
.btn.sm{min-height:36px;padding:0 14px;font-size:10px}
.btn[disabled]{opacity:.4;cursor:not-allowed}

/* avisos */
.flash{padding:12px 14px;margin:16px 0;border:1px solid var(--line2);font-size:14px}
.flash.ok{border-color:var(--ok)}
.flash.err{border-color:var(--acc2);background:rgba(224,17,27,.08)}

/* filtros */
.tabs{display:flex;gap:8px;overflow-x:auto;margin:6px 0 16px;scrollbar-width:none}
.tabs a{flex:none;padding:8px 12px;border:1px solid var(--line2);font-size:11px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--mute)}
.tabs a.on{border-color:#fff;color:#fff}

/* lista */
.lista{list-style:none;border-top:1px solid var(--line)}
.lista a{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;padding:16px 2px;border-bottom:1px solid var(--line);text-decoration:none}
.lista a:hover{background:var(--s1)}
.lista .n{grid-row:span 2;font-size:28px;color:var(--dim);min-width:44px}
.lista .t{font-size:15px}
.lista .m{font-size:12px;color:var(--mute);display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.vacio-lista{padding:40px 0;color:var(--mute);text-align:center}

/* chips de estado */
.chip{display:inline-block;padding:2px 8px;border:1px solid var(--line2);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-family:"JetBrains Mono",monospace}
.e-nuevo{border-color:#fff}
.e-en_proceso{border-color:var(--warn);color:var(--warn)}
.e-esperando_cliente{border-color:var(--acc2);color:#fff;background:var(--acc)}
.e-esperando_radicapro{border-color:var(--warn);color:var(--warn)}
.e-resuelto{border-color:var(--ok);color:var(--ok)}
.e-cerrado,.e-rechazado{color:var(--dim)}

/* formulario */
label.k{display:block;margin:20px 0 8px}
textarea,select,input[type=email],input[type=password],input[type=text],input[type=tel],input[type=number],input[type=datetime-local],input[type=date]{width:100%;background:var(--s1);border:1px solid var(--line2);padding:14px;font-size:16px;color:var(--ink);outline:none}
textarea:focus,select:focus,input:focus{border-color:#fff}
textarea{min-height:150px;resize:vertical}
.tipos{display:flex;flex-wrap:wrap;gap:8px}
.tipos input{position:absolute;opacity:0;pointer-events:none}
.tipos label{padding:10px 14px;border:1px solid var(--line2);cursor:pointer;font-size:13px}
.tipos input:checked+label{border-color:var(--acc2);background:var(--acc);color:#fff}
.tipos input:focus-visible+label{outline:2px solid #fff}
.archivos{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.archivos .f{font-size:13px;color:var(--mute)}
.hint{font-size:12px;color:var(--dim);margin-top:6px}
.acciones{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}

/* hilo */
.cab{margin:24px 0 10px}
.cab h1{font-size:34px;margin:6px 0}
.hilo{display:flex;flex-direction:column;gap:14px;margin:18px 0}
.msg{max-width:88%;padding:12px 14px;border:1px solid var(--line2);background:var(--s1)}
.msg.cli{align-self:flex-end;border-color:#3A3A42;background:var(--s2)}
.msg.rp{align-self:flex-start;border-left:2px solid var(--acc2)}
.msg .de{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-bottom:4px;display:flex;justify-content:space-between;gap:10px}
.msg .tx{white-space:pre-wrap;word-wrap:break-word;font-size:15px}
.ops{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.ops form{display:inline}
.elegida{margin-top:8px;font-size:13px;color:var(--ok)}
.adj{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.adj a{display:block;text-decoration:none;border:1px solid var(--line2);font-size:12px}
.adj a img{width:96px;height:96px;object-fit:cover}
.adj a span{display:block;padding:6px 8px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pub{border:1px solid var(--ok);padding:14px;margin:16px 0;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.pub p{font-size:14px}
.critico{border:1px solid var(--warn);padding:12px 14px;margin:14px 0;font-size:14px}
.responder{border-top:1px solid var(--line);padding-top:16px;margin-top:10px}
.responder textarea{min-height:100px}

/* versiones */
.vers{list-style:none;border-top:1px solid var(--line)}
.vers li{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 2px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.vers .v{font-size:24px;color:var(--dim);min-width:48px}
.vers .d{flex:1;min-width:180px}
.vers small{display:block;color:var(--dim);font-size:12px}

/* login */
.login{min-height:100vh;display:grid;place-items:center;padding:24px 16px}
.login .box{width:100%;max-width:380px}
.login .logo{width:220px;margin:0 auto 28px}
.login h1{font-size:30px;text-align:center;margin:0 0 20px}

/* ---------- boletería ---------- */
h2.disp{font-size:30px;margin:26px 0 10px}
input[type=datetime-local],input[type=date]{color-scheme:dark;min-height:52px}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--mute) 50%),linear-gradient(135deg,var(--mute) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:36px}
.dos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 12px}
input,select,textarea{min-width:0;max-width:100%}
.dos>div{min-width:0}
.check{display:flex;gap:12px;align-items:flex-start;margin:20px 0;font-size:13px;color:var(--mute);cursor:pointer}
.check input{width:20px;height:20px;flex:none;margin-top:1px;accent-color:var(--acc)}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
[hidden]{display:none!important}
/* estados de inscripción */
.i-pendiente_pago{border-color:var(--warn);color:var(--warn)}
.i-comprobante{border-color:#fff;color:#fff;background:#2a2a30}
.i-verificado,.i-free,.i-cortesia{border-color:var(--ok);color:var(--ok)}
.i-rechazado{border-color:var(--acc2);color:#ff6b72}
.i-anulado{color:var(--dim)}
/* booking */
.bk-nuevo{border-color:#fff;color:#fff;background:#2a2a30}
.bk-respondido{border-color:var(--ok);color:var(--ok)}
.bk-cerrado{color:var(--dim)}
.insc a{color:inherit}
/* página pública */
.pubtop{padding:22px 0 6px}
.pubtop img{height:18px;width:auto}
.ev{display:grid;gap:18px;margin-top:14px}
.ev .flyer{width:100%;max-height:520px;object-fit:cover;border:1px solid var(--line)}
.ev h1{margin:4px 0 8px;padding-top:.08em}
.fechaev{color:#FF2A33;letter-spacing:.24em}
.lugar{color:var(--ink);font-size:15px}
.desc{color:var(--mute);font-size:14px;margin-top:10px}
.oferta{border:1px solid var(--line2);background:var(--s1);padding:18px 16px;margin:22px 0 10px}
.precio{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:4px}
.precio .k{width:100%}
.precio b{font-size:54px;line-height:1}
.precio small{color:var(--mute);font-size:12px}
.precio .quedan{margin-left:auto;color:var(--warn)}
.total{margin-top:16px;font-size:13px;color:var(--mute)}
.total b{color:#fff;font-size:16px}
.cerrado{font-size:16px;text-align:center;padding:10px 0;color:var(--mute)}
.ticket{border:1px solid var(--line2);background:var(--s1);padding:18px 16px;margin:18px 0}
.ticket .ref{font-size:56px;line-height:1;margin:10px 0;letter-spacing:.06em;color:#fff;word-break:break-all}
.ticket dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin-top:16px;font-size:14px}
.ticket dt{color:var(--dim);font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding-top:3px}
.ticket dd{min-width:0;overflow-wrap:anywhere}
.pasos ol{list-style:none;counter-reset:p;display:flex;flex-direction:column;gap:14px}
.pasos li{counter-increment:p;position:relative;padding-left:40px;font-size:15px}
.pasos li::before{content:counter(p);position:absolute;left:0;top:-2px;width:28px;height:28px;border:1px solid var(--line2);display:grid;place-items:center;font-family:"JetBrains Mono",monospace;font-size:12px}
.pasos small{display:block;color:var(--mute);font-size:12px;margin-top:4px}
.cuenta{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}
.cuenta .k{min-width:72px}
.cuenta b{font-size:18px;letter-spacing:.04em}
.cuenta input{flex:1;min-width:0;font-size:13px;padding:10px}
.subir{margin:22px 0}
.subir form{display:flex;flex-direction:column;gap:8px}
.okgrande{font-size:20px;color:var(--ok);margin:22px 0 6px}
.okgrande small{display:block;font-size:11px;color:var(--dim);margin-top:2px}
.guarda{margin:26px 0 0;text-align:center}
/* admin de eventos */
.enlace{border:1px solid var(--line2);padding:14px;margin:12px 0 18px;display:flex;flex-direction:column;gap:6px}
.enlace>b{font-size:15px;margin-bottom:6px}
.conts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:18px}
.conts>*{border:1px solid var(--line2);padding:12px;text-decoration:none;display:flex;flex-direction:column;min-width:0}
.conts a:hover{border-color:#fff}
.conts b{font-size:38px;line-height:1}
.conts b em{font-style:normal;font-size:20px;color:var(--dim)}
.conts span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin-top:4px}
.conts small{font-size:12px;color:var(--mute)}
.conts .alerta{border-color:#fff;background:#1a1a1f}
.buscar{display:flex;gap:8px;margin-bottom:8px}
.buscar input{flex:1;min-width:0}
.insc{list-style:none;border-top:1px solid var(--line)}
.insc li{padding:14px 2px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.insc .fila1{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.insc .fila1 b{font-size:15px}
.insc .tot{margin-left:auto;font-size:13px;color:var(--mute)}
.insc .quien{font-size:15px}
.insc .quien span,.insc .datos{font-size:12px;color:var(--mute);overflow-wrap:anywhere}
.acc-insc{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;align-items:flex-start}
.acc-insc form{display:inline-flex;gap:8px;flex-wrap:wrap}
.btn.ok{border-color:var(--ok);color:var(--ok)}
.btn.ok:hover{background:var(--ok);color:#000}
.rechazo summary{list-style:none}
.rechazo summary::-webkit-details-marker{display:none}
.rechazo[open] summary{border-color:var(--acc2)}
.rechazo form{display:flex;margin-top:8px;width:100%}
.rechazo input{min-width:200px;flex:1;padding:8px 10px;font-size:14px}
.evform fieldset{border:0;border-top:1px solid var(--line);padding:6px 0 18px;margin-top:10px}
.evform legend{padding:14px 0 0}
.evform .tipos{margin-top:10px}
.fase{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'n n' 'p c' 'h h';gap:0 10px;padding:8px 0;border-bottom:1px dashed var(--line)}
.fase>div{min-width:0}.f-n{grid-area:n}.f-p{grid-area:p}.f-h{grid-area:h}.f-c{grid-area:c}
.fase label.k{margin:10px 0 6px}
@media(min-width:760px){
  .ev{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:end}
  .conts{grid-template-columns:repeat(4,minmax(0,1fr))}
  .fase{grid-template-columns:minmax(0,2fr) minmax(0,1.3fr) minmax(0,2.2fr) minmax(0,1fr);grid-template-areas:'n p h c'}
  .ticket .ref{font-size:72px}
}

@media(max-width:520px){
  .top .wrap{gap:10px}
  .top .logo img{height:11px}
  .top nav{gap:9px}
  .top nav a,.top .salir{letter-spacing:.04em;font-size:9.5px}
  .bell{width:32px;height:32px}
}

footer{padding:40px 0 30px;color:var(--dim);font-size:11px;letter-spacing:.2em;text-transform:uppercase;text-align:center}

@media(min-width:760px){
  h1{font-size:58px}
  .top .logo img{height:18px}
  .msg{max-width:72%}
}
