@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Barlow+Condensed:wght@400;600;700;800&family=Inter:wght@400;500;600;700&family=Orbitron:wght@500;700;900&display=swap');

/* ====== Tokens reales de LigaBoliche (main.css) ====== */
:root{
  --bg:#f5f4f0; --bg2:#eceae4; --bg3:#e3e0d8;
  --surface:#fff; --surface2:#faf9f7;
  --border:#dedad2; --border2:#ccc9c0; --line:#dedad2;
  --ink1:#1a1916; --ink2:#4a4840; --ink3:#7a7870; --ink4:#a8a59e;
  --blue:#1d6fa4; --blue2:#e8f2f9; --blue3:#c2def0;
  --gold:#b07d20; --gold-d:#9a6d1a; --gold2:#fdf3dc; --gold3:#f5dfa0;
  --green:#256b3a; --green2:#e6f4eb;
  --red:#b52b2b; --red2:#fdeaea;
  --sh-sm:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);
  --sh-md:0 4px 16px rgba(0,0,0,.08),0 1px 4px rgba(0,0,0,.05);
  --sh-lg:0 12px 40px rgba(0,0,0,.1),0 2px 8px rgba(0,0,0,.06);
  --fd:'Bebas Neue',sans-serif; --fc:'Barlow Condensed',sans-serif;
  --fb:'Inter',sans-serif; --fm:'Orbitron',monospace;
  --r:10px; --rl:16px; --rxl:22px; --tr:all .18s ease;
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:var(--fb);background:var(--bg);color:var(--ink1);min-height:100vh;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1140px;margin:0 auto;padding:22px 18px 60px}

/* ---- top bar ---- */
.topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:0 22px;height:52px;display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:50;box-shadow:var(--sh-sm)}
.brand{font-family:var(--fd);font-size:26px;letter-spacing:3px;color:var(--ink1);text-decoration:none}
.brand span{color:var(--gold)}
.topbar .sp{flex:1}

/* ---- hero ---- */
.hero{background:linear-gradient(160deg,#1a1916 0%,#2d2b26 60%,#1a1916 100%);padding:54px 20px 46px;text-align:center;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background-image:
  repeating-linear-gradient(0deg,transparent,transparent 39px,rgba(255,255,255,.02) 39px,rgba(255,255,255,.02) 40px),
  repeating-linear-gradient(90deg,transparent,transparent 39px,rgba(255,255,255,.02) 39px,rgba(255,255,255,.02) 40px)}
.hero-inner{position:relative;z-index:1;max-width:720px;margin:0 auto}
.hero-icon{font-size:54px;margin-bottom:12px;filter:drop-shadow(0 0 22px rgba(176,125,32,.45))}
.hero-title{font-family:var(--fd);font-size:clamp(44px,9vw,78px);letter-spacing:6px;line-height:1;color:#fff;margin:0 0 8px}
.hero-title span{color:var(--gold)}
.hero-sub{font-family:var(--fc);font-size:13px;letter-spacing:5px;color:rgba(255,255,255,.45);text-transform:uppercase}

/* ---- buttons (main.css) ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:none;border-radius:var(--r);padding:10px 20px;font-family:var(--fc);font-size:14px;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:var(--tr);text-decoration:none;white-space:nowrap}
.btn:hover{text-decoration:none}
.bf{width:100%}
.bbl{background:var(--blue);color:#fff;box-shadow:0 2px 8px rgba(29,111,164,.2)}
.bbl:hover{background:#1a5e8a;box-shadow:0 4px 16px rgba(29,111,164,.3)}
.bgo{background:var(--gold);color:#fff}.bgo:hover{background:#9a6d1a}
.bgr{background:var(--green);color:#fff}.bgr:hover{background:#1e5a31}
.bgh{background:transparent;border:1.5px solid var(--border);color:var(--ink2)}
.bgh:hover{border-color:var(--blue);color:var(--blue);background:var(--blue2)}
.bdn{background:var(--red2);border:1px solid rgba(181,43,43,.2);color:var(--red)}
.bdn:hover{background:var(--red);color:#fff}
.bsm{padding:6px 14px;font-size:12px}
.mini{display:inline-flex;align-items:center;gap:5px;font-family:var(--fc);text-transform:uppercase;letter-spacing:.05em;font-weight:700;font-size:11px;cursor:pointer;border:1.5px solid var(--border);background:var(--surface);color:var(--ink3);padding:5px 11px;border-radius:8px;transition:var(--tr)}
.mini:hover{color:var(--blue);border-color:var(--blue);background:var(--blue2)}
.mini.gold{border-color:var(--gold3);color:var(--gold);background:var(--gold2)}
.mini.gold:hover{background:var(--gold);color:#fff}
.mini.dn{border-color:rgba(181,43,43,.25);color:var(--red);background:var(--red2)}
.mini.dn:hover{background:var(--red);color:#fff}

/* ---- forms ---- */
label{display:block;font-family:var(--fc);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700;color:var(--ink3);margin:0 0 6px}
input[type=text],input[type=number],input[type=password],textarea,select{width:100%;background:var(--surface2);border:1.5px solid var(--border);color:var(--ink1);border-radius:var(--r);padding:10px 13px;font-family:var(--fb);font-size:14px;outline:none;transition:var(--tr)}
input:focus,textarea:focus,select:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px rgba(29,111,164,.1)}
textarea{min-height:150px;resize:vertical;line-height:1.55}
.chk{display:flex;align-items:center;gap:9px;color:var(--ink1);font-size:14px;text-transform:none;letter-spacing:0;margin:0;cursor:pointer;font-weight:500}
.chk input{width:auto}

/* ---- cards / misc ---- */
.card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--rl);padding:20px;box-shadow:var(--sh-sm)}
.card + .card{margin-top:16px}
.flash{background:var(--gold2);border:1px solid var(--gold3);color:var(--gold-d);padding:11px 14px;border-radius:var(--r);margin-bottom:16px;font-weight:600;font-size:13px}
.flash.err{background:var(--red2);border-color:rgba(181,43,43,.3);color:var(--red)}
.hint{color:var(--ink3);font-size:12.5px;margin:8px 0 0;line-height:1.5}
.empty{padding:38px 18px;text-align:center;color:var(--ink3);background:var(--surface);border:1.5px dashed var(--border);border-radius:var(--rl)}

.cfg-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}
.cfg-toggles{display:flex;gap:22px;margin-top:14px;flex-wrap:wrap}
.setup-head,.cfg-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.card h3{font-family:var(--fd);letter-spacing:2px;font-size:26px;margin:0;color:var(--ink1)}
.setup .mrow{margin-top:12px}
.mrow{display:flex;gap:9px;flex-wrap:wrap}
.status{font-family:var(--fc);text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:700;color:var(--ink3);min-height:1em}
.status.saving{color:var(--gold)} .status.ok{color:var(--green)} .status.err{color:var(--red)}

/* ---- totals / pot ---- */
.totbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-family:var(--fc);text-transform:uppercase;letter-spacing:.05em;font-weight:600;
  color:var(--ink3);padding:11px 15px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--rl);margin-bottom:18px;box-shadow:var(--sh-sm)}
.totbar .g{color:var(--gold);font-weight:800;font-size:15px}

/* ---- bracket ---- */
.bk{margin:0 0 26px}
.bk-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 2px 12px}
.bk-head h3{font-family:var(--fd);letter-spacing:2px;font-size:26px;margin:0}
.bk-pot{display:flex;gap:14px;font-family:var(--fc);text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--ink3);font-size:13px}
.bk-pot .g{color:var(--gold);font-weight:800}
.champ{background:var(--gold2);border:1.5px solid var(--gold3);border-radius:var(--rl);padding:13px 16px;margin-bottom:14px;font-family:var(--fc);letter-spacing:.02em;font-size:16px;color:var(--ink1)}
.champ b{color:var(--gold-d);font-size:18px}
.champ .crown{color:var(--gold);margin-right:4px}
.champ .muted{color:var(--ink3)}
.champ .pay{display:flex;gap:16px;margin-top:6px;font-size:14px;flex-wrap:wrap}
.champ .pay .g{color:var(--gold-d);font-weight:800}

.scroller{overflow-x:auto;padding-bottom:6px}
.bracket{display:flex;gap:24px;min-width:max-content;align-items:stretch}
.round{display:flex;flex-direction:column;justify-content:space-around;gap:12px;min-width:228px}
.round h4{font-family:var(--fc);text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:700;color:var(--ink4);text-align:left;margin:0 0 2px;padding-bottom:8px;border-bottom:1.5px solid var(--border)}
.conn{align-self:center;color:var(--border2);font-size:22px;flex:none}

.match{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--rl);padding:7px;box-shadow:var(--sh-sm)}
.match.done{border-color:var(--gold3)}
.match.tie{border-color:var(--gold)}
.match.bye{opacity:.6}
.pl{display:flex;align-items:center;gap:10px;padding:8px 9px;border-radius:var(--r);background:var(--surface2)}
.pl + .pl{margin-top:6px}
.pl .num{flex:none;width:30px;height:30px;border-radius:9px;background:var(--bg3);color:var(--ink2);font-family:var(--fd);font-size:17px;display:grid;place-items:center}
.pl .nm{flex:1;font-family:var(--fb);font-weight:600;font-size:14px;color:var(--ink1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl .net{font-family:var(--fm);font-weight:700;font-size:15px;min-width:46px;text-align:right;color:var(--ink4)}
.pl .net.win{color:var(--gold)} .pl .net.lose{color:var(--ink4)}
.pl.win{background:var(--gold2);box-shadow:inset 3px 0 0 var(--gold)}
.pl.win .num{background:var(--gold);color:#fff}
.pl.win .nm{color:var(--ink1);font-weight:700}
.pl.lose .nm{color:var(--ink3)}
.pl.bye .num,.pl.pend .num{background:var(--bg2);color:var(--ink4)}
.pl.bye .nm,.pl.pend .nm{color:var(--ink4);font-style:italic;font-weight:500}
.pl .pin{width:82px;padding:6px 8px;text-align:center;font-family:var(--fm);font-weight:700;font-size:14px;background:#fff;border:1.5px solid var(--border);border-radius:8px;color:var(--ink1);-moz-appearance:textfield;appearance:textfield}
.pl .pin::-webkit-outer-spin-button,.pl .pin::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.tiebox{margin-top:8px;background:var(--gold2);border:1.5px dashed var(--gold3);border-radius:var(--r);padding:8px}
.tiebox > span{display:block;font-size:12px;color:var(--gold-d);margin-bottom:7px;font-family:var(--fc);text-transform:uppercase;letter-spacing:.05em;font-weight:700}

/* ---- listings ---- */
.grid2{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}
.list{display:flex;flex-direction:column;gap:9px}
.row-item{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--rl);padding:12px 15px;box-shadow:var(--sh-sm);transition:var(--tr)}
.row-item:hover{transform:translateX(3px);border-color:var(--blue3)}
.row-item .meta{min-width:0}
.row-item .code{font-family:var(--fc);font-weight:800;letter-spacing:.06em;color:var(--gold)}
.row-item .nm{font-family:var(--fb);font-weight:700;color:var(--ink1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row-item .sub{font-family:var(--fc);color:var(--ink3);font-size:12px;text-transform:uppercase;letter-spacing:.05em;margin-top:2px}
.row-item.deleted{opacity:.7;border-style:dashed}
.row-item.deleted:hover{transform:none;border-color:var(--border)}
.tag{font-family:var(--fc);text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:700;padding:3px 9px;border-radius:20px;border:1px solid var(--border);color:var(--ink3)}

.site-footer{text-align:center;padding:28px 20px;font-size:12px;color:var(--ink4);border-top:1px solid var(--border);font-family:var(--fc);letter-spacing:1px}
.site-footer a{color:var(--ink3)}

@media(max-width:640px){
  .cfg-grid{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
  .round{min-width:206px}
  .hero{padding:42px 16px 36px}
  input[type=text],input[type=number],input[type=password],select{font-size:16px;min-height:44px}
  .btn{min-height:42px}
}
