
/* Marca: turquesa salpicado + negro + blanco del logo. Layout: banda negra arriba, pestañas desplazables, contenido en tarjetas tipo "acta de partido" */
:root{
  --bg:#f3f7f7; --surface:#ffffff; --surface-2:#e6f1f0; --ink:#0f1414; --muted:#55615f; --line:#d3dfde;
  --pitch:#0f1414; --pitch-2:#0a7f75; --on-pitch:#ffffff; --yellow:#2fe0cf; --on-yellow:#04201d;
  --danger:#b3261e; --ok:#0a7f75; --ini-l:36%; --ini-fg:#ffffff; --shadow:0 1px 2px rgba(15,20,20,.08),0 6px 18px rgba(15,20,20,.06);
  --f-display:"Saira Condensed","Arial Narrow",Impact,sans-serif; --f-body:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0b0f0f; --surface:#131a1a; --surface-2:#1a2524; --ink:#e7f1f0; --muted:#94a6a4; --line:#24312f;
  --pitch:#050707; --pitch-2:#3fe3d4; --on-pitch:#f2fbfa; --yellow:#3fe3d4; --on-yellow:#04201d;
  --danger:#ef7b72; --ok:#3fe3d4; --ini-l:34%; --ini-fg:#f2f7f4; --shadow:0 1px 2px rgba(0,0,0,.4); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0b0f0f; --surface:#131a1a; --surface-2:#1a2524; --ink:#e7f1f0; --muted:#94a6a4; --line:#24312f;
  --pitch:#050707; --pitch-2:#3fe3d4; --on-pitch:#f2fbfa; --yellow:#3fe3d4; --on-yellow:#04201d;
  --danger:#ef7b72; --ok:#3fe3d4; --ini-l:34%; --ini-fg:#f2f7f4; --shadow:0 1px 2px rgba(0,0,0,.4); color-scheme:dark}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.5}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--pitch)}
.wrap{max-width:1100px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--f-display);text-wrap:balance;margin:0;line-height:1.05;letter-spacing:.01em}
h2{font-size:1.75rem;text-transform:uppercase}
h3{font-size:1.25rem}
.eyebrow{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
a{color:var(--pitch-2)}
:root[data-theme="dark"] a{color:var(--ok)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) a{color:var(--ok)}}

/* Banda superior con franjas de césped cortado */
.top{background:var(--pitch);color:var(--on-pitch);
  background-image:radial-gradient(circle at 92% -40%,color-mix(in srgb,var(--yellow) 28%,transparent),transparent 45%)}
.top .wrap{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;padding-block:14px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand img{flex:none;width:92px;height:auto;background:#fff;border-radius:10px;padding:4px 6px}
.brand b{font-family:var(--f-display);font-size:1.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em;line-height:1}
.brand small{display:block;font-size:.78rem;opacity:.8}
.viewas{display:flex;align-items:center;gap:8px;font-size:.85rem}
.viewas select{background:rgba(255,255,255,.12);color:var(--on-pitch);border:1px solid rgba(255,255,255,.3);border-radius:6px;padding:6px 8px;font:inherit;max-width:60vw}
.viewas select option{color:#111;background:#fff}
.ro-note{font-size:.8rem;opacity:.85}

.tabs{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--surface);border-bottom:1px solid var(--line)}
.tabs .wrap{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.tabs .wrap::-webkit-scrollbar{display:none}
.tab{appearance:none;border:0;background:none;color:var(--muted);font:600 .95rem var(--f-body);padding:13px 12px 11px;border-bottom:3px solid transparent;cursor:pointer;white-space:nowrap;display:flex;gap:6px;align-items:center}
.tab[aria-current="true"]{color:var(--ink);border-bottom-color:var(--yellow)}
.pill.ok{background:var(--pitch-2);color:var(--surface)}
.tab:hover{color:var(--ink)}
.count{background:var(--danger);color:#fff;border-radius:999px;font-size:.7rem;padding:0 6px;line-height:1.5;font-weight:700}

main{padding-block:24px 64px}
.stack{display:flex;flex-direction:column;gap:28px}
.section-head{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:end;justify-content:space-between;margin-bottom:14px}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.two{display:grid;gap:24px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start}
@media (max-width:820px){.two{grid-template-columns:minmax(0,1fr)}}

.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px;box-shadow:var(--shadow);min-width:0}
.empty{border:1.5px dashed var(--line);border-radius:10px;padding:22px;color:var(--muted);text-align:left}
.empty b{color:var(--ink);display:block;margin-bottom:4px}

/* Marcador del próximo partido */
.board{background:var(--pitch);color:var(--on-pitch);border-radius:12px;padding:20px;position:relative;overflow:hidden;
  background-image:radial-gradient(circle at 50% 50%,transparent 58px,rgba(255,255,255,.14) 59px,rgba(255,255,255,.14) 61px,transparent 62px),linear-gradient(90deg,transparent calc(50% - 1px),rgba(255,255,255,.14) calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px))}
.board .eyebrow{color:var(--yellow)}
.board-teams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:center;margin:14px 0 10px;text-align:center}
.board-team{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
.board-team b{font-family:var(--f-display);font-size:clamp(1.15rem,3.2vw,1.9rem);text-transform:uppercase;line-height:1.05;overflow-wrap:anywhere}
.board-vs{font-family:var(--f-display);font-size:clamp(2rem,6vw,3.4rem);font-weight:800;color:var(--yellow);font-variant-numeric:tabular-nums}
.board-meta{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center;font-size:.9rem;opacity:.92}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;justify-content:center}

/* Tarjeta de partido = acta */
.match{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;min-width:0}
.meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:.82rem;color:var(--muted)}
.pill{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:4px;background:var(--surface-2);color:var(--ink)}
.pill.reto{background:var(--yellow);color:var(--on-yellow)}
.pill.ok{background:var(--ok);color:var(--surface)}
.pill.no{background:var(--danger);color:#fff}
.pill.wait{background:var(--surface-2);color:var(--muted)}
.teams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center}
.team{display:flex;align-items:center;gap:8px;min-width:0}
.team.r{flex-direction:row-reverse;text-align:right}
.team b{font-weight:700;line-height:1.2;overflow-wrap:anywhere}
.score{font-family:var(--f-display);font-weight:800;font-size:1.7rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.score i{font-style:normal;color:var(--muted);padding:0 4px}
.score.vs{font-size:1rem;color:var(--muted);font-weight:700;text-transform:uppercase}
.where{font-size:.85rem;color:var(--muted)}
.goals{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;font-size:.85rem;border-top:1px dashed var(--line);padding-top:8px}
.goals ul{list-style:none;margin:0;padding:0}
.goals li{display:flex;gap:6px;align-items:baseline}
.goals .r{text-align:right}
.goals .r li{justify-content:flex-end}
.min{font-family:var(--f-display);font-weight:700;color:var(--pitch-2);font-variant-numeric:tabular-nums}
.ball{width:10px;height:10px;border-radius:50%;border:2px solid currentColor;display:inline-block;flex:none;transform:translateY(1px)}

.logo{width:var(--s,36px);height:var(--s,36px);border-radius:50%;object-fit:cover;flex:none;background:var(--surface-2);border:1px solid var(--line)}
.logo.ini{display:inline-grid;place-items:center;font-family:var(--f-display);font-weight:800;font-size:calc(var(--s,36px)*.38);background:hsl(var(--h) 45% var(--ini-l));color:var(--ini-fg);border:0}

/* Clubes */
.clubs{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr))}
.club{appearance:none;font:inherit;color:inherit;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px 12px;display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;box-shadow:var(--shadow)}
.club:hover{border-color:var(--pitch-2)}
.club b{font-family:var(--f-display);font-size:1.15rem;text-transform:uppercase;line-height:1.1}
.club small{color:var(--muted)}
.lock{display:flex;gap:12px;align-items:flex-start;background:var(--surface-2);border-radius:10px;padding:16px}
.lock svg{flex:none;margin-top:2px}

/* Publicidad */
.ads{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
.ad{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--shadow);min-width:0}
.ad img{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--surface-2)}
.ad .ad-ph{aspect-ratio:16/9;background:var(--yellow);color:var(--on-yellow);display:grid;place-items:center;font-family:var(--f-display);font-size:1.6rem;font-weight:800;text-transform:uppercase;padding:12px;text-align:center}
.ad div{padding:10px 12px 12px}
.ad b{display:block}
.ad p{margin:2px 0 0;font-size:.88rem;color:var(--muted)}
.ad .tag{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}

/* Formularios */
form{display:flex;flex-direction:column;gap:12px}
.row{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}
label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;color:var(--ink);min-width:0}
label .hint{font-weight:400;color:var(--muted)}
input,select,textarea{font:inherit;font-size:1rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:9px 10px;width:100%;min-width:0}
textarea{min-height:80px;resize:vertical}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.invalid{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 7%,var(--bg))}
.checks{display:flex;flex-wrap:wrap;gap:8px}
.checks label{flex-direction:row;align-items:center;gap:6px;font-weight:500;background:var(--surface-2);padding:6px 10px;border-radius:6px}
.checks input{width:auto}
.btn{appearance:none;font:700 .95rem var(--f-body);border-radius:7px;padding:10px 16px;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:8px;justify-content:center;text-decoration:none;line-height:1.2}
.btn.primary{background:var(--yellow);color:var(--on-yellow)}
.btn.primary:hover{filter:brightness(.95)}
.btn.yellow{background:var(--yellow);color:var(--on-yellow)}
.btn.ghost{background:transparent;border-color:var(--line);color:var(--ink)}
.board .btn.ghost{border-color:rgba(255,255,255,.4);color:var(--on-pitch)}
.btn.danger{background:transparent;border-color:var(--danger);color:var(--danger)}
.btn.sm{padding:6px 10px;font-size:.82rem}
.btn:disabled{opacity:.55;cursor:default}
.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.err{color:var(--danger);font-size:.88rem;font-weight:600}
.muted{color:var(--muted)}
.small{font-size:.85rem}

dl.kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;margin:0;font-size:.9rem}
dl.kv dt{color:var(--muted)}
dl.kv dd{margin:0;overflow-wrap:anywhere}

.list{display:flex;flex-direction:column;gap:10px}
.item{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:12px 14px;min-width:0}
.item .grow{flex:1 1 220px;min-width:0}

.subnav{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.subnav button{appearance:none;font:600 .88rem var(--f-body);border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:6px 12px;cursor:pointer;display:flex;gap:6px;align-items:center}
.subnav button[aria-current="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}

/* Chat */
.chat{display:flex;flex-direction:column;height:min(560px,70vh);background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px;background:var(--surface-2)}
.msg{max-width:78%;padding:8px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--line);overflow-wrap:anywhere}
.msg.me{align-self:flex-end;background:var(--yellow);color:var(--on-yellow);border-color:transparent}
.msg time{display:block;font-size:.7rem;opacity:.7;margin-top:2px}
.composer{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line)}
.threads{display:flex;flex-direction:column;gap:6px}
.thread{appearance:none;font:inherit;color:inherit;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:10px 12px;cursor:pointer;display:flex;justify-content:space-between;gap:8px}
.thread[aria-current="true"]{border-color:var(--pitch-2);box-shadow:inset 3px 0 0 var(--pitch-2)}

.kid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center}
.jersey{width:84px;height:84px;border-radius:12px;background:var(--pitch);color:var(--yellow);display:grid;place-items:center;font-family:var(--f-display);font-weight:800;font-size:2.6rem;font-variant-numeric:tabular-nums}
.stats{display:flex;flex-wrap:wrap;gap:18px;margin-top:6px}
.stat b{display:block;font-family:var(--f-display);font-size:1.8rem;line-height:1;font-variant-numeric:tabular-nums}
.stat span{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}

.onboard ol{margin:8px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:4px}
.demo-tag{font-size:.7rem;color:var(--muted);font-weight:600}

#toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:8px;font-weight:600;font-size:.9rem;z-index:20;max-width:calc(100% - 32px);box-shadow:var(--shadow)}
@media (prefers-reduced-motion:no-preference){.match,.club,.ad{transition:border-color .15s}}

/* Cuenta y ventanas */
.userbox{display:flex;align-items:center;gap:10px;font-size:.88rem}
.userbox .btn{padding:7px 12px}
.top .btn.ghost{border-color:rgba(255,255,255,.35);color:var(--on-pitch)}
.auth{max-width:440px;margin:0 auto}
.auth .switch{display:flex;gap:6px;margin-bottom:16px}
.auth .switch button{flex:1}
.or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.8rem;margin:4px 0}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
.setup{max-width:640px;margin:40px auto}
.setup code{background:var(--surface-2);padding:2px 6px;border-radius:4px}
