:root{--bg:#0e1a2b;--card:#16263f;--card2:#1d3150;--tx:#eef3fa;--mut:#9fb0c8;--acc:#ffb703;--acc2:#2ec4b6;--bad:#ef476f;--ok:#06d6a0;--r:14px;--line:#223653}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--acc2)}
h1{font-size:1.55rem;margin:.4rem 0 1rem;line-height:1.25}
h2{font-size:1.15rem;margin:1.5rem 0 .6rem}
h3{margin:.4rem 0}
.top{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;justify-content:space-between;padding:.7rem 1rem;background:#0a1322;position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line)}
.logo{font-weight:800;color:var(--acc);text-decoration:none;font-size:1.15rem}
nav{display:flex;gap:.4rem .9rem;flex-wrap:wrap;align-items:center}
nav a{color:var(--tx);text-decoration:none;font-size:.95rem}
nav a.btn{color:#1b1400}
.saldo{background:var(--card2);padding:.25rem .7rem;border-radius:99px;color:var(--acc)!important;font-weight:700}
form.inline{display:inline;margin:0}
button.link{background:none;border:0;color:var(--tx);font:inherit;font-size:.95rem;cursor:pointer;padding:0}
.wrap{max-width:900px;margin:0 auto;padding:1rem}
.narrow{max-width:460px}
.card{background:var(--card);border-radius:var(--r);padding:1rem;margin:.7rem 0;border:1px solid var(--line)}
.tcard{display:block;text-decoration:none;color:var(--tx)}
.tcard:hover{border-color:var(--acc2)}
.grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.grid .card{margin:0}
.btn{display:inline-block;background:var(--acc);color:#1b1400;border:0;border-radius:10px;padding:.7rem 1.1rem;font-weight:700;font-size:1rem;cursor:pointer;text-decoration:none;text-align:center;font:inherit;font-weight:700}
.btn.sec{background:var(--card2);color:var(--tx)}
.btn.mal{background:var(--bad);color:#fff}
.btn.ok{background:var(--ok);color:#00241b}
.btn.chico{padding:.3rem .7rem;font-size:.85rem}
.btn[disabled]{opacity:.5;cursor:not-allowed}
input,select,textarea{width:100%;padding:.7rem;border-radius:10px;border:1px solid #2c4468;background:#0e1a2b;color:var(--tx);font:inherit;margin:.25rem 0 .8rem}
input[type=checkbox]{width:auto;margin:0 .5rem 0 0}
label{font-size:.9rem;color:var(--mut)}
label.check{display:block;margin:.4rem 0 1rem;line-height:1.4}
textarea{min-height:120px}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th,td{padding:.5rem .4rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{color:var(--mut);font-weight:600;font-size:.82rem}
.scroll{overflow-x:auto}
.badge{display:inline-block;padding:.1rem .6rem;border-radius:99px;font-size:.78rem;font-weight:700;background:var(--card2)}
.b-abierto{background:#0b6b5f;color:#d7fff9}
.b-en_juego{background:#7a5a00;color:#ffe9a8}
.b-finalizado{background:#3a3f4d}
.b-anulado,.b-rechazada,.b-rechazado{background:#6b1f33}
.b-aprobada,.b-pagado{background:#0b6b5f;color:#d7fff9}
.b-pendiente{background:#7a5a00;color:#ffe9a8}
.flash{padding:.7rem 1rem;border-radius:10px;margin:.6rem 0}
.flash.ok{background:#0b4f43}
.flash.error{background:#6b1f33}
.muted{color:var(--mut)}
.small{font-size:.85rem}
.pos{color:var(--ok)}
.neg{color:var(--bad)}
.acc{color:var(--acc)}
.pozo{font-size:2rem;font-weight:800;color:var(--acc)}
.row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
.row.between{justify-content:space-between}
.top-gap{margin-top:.8rem}
.kpis{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.kpi b{display:block;font-size:1.5rem;color:var(--acc)}
.hero{padding:1rem 0}
.preline{white-space:pre-line}
.barra{height:10px;background:#0a1322;border-radius:99px;overflow:hidden;margin:.6rem 0}
.barra>i{display:block;height:100%;background:var(--acc2);width:100%}
.opt{display:block;width:100%;text-align:left;background:var(--card2);color:var(--tx);border:2px solid transparent;border-radius:12px;padding:.9rem 1rem;margin:.5rem 0;font:inherit;font-size:1.05rem;cursor:pointer}
.opt:hover:not([disabled]){border-color:var(--acc2)}
.opt.sel{border-color:var(--acc)}
.opt.ok{background:#0b4f43;border-color:var(--ok)}
.opt.no{background:#6b1f33;border-color:var(--bad)}
.opt[disabled]{cursor:default}
.rev{padding:.6rem 0;border-bottom:1px solid var(--line)}
.rev.ok b{color:var(--ok)}
.rev.no b{color:var(--bad)}
.subnav{display:flex;gap:.4rem;flex-wrap:wrap;margin:.2rem 0 1rem}
.subnav a{background:var(--card2);color:var(--tx);text-decoration:none;padding:.35rem .8rem;border-radius:99px;font-size:.88rem}
.subnav a.on{background:var(--acc);color:#1b1400;font-weight:700}
details{margin:.2rem 0}
summary{cursor:pointer;color:var(--acc2);font-size:.85rem}
.mini input{margin:.2rem 0 .4rem;padding:.4rem}
footer{text-align:center;color:var(--mut);font-size:.82rem;padding:1.5rem 1rem 2.5rem}
@media(min-width:700px){h1{font-size:1.9rem}}
/* ---- Fase 2 ---- */
.campana{position:relative;text-decoration:none}
.campana .punto{position:absolute;top:-.45rem;right:-.6rem;background:var(--bad);color:#fff;border-radius:99px;font-size:.68rem;font-weight:700;padding:0 .35rem;line-height:1.35}
.aviso{padding:.6rem .2rem;border-bottom:1px solid var(--line)}
.aviso.nueva{border-left:3px solid var(--acc);padding-left:.6rem}
.copiable{word-break:break-all;background:#0e1a2b;border:1px dashed #2c4468;border-radius:10px;padding:.5rem .7rem;display:block;font-size:.9rem}
.qr{background:#fff;padding:.5rem;border-radius:10px;display:inline-block}
.fotos{display:flex;gap:.6rem;flex-wrap:wrap}
.fotos img{max-width:240px;max-height:240px;border-radius:10px;border:1px solid var(--line)}
.vivo{font-size:.85rem;color:var(--mut)}
.rep summary{cursor:pointer;color:var(--mut);font-size:.82rem;margin-top:.3rem}
.rep input{margin:.3rem 0}
.alerta{border-left:3px solid var(--acc)}
.barra{height:8px;border-radius:99px;background:var(--card2);overflow:hidden}
.barra i{display:block;height:100%;background:var(--acc2)}

.comodin.activo{outline:2px solid var(--acc)}
.comodin[disabled]{opacity:.45}

.logo-by{display:block;margin:.6rem auto 0;width:210px;max-width:70vw;height:auto}
