:root{
  --bg:#050816;
  --panel:#0b1220;
  --panel2:#111827;
  --red:#e11d2e;
  --red2:#b91c1c;
  --gold:#fbbf24;
  --green:#22c55e;
  --blue:#2563eb;
  --ink:#0f172a;
  --muted:#64748b;
  --line:#d7e0ec;
  --white:#ffffff;
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;font-weight:800;color:var(--ink)}
body{
  background:
    linear-gradient(90deg,rgba(3,7,18,.92),rgba(3,7,18,.82)),
    url('/img/dart-background.png') left center/cover fixed no-repeat;
  padding-bottom:env(safe-area-inset-bottom);
  overflow-x:hidden;
}
button,input,select{font:inherit}
button{cursor:pointer;border:0;border-radius:16px;padding:.9rem 1rem;font-weight:1000}
input,select{width:100%;border:1px solid var(--line);border-radius:14px;padding:.9rem 1rem;background:#fff;color:var(--ink);margin-top:.35rem}
.hidden{display:none!important}
.mt{margin-top:1rem}
.toast{position:fixed;left:50%;top:76px;transform:translateX(-50%);z-index:90;background:#111827;color:#fff;padding:.8rem 1rem;border-radius:999px;box-shadow:0 20px 45px rgba(0,0,0,.25);max-width:calc(100% - 2rem);text-align:center}

.topbar{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem 1rem;background:rgba(5,8,22,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.12)}
.brand{display:flex;gap:.75rem;align-items:center;color:#fff}.brand img{height:52px;width:auto}.brand strong{display:block;font-size:1.05rem}.brand span{display:block;color:rgba(255,255,255,.75);font-size:.78rem}.top-actions{display:flex;gap:.5rem;align-items:center}
.app-shell{width:min(1500px,100%);margin:0 auto;padding:1.1rem}

.panel{background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.55);border-radius:26px;box-shadow:0 24px 60px rgba(0,0,0,.24);padding:1.1rem}.login-panel{max-width:520px;margin:7vh auto}.login-panel h1,.section-head h1{margin:.2rem 0 .4rem;font-size:clamp(1.7rem,4vw,2.6rem);font-weight:1000}.kicker{color:var(--red);font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;margin:0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.form-grid,.setup-grid{display:grid;gap:1rem}.setup-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.setup-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.players-grid{background:#f8fafc;border:1px solid var(--line);border-radius:20px;padding:1rem}.line-title{margin:1rem 0 .4rem;color:#0f172a;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.checkbox-line{display:flex;align-items:center;gap:.65rem}.checkbox-line input{width:auto;margin:0}.setup-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1rem}.primary{background:linear-gradient(135deg,var(--red),var(--red2));color:#fff}.ghost,.secondary{background:#eef4fb;color:#102030}.warning{background:var(--gold);color:#111827}.danger-outline{background:#fff;color:var(--red);border:2px solid rgba(225,29,46,.28)}.big{width:100%;font-size:1.05rem}.match-summary{margin-top:1rem;background:#f8fafc;border:1px solid var(--line);border-radius:20px;padding:1rem}.match-summary strong{color:#0f3d5e}
.sets-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.65rem}.set-chip{background:#fff;border:1px solid var(--line);border-left:6px solid #0f3d5e;border-radius:16px;padding:.75rem;box-shadow:0 6px 15px rgba(15,23,42,.06)}.set-chip.winA{border-left-color:var(--red)}.set-chip.winB{border-left-color:var(--green)}.set-chip b{display:block;font-size:1.05rem}.set-chip span{display:block;color:#64748b;font-size:.84rem;margin-top:.15rem}.set-chip .scoreline{font-size:1.25rem;color:#0f172a;margin-top:.35rem}

/* SCORE VIEW — layout PDC corrigido */
.score-layout{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) 380px;
  gap:1rem;
  align-items:start;
}
.tv-stage{
  position:relative;
  min-height:620px;
  background:linear-gradient(135deg,rgba(2,6,23,.98),rgba(15,23,42,.96));
  border:1px solid rgba(255,255,255,.16);
  border-radius:28px;
  padding:1.2rem;
  box-shadow:0 30px 80px rgba(0,0,0,.48);
  overflow:hidden;
}
.tv-stage::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 12% 10%,rgba(225,29,46,.25),transparent 25%),radial-gradient(circle at 85% 0,rgba(251,191,36,.12),transparent 25%);
  pointer-events:none;
}
.tv-stage>*{position:relative;z-index:1}
.tv-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}
.tv-kicker{margin:0!important;color:var(--gold)!important;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;font-weight:1000}
.tv-header h1{margin:.25rem 0 0!important;color:#fff!important;font-size:clamp(0.82rem,1.45vw,1.28rem);line-height:1.08;font-weight:1000;text-transform:uppercase;text-shadow:0 12px 30px rgba(0,0,0,.55);max-width:980px}
.tv-badges{display:none}.tv-badges span{display:none}
.pdc-scoreboard{display:grid;gap:.9rem;margin-top:.9rem}
.pdc-row{
  position:relative;
  display:grid;
  grid-template-columns:minmax(220px,1.3fr) 100px 90px minmax(190px,.9fr);
  gap:.55rem;
  align-items:stretch;
  background:linear-gradient(180deg,#f8fafc,#e5e7eb);
  border:5px solid transparent;
  border-radius:20px;
  padding:.65rem;
  box-shadow:0 18px 35px rgba(0,0,0,.35);
}
.pdc-row.active{border-color:var(--gold);box-shadow:0 0 0 6px rgba(251,191,36,.22),0 22px 45px rgba(0,0,0,.40)}
.team-block{background:#0b1220;color:#fff!important;border-radius:15px;padding:.8rem;display:flex;flex-direction:column;justify-content:center;min-height:105px}
.team-block *{color:#fff!important}.team-code{display:block;color:var(--gold)!important;text-transform:uppercase;letter-spacing:.08em;font-size:.70rem}.team-block strong{font-size:clamp(1rem,1.9vw,1.42rem);line-height:1.08;text-transform:uppercase}.team-block small{display:block;color:rgba(255,255,255,.78)!important;font-size:.78rem;margin-top:.25rem}
.set-block{background:#e5e7eb;border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.set-block span{font-size:.66rem;letter-spacing:.08em;color:#475569}.set-block b{font-size:2.65rem;line-height:1;color:#0f172a}
.score-block{background:linear-gradient(180deg,#fff,#e5e7eb);border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:clamp(5rem,9vw,8.5rem);line-height:.9;font-weight:1000;letter-spacing:-.09em;color:#020617;text-align:center}
.mini-stats{grid-column:1/4;display:flex;gap:.5rem;flex-wrap:wrap;color:#cbd5e1;margin-left:.2rem}.mini-stats span{background:#0f172a;color:#fff;border-radius:999px;padding:.34rem .7rem;font-size:.82rem;font-weight:800}.mini-stats *{color:#fff!important}.mini-stats b{font-size:.95rem}
.checkout{grid-column:4/5;align-self:center;justify-self:stretch;text-align:center;color:#166534!important;background:#dcfce7;border-radius:999px;padding:.38rem .6rem;min-height:1.9rem;font-size:.86rem;font-weight:1000}
.throw-strip{margin-top:1rem;background:#020617;border:1px solid rgba(255,255,255,.16);border-radius:18px;color:#fff!important;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 1.25rem;font-size:1.48rem;font-weight:900}.throw-strip *{color:#fff!important}.throw-strip strong{color:var(--gold)!important;font-size:1.08em}

.control-panel{background:rgba(255,255,255,.98);border-radius:26px;padding:1rem;box-shadow:0 24px 60px rgba(0,0,0,.26);border:1px solid rgba(255,255,255,.6);position:sticky;top:88px}
.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.keypad button{font-size:1.65rem;background:#fff;border:1px solid var(--line);box-shadow:0 6px 14px rgba(15,23,42,.08);min-height:64px;color:#020617}.actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem;margin-top:.65rem}.control-panel>.big{margin-top:.65rem}
.finish-dialog{border:0;border-radius:24px;padding:0;max-width:420px;width:calc(100% - 2rem)}.finish-dialog form{padding:1.2rem}.finish-dialog::backdrop{background:rgba(0,0,0,.62)}.dialog-actions{display:flex;gap:.7rem;justify-content:flex-end;margin-top:1rem}

@media(max-width:1100px){
  .score-layout{grid-template-columns:1fr}.control-panel{position:static}.tv-stage{min-height:auto}.pdc-row{grid-template-columns:minmax(180px,1fr) 88px 80px minmax(150px,210px)}.score-block{font-size:clamp(4.5rem,14vw,7.5rem)}
}
@media(max-width:760px){
  body{background-attachment:scroll;background-position:center}.brand img{height:42px}.brand span{display:none}.topbar{padding:.55rem .7rem}.top-actions .ghost{padding:.65rem .7rem;font-size:.82rem}.app-shell{padding:.75rem}.setup-grid,.setup-grid.compact{grid-template-columns:1fr}.setup-actions{grid-template-columns:1fr}.tv-stage{border-radius:20px;padding:.7rem}.tv-header{display:block}.tv-badges{justify-content:flex-start;margin-top:.6rem}.pdc-row{grid-template-columns:1fr 58px 58px 120px;gap:.32rem;border-width:3px;padding:.4rem}.team-block{min-height:80px;padding:.52rem}.team-block strong{font-size:.98rem}.team-block small{font-size:.72rem}.set-block span{font-size:.52rem}.set-block b{font-size:1.5rem}.score-block{font-size:clamp(3.8rem,22vw,6rem)}.mini-stats{grid-column:1/5}.checkout{grid-column:1/5}.throw-strip{font-size:1.15rem;display:grid;grid-template-columns:1fr}.keypad button{padding:.75rem .4rem;font-size:1.35rem;min-height:54px}.actions-grid{grid-template-columns:repeat(2,1fr)}
}


/* AJUSTE GLOBAL DE LETRA - PWA PONTUAÇÃO */
html {
    font-size: 17px;
}

body {
    font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
    font-size: 1rem;
    line-height: 1.55;
    font-weight: 600;
}

button,
select,
input,
.pdc-btn,
.score-btn,
.action-btn {
    font-size: 1rem;
    font-weight: 800;
}

.score-value,
.player-score,
.pdc-score {
    font-size: clamp(4rem, 13vw, 8.5rem) !important;
    font-weight: 950 !important;
}

.player-name,
.team-name,
.current-player {
    font-size: clamp(1.05rem, 2.4vw, 1.55rem) !important;
    font-weight: 900 !important;
}

@media (max-width: 768px) {
    html {
        font-size: 16px;
    }
}

/* Alinhamento pré-jogo */
.alignment-card {
  margin-top: 18px;
  padding: 16px;
  border-radius: 18px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
}
.alignment-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.alignment-head h2 { margin: 0; font-size: 1.05rem; }
.alignment-head small { color: #cbd5e1; }
.alignment-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.alignment-grid label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: .82rem;
  color: #e5e7eb;
}
.lineup-ok { border-color: rgba(34,197,94,.45) !important; background: rgba(34,197,94,.08) !important; }
.lineup-wait { border-color: rgba(245,158,11,.45) !important; background: rgba(245,158,11,.08) !important; }
@media (max-width: 900px) {
  .alignment-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .alignment-head { flex-direction: column; align-items: stretch; }
}
@media (max-width: 520px) {
  .alignment-grid { grid-template-columns: 1fr; }
}

/* Layout moderno para alinhamento e cruzamento dos 8 jogos */
.match-hero-card{
  display:grid;
  grid-template-columns:1fr auto 1fr minmax(220px,.9fr);
  align-items:center;
  gap:1rem;
  background:#ffffff!important;
  border:1px solid #e5e7eb!important;
  border-radius:18px!important;
  box-shadow:0 12px 34px rgba(15,23,42,.08)!important;
}
.match-team{display:flex;align-items:center;gap:1rem;min-height:72px;justify-content:center;}
.match-team strong{font-size:clamp(1.25rem,2.8vw,1.9rem);color:#0f172a!important;letter-spacing:.01em;}
.match-shield{width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,#0f4da3,#07306e);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:1000;font-size:1.25rem;box-shadow:0 10px 25px rgba(15,77,163,.22)}
.match-shield.red{background:linear-gradient(135deg,#e11d2e,#b91c1c);box-shadow:0 10px 25px rgba(225,29,46,.22)}
.match-vs{width:42px;height:42px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;color:#0f172a;font-weight:1000;font-size:.85rem;}
.match-meta{border-left:1px solid #e5e7eb;padding-left:1rem;display:grid;gap:.25rem;color:#0f172a;font-size:.92rem;}
.match-meta span{display:block;color:#0f172a;}
.pontuacao-top-actions{display:grid;grid-template-columns:minmax(180px,340px) minmax(180px,340px);gap:.8rem;justify-content:center;margin:1rem 0 1.1rem;}
.pontuacao-top-actions .secondary{background:#fff;color:#0f4da3;border:2px solid #0f4da3;box-shadow:0 8px 20px rgba(15,77,163,.10)}
.pontuacao-top-actions .primary{background:linear-gradient(135deg,#0f4da3,#07306e);box-shadow:0 10px 24px rgba(15,77,163,.22)}
.alignment-card-light{background:#ffffff!important;border:1px solid #e5e7eb!important;border-radius:18px!important;box-shadow:0 12px 34px rgba(15,23,42,.08)!important;color:#0f172a!important;}
.alignment-card-light .alignment-head h2{color:#0f172a!important;}
.alignment-card-light .alignment-head small{color:#64748b!important;}
.alignment-card-light .kicker{color:#0f4da3!important;}
.alignment-card-light .secondary{background:#eef4ff;color:#0f4da3;border:1px solid #c7d7fe;}
.alignment-teams-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.team-lineup-card{border:1px solid #e5e7eb;border-radius:16px;padding:1rem;background:#fbfdff;box-shadow:0 8px 24px rgba(15,23,42,.05)}
.team-lineup-card.fora{background:#fffafb;}
.team-lineup-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.4rem;}
.team-lineup-head h3{margin:0;font-size:1.15rem;font-weight:1000;}
.team-lineup-card.casa h3{color:#0f4da3;}.team-lineup-card.fora h3{color:#dc2626;}
.team-lineup-state{font-size:.82rem;border-radius:999px;padding:.32rem .58rem;background:#fff7ed;color:#b45309;white-space:nowrap;}
.team-lineup-state.ok{background:#dcfce7;color:#166534;}.team-lineup-state.wait{background:#fff7ed;color:#b45309;}
.team-lineup-name{font-size:.9rem;color:#64748b;margin-bottom:.65rem;font-weight:900;}
.team-lineup-rows{display:grid;gap:.45rem;}
.lineup-row{display:grid;grid-template-columns:38px minmax(0,1fr) 96px;align-items:center;gap:.5rem;min-height:42px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:.35rem .45rem;}
.lineup-num{width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-weight:1000;background:#eef4ff;color:#0f4da3;}
.lineup-row.fora .lineup-num{background:#fff1f2;color:#dc2626;}
.lineup-row select{margin:0;padding:.55rem .65rem;border-radius:10px;min-height:34px;font-size:.88rem;background:#fff;}
.hidden-name{color:#64748b;font-weight:800;font-size:.9rem;}
.lineup-status{justify-self:end;border-radius:999px;padding:.25rem .55rem;font-size:.78rem;background:#fff7ed;color:#b45309;}
.lineup-status.ok{background:#dcfce7;color:#166534;}.lineup-status.wait{background:#fff7ed;color:#b45309;}
.crossing-help-card{position:relative;margin-top:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 14px 38px rgba(15,23,42,.08);padding:1.2rem;overflow:hidden;}
.crossing-help-card:before,.crossing-help-card:after{content:"";position:absolute;width:220px;height:220px;border:30px solid rgba(15,77,163,.06);border-radius:50%;top:32%;pointer-events:none;}
.crossing-help-card:before{left:-130px}.crossing-help-card:after{right:-130px}
.crossing-help-card>*{position:relative;z-index:1;}
.crossing-title-row{display:flex;align-items:flex-start;gap:.9rem;text-align:center;justify-content:center;}
.dart-mark{font-size:2rem;color:#0f4da3;transform:rotate(-15deg);margin-top:.1rem;}
.crossing-title-row h2{margin:.1rem 0 .25rem;font-size:clamp(1.35rem,3vw,2rem);color:#0f172a;line-height:1.1;}
.crossing-title-row p{margin:0;color:#334155;font-weight:700;}
.crossing-lineups{display:grid;grid-template-columns:minmax(210px,300px) 90px minmax(210px,300px);align-items:center;justify-content:center;gap:1rem;margin:1rem auto;}
.crossing-mini-card{border:1px solid #e5e7eb;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 8px 20px rgba(15,23,42,.06);}
.crossing-mini-card h3{margin:0;padding:.55rem .85rem;color:#fff;font-size:1rem;text-align:center;}
.crossing-mini-card.casa h3{background:linear-gradient(135deg,#0f4da3,#07306e);}.crossing-mini-card.fora h3{background:linear-gradient(135deg,#e11d2e,#b91c1c);}
.crossing-mini-card ul{list-style:none;margin:0;padding:.55rem .85rem;display:grid;gap:.25rem;}
.crossing-mini-card li{color:#0f172a;font-weight:800;border-bottom:1px solid #f1f5f9;padding:.12rem 0;}
.crossing-mini-card li:last-child{border-bottom:0}.crossing-mini-card.casa b{color:#0f4da3}.crossing-mini-card.fora b{color:#dc2626}
.crossing-target{width:70px;height:70px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f8fafc;border:1px solid #e5e7eb;box-shadow:0 8px 24px rgba(15,23,42,.08);font-size:2.3rem;justify-self:center;}
.crossing-table{max-width:780px;margin:0 auto;display:grid;gap:.34rem;}
.crossing-row{display:grid;grid-template-columns:140px 1fr 38px 1fr;align-items:center;gap:.55rem;min-height:36px;border-bottom:1px solid #eef2f7;}
.crossing-game{background:#0f4da3;color:#fff;border-radius:8px;padding:.36rem .65rem;font-weight:1000;text-align:center;}
.crossing-side{font-size:1.05rem;color:#0f172a;font-weight:1000;text-align:center;}
.crossing-vs{color:#0f4da3;font-weight:1000;text-align:center;font-size:1.15rem;}
.crossing-note{max-width:820px;margin:.8rem auto 0;border:1px solid #bfdbfe;background:#eff6ff;color:#0f172a;border-radius:12px;padding:.65rem .9rem;font-size:.92rem;}
.crossing-note strong{color:#0f4da3;margin-right:.25rem;}
@media(max-width:980px){
  .match-hero-card{grid-template-columns:1fr; text-align:center}.match-meta{border-left:0;border-top:1px solid #e5e7eb;padding-left:0;padding-top:.7rem}.pontuacao-top-actions{grid-template-columns:1fr}.alignment-teams-grid{grid-template-columns:1fr}.crossing-lineups{grid-template-columns:1fr}.crossing-target{display:none}.crossing-row{grid-template-columns:100px 1fr 24px 1fr}.crossing-game{font-size:.85rem}.crossing-side{font-size:.92rem}
}
@media(max-width:560px){.lineup-row{grid-template-columns:34px 1fr;}.lineup-status{grid-column:2;justify-self:start}.crossing-title-row{display:block}.crossing-row{grid-template-columns:1fr;gap:.25rem;text-align:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:.5rem}.crossing-vs{line-height:1}}

/* Atualização: alinhamento 8 individuais + 2 pares, suplentes e elegibilidade */
.lineup-group-title{grid-column:1/-1;margin:.15rem 0 .25rem;font-size:.78rem;font-weight:1000;text-transform:uppercase;letter-spacing:.08em;color:#0f4da3;}
.lineup-group-title.suplentes{margin-top:.75rem;color:#64748b;}
.lineup-row{grid-template-columns:38px minmax(0,1fr) 96px;}
.lineup-row.suplente{background:#f8fafc;border-style:dashed;}
.lineup-eligibility{grid-column:2/4;font-size:.78rem;line-height:1.1;}
.eligibility-badge{display:inline-flex;align-items:center;gap:.25rem;border-radius:999px;padding:.22rem .55rem;font-weight:900;}
.eligibility-badge.eligible{background:#dcfce7;color:#166534;}
.eligibility-badge.ineligible{background:#fee2e2;color:#b91c1c;}
.hidden-subs-note{margin-top:.55rem;font-size:.82rem;color:#64748b;font-weight:800;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;padding:.55rem .7rem;}
.crossing-row.pair .crossing-game{background:#7c3aed;}
.substituicoes-card{margin-top:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 12px 34px rgba(15,23,42,.08);padding:1rem;color:#0f172a;}
.subs-panel p{margin:.25rem 0 .85rem;color:#64748b;font-weight:700;}
.subs-title{font-size:1.05rem;font-weight:1000;color:#0f4da3;margin-bottom:.2rem;}
.subs-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;align-items:end;}
.subs-grid label{display:grid;gap:.35rem;font-size:.8rem;font-weight:900;color:#475569;}
.subs-grid select{width:100%;padding:.65rem .75rem;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#0f172a;}
.subs-history{margin:.85rem 0 0;padding-left:1.15rem;color:#334155;font-weight:700;font-size:.9rem;}
.subs-empty{color:#64748b;font-weight:800;}
@media(max-width:900px){.subs-grid{grid-template-columns:1fr 1fr}.lineup-eligibility{grid-column:1/-1}}
@media(max-width:560px){.subs-grid{grid-template-columns:1fr}.lineup-row{grid-template-columns:34px 1fr}.lineup-eligibility{grid-column:1/-1}.lineup-status{grid-column:auto}}


/* Histórico de pontuação por visita — lado a lado */
.visits-history-card{
  margin-top:1rem;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(226,232,240,.95);
  border-radius:18px;
  padding:1rem;
  box-shadow:0 14px 34px rgba(15,23,42,.14);
  color:#0f172a;
}
.visits-history-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem;}
.visits-kicker{margin:0 0 .15rem;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:1000;color:#0f4da3;}
.visits-history-head h2{margin:0;font-size:1.12rem;color:#0f172a;}
.visits-leg-badge{display:inline-flex;align-items:center;border-radius:999px;background:#e0f2fe;color:#075985;padding:.35rem .7rem;font-size:.82rem;font-weight:1000;white-space:nowrap;}
.visits-columns{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;align-items:start;}
.visits-player-column{background:#ffffff;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;box-shadow:0 8px 22px rgba(15,23,42,.07);}
.visits-player-a{border-top:5px solid #2563eb;}
.visits-player-b{border-top:5px solid #dc2626;}
.visits-column-title{display:flex;align-items:center;gap:.55rem;padding:.75rem .9rem;background:#f8fafc;border-bottom:1px solid #e5e7eb;color:#0f172a;}
.visits-column-title strong{font-size:.95rem;font-weight:1000;}
.visits-dot{width:12px;height:12px;border-radius:999px;display:inline-block;box-shadow:0 0 0 4px rgba(37,99,235,.10);}
.visits-dot.a{background:#2563eb;}
.visits-dot.b{background:#dc2626;box-shadow:0 0 0 4px rgba(220,38,38,.10);}
.visits-list{display:flex;flex-direction:column;gap:.55rem;padding:.75rem;max-height:360px;overflow:auto;background:linear-gradient(180deg,#fff,#f8fafc);}
.visit-card{border:1px solid #e5e7eb;border-left:5px solid #2563eb;border-radius:14px;padding:.65rem .75rem;background:#fff;box-shadow:0 5px 14px rgba(15,23,42,.05);}
.visit-card.b{border-left-color:#dc2626;}
.visit-card-top{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.35rem;}
.visit-card-top span{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:1000;}
.visit-score{font-size:1.3rem;line-height:1;color:#0f172a;background:#f1f5f9;border-radius:999px;padding:.3rem .6rem;min-width:54px;text-align:center;}
.visit-card.a .visit-score{background:#eff6ff;color:#1d4ed8;}
.visit-card.b .visit-score{background:#fff1f2;color:#be123c;}
.visit-card-body{display:flex;align-items:center;justify-content:space-between;gap:.55rem;font-size:.86rem;font-weight:800;color:#334155;}
.visit-card-body b{color:#0f4da3;background:#eff6ff;border-radius:999px;padding:.25rem .5rem;white-space:nowrap;}
.visits-empty-card{color:#64748b;font-style:italic;font-weight:800;text-align:center;padding:1.2rem .75rem;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;}
@media(max-width:720px){.visits-history-head{align-items:flex-start;flex-direction:column}.visits-columns{grid-template-columns:1fr}.visits-list{max-height:none}.visit-card-body{align-items:flex-start;flex-direction:column}}


/* Caixa de live streaming na página de pontuação */
.pontuacao-live-box{
  margin:18px 0;
  padding:18px;
  border-radius:22px;
  background:linear-gradient(180deg,#ffffff,#f8fafc);
  border:1px solid rgba(148,163,184,.45);
  box-shadow:0 16px 40px rgba(15,23,42,.12);
}
.pontuacao-live-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.pontuacao-live-head h2{margin:.1rem 0 .2rem;font-size:1.25rem;color:#0f172a;}
.pontuacao-live-head small{display:block;color:#475569;font-weight:800;line-height:1.35;}
.live-status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:88px;
  padding:8px 12px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.live-status-badge.offline{background:#f1f5f9;color:#64748b;}
.live-status-badge.ready{background:#fef3c7;color:#92400e;}
.live-status-badge.online{background:#dcfce7;color:#166534;}
.pontuacao-live-actions{display:flex;flex-wrap:wrap;gap:.55rem;}
.pontuacao-live-actions button{min-height:42px;}
.danger-soft{
  border:0;
  background:#fee2e2;
  color:#991b1b;
  border-radius:14px;
  padding:10px 14px;
  font-weight:950;
  cursor:pointer;
}
.ghost.light{background:#f8fafc;color:#0f172a;border:1px solid #cbd5e1;}
.danger-soft:disabled,.pontuacao-live-actions button:disabled{opacity:.45;cursor:not-allowed;}
.pontuacao-live-note{margin:.75rem 0 0;color:#64748b;font-size:.88rem;font-weight:800;line-height:1.35;}
@media(max-width:640px){.pontuacao-live-head{flex-direction:column}.pontuacao-live-actions{display:grid;grid-template-columns:1fr}.pontuacao-live-actions button{width:100%;}}

/* Fase Pontuação 1 — escolha do tipo de competição */
.type-panel{max-width:1100px;margin:4vh auto;overflow:hidden;position:relative;}
.type-panel::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,#e11d2e,#fbbf24,#2563eb);}
.type-head{align-items:flex-start;}
.type-intro{margin:.2rem 0 0;color:#475569;max-width:760px;line-height:1.45;font-weight:850;}
.section-actions-inline{display:flex;gap:.6rem;align-items:center;justify-content:flex-end;flex-wrap:wrap;}
.score-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1.25rem;}
.score-type-card{min-height:210px;text-align:left;background:linear-gradient(180deg,#ffffff,#f8fafc);border:1px solid #dbe5f0;border-radius:24px;padding:1.15rem;display:flex;flex-direction:column;gap:.55rem;color:#0f172a;box-shadow:0 14px 34px rgba(15,23,42,.10);transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;position:relative;overflow:hidden;}
.score-type-card::after{content:"";position:absolute;right:-35px;bottom:-35px;width:110px;height:110px;border-radius:999px;background:rgba(225,29,46,.08);}
.score-type-card:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(15,23,42,.16);border-color:#b9c7d8;}
.score-type-icon{width:58px;height:58px;border-radius:18px;background:#eef4fb;display:flex;align-items:center;justify-content:center;font-size:1.75rem;box-shadow:inset 0 0 0 1px rgba(15,23,42,.05);}
.score-type-card strong{font-size:1.3rem;font-weight:1000;color:#0f172a;}
.score-type-card small{font-size:.93rem;line-height:1.35;color:#475569;font-weight:850;max-width:210px;}
.score-type-card em{align-self:flex-start;margin-top:auto;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;border-radius:999px;padding:.32rem .6rem;font-size:.75rem;font-style:normal;font-weight:1000;text-transform:uppercase;letter-spacing:.04em;}
.score-type-card-soon{background:linear-gradient(180deg,#fff,#fffbeb);}
.score-type-notice{margin-top:1rem;padding:1rem;border-radius:18px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;line-height:1.4;}

@media (max-width: 980px){
  .score-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 620px){
  .type-panel{margin:1rem auto;}
  .score-type-grid{grid-template-columns:1fr;}
  .score-type-card{min-height:160px;}
  .section-actions-inline{justify-content:stretch;width:100%;}
  .section-actions-inline button{width:100%;}
}

/* Fase Pontuação 2 - Ranking */
.ranking-score-note {
  margin-top: 0.75rem;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(34, 211, 238, 0.35);
  background: rgba(8, 47, 73, 0.35);
  color: #cffafe;
  border-radius: 14px;
  font-size: 0.95rem;
  line-height: 1.35;
}

/* Fase Pontuação 3 — modo Ranking mais claro */
#setupView.ranking-mode .line-title-players,
#setupView.ranking-mode #individualSelectors,
#setupView.ranking-mode #pairsSelectors,
#setupView.ranking-mode .checkbox-line,
#setupView.ranking-mode .setup-actions,
#setupView.ranking-mode .line-title-sets{display:none!important;}
#setupView.ranking-mode .pontuacao-top-actions{grid-template-columns:minmax(220px,440px);justify-content:center;}
#setupView.ranking-mode #setsResumo{margin-top:.75rem;}

.ranking-setup-panel{
  margin:1rem 0;
  border-radius:22px;
  padding:1rem;
  border:1px solid rgba(14,165,233,.28);
  background:linear-gradient(135deg,#082f49,#0f172a 55%,#111827);
  color:#e0f2fe;
  box-shadow:0 20px 48px rgba(15,23,42,.20);
  overflow:hidden;
  position:relative;
}
.ranking-setup-panel::after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:999px;background:rgba(14,165,233,.14);pointer-events:none;}
.ranking-setup-panel>*{position:relative;z-index:1;}
.ranking-mode-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.85rem;}
.ranking-mode-head h2{margin:.12rem 0 .2rem;color:#fff;font-size:clamp(1.25rem,3vw,1.9rem);}
.ranking-mode-head p:not(.kicker){margin:0;color:#bae6fd;font-weight:750;line-height:1.35;}
.ranking-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.42rem .75rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;font-weight:1000;white-space:nowrap;}
.ranking-status.open{background:#fef3c7;color:#92400e;}
.ranking-status.done{background:#dcfce7;color:#166534;}
.ranking-context-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:.85rem 0;}
.ranking-context-grid div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:.75rem;}
.ranking-context-grid span{display:block;color:#7dd3fc;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:1000;}
.ranking-context-grid strong{display:block;margin-top:.15rem;color:#fff;font-size:1.02rem;}
.ranking-players-preview{display:grid;grid-template-columns:1fr auto 1fr;gap:.75rem;align-items:center;margin-top:.8rem;}
.ranking-player-preview{background:#fff;color:#0f172a;border-radius:18px;padding:.9rem;border-top:5px solid #2563eb;box-shadow:0 10px 24px rgba(2,6,23,.18);min-height:84px;display:flex;flex-direction:column;justify-content:center;}
.ranking-player-preview.b{border-top-color:#dc2626;}
.ranking-player-preview span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:1000;}
.ranking-player-preview strong{font-size:clamp(1rem,2vw,1.35rem);line-height:1.1;color:#0f172a;}
.ranking-versus-pill{width:50px;height:50px;border-radius:999px;background:#fbbf24;color:#111827;display:flex;align-items:center;justify-content:center;font-weight:1000;box-shadow:0 10px 28px rgba(251,191,36,.25);}
.ranking-flow-note{margin-top:.85rem;padding:.75rem .9rem;border-radius:14px;background:rgba(14,165,233,.10);border:1px solid rgba(125,211,252,.25);color:#e0f2fe;line-height:1.4;}
.ranking-flow-note b{color:#fff;}

.ranking-saved-panel{margin:1rem 0;border-radius:20px;border:1px solid #bbf7d0;background:linear-gradient(180deg,#f0fdf4,#ffffff);padding:1rem;color:#14532d;box-shadow:0 14px 34px rgba(21,128,61,.12);}
.ranking-saved-head{display:flex;align-items:center;gap:.8rem;margin-bottom:.75rem;}
.ranking-saved-head>span{width:44px;height:44px;border-radius:14px;background:#dcfce7;display:flex;align-items:center;justify-content:center;font-size:1.35rem;}
.ranking-saved-head strong{display:block;color:#14532d;font-size:1.05rem;}
.ranking-saved-head small{display:block;color:#166534;font-weight:800;margin-top:.1rem;}
.ranking-saved-score{display:grid;grid-template-columns:1fr auto 1fr;gap:.7rem;align-items:center;background:#fff;border:1px solid #dcfce7;border-radius:16px;padding:.75rem;}
.ranking-saved-score b{color:#0f172a;text-align:center;}
.ranking-saved-score strong{font-size:1.9rem;color:#14532d;text-align:center;}
.ranking-saved-meta{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.75rem;}
.ranking-saved-meta span{background:#dcfce7;color:#14532d;border-radius:999px;padding:.35rem .65rem;font-size:.85rem;font-weight:900;}

.ranking-finish-dialog{border:0;border-radius:28px;padding:0;max-width:780px;width:calc(100% - 2rem);box-shadow:0 30px 90px rgba(0,0,0,.45);overflow:hidden;}
.ranking-finish-dialog::backdrop{background:rgba(2,6,23,.72);backdrop-filter:blur(3px);}
.ranking-finish-dialog form{padding:0;background:#fff;color:#0f172a;}
.ranking-dialog-top{padding:1.2rem 1.25rem;background:linear-gradient(135deg,#0f172a,#082f49);color:#fff;}
.ranking-dialog-top .kicker{color:#fbbf24!important;}
.ranking-dialog-top h2{margin:.12rem 0 .25rem;color:#fff;font-size:clamp(1.45rem,3vw,2rem);}
.ranking-dialog-top p{margin:0;color:#bae6fd;font-weight:850;}
.ranking-finish-content{padding:1.15rem;}
.ranking-confirm-score{display:grid;grid-template-columns:1fr auto 1fr;gap:.75rem;align-items:stretch;}
.ranking-confirm-player{border:1px solid #e5e7eb;border-radius:18px;background:#f8fafc;padding:.85rem;display:grid;grid-template-columns:1fr auto;gap:.35rem;align-items:center;border-top:5px solid #2563eb;}
.ranking-confirm-player.b{border-top-color:#dc2626;}
.ranking-confirm-player.winner{background:#f0fdf4;border-color:#bbf7d0;border-top-color:#22c55e;}
.ranking-confirm-player span{grid-column:1/-1;color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:1000;}
.ranking-confirm-player strong{color:#0f172a;font-size:1.04rem;line-height:1.15;}
.ranking-confirm-player b{font-size:2.4rem;color:#0f172a;line-height:1;}
.ranking-confirm-vs{align-self:center;color:#64748b;font-size:1.3rem;font-weight:1000;}
.ranking-confirm-winner{margin:.85rem 0;padding:.75rem .9rem;border-radius:14px;background:#fef3c7;color:#78350f;font-weight:1000;text-align:center;}
.ranking-confirm-stats{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;}
.ranking-confirm-stats>div{border:1px solid #e5e7eb;border-radius:16px;background:#fff;padding:.8rem;display:grid;gap:.35rem;}
.ranking-confirm-stats span{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:1000;}
.ranking-confirm-stats b{color:#0f172a;font-size:.92rem;}
.ranking-finish-dialog .dialog-actions{padding:0 1.15rem 1.15rem;display:flex;gap:.75rem;justify-content:flex-end;}
.ranking-finish-dialog .dialog-actions button:disabled{opacity:.55;cursor:not-allowed;}

body.ranking-active.score-active .tv-stage{background:linear-gradient(135deg,#020617,#082f49 62%,#111827);}
body.ranking-active.score-active .tv-kicker::after{content:" · RANKING";color:#fbbf24;}

@media(max-width:820px){
  .ranking-context-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ranking-players-preview,.ranking-confirm-score{grid-template-columns:1fr;}
  .ranking-versus-pill,.ranking-confirm-vs{justify-self:center;}
  .ranking-confirm-stats{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .ranking-mode-head{display:block;}
  .ranking-status{margin-top:.6rem;}
  .ranking-context-grid{grid-template-columns:1fr;}
  .ranking-saved-score{grid-template-columns:1fr;}
  .ranking-finish-dialog .dialog-actions{display:grid;grid-template-columns:1fr;}
}


/* Fase Pontuação 4 - Ranking em direto */
.ranking-flow-note a {
  color: #ffd166;
  font-weight: 800;
  text-decoration: none;
}
.ranking-flow-note a:hover { text-decoration: underline; }

/* Fluxo inicial da pontuação: escolha de competição antes do login */
.login-mode-info{
  margin:.85rem 0 1rem;
  padding:.85rem 1rem;
  border-radius:18px;
  background:#f8fafc;
  border:1px solid #dbe5f0;
  color:#334155;
  font-weight:850;
  line-height:1.4;
}
.login-mode-info strong{color:#0f172a;}
.login-panel .form-grid button{width:100%;}
#btnBackTypeLogin{margin-top:-.25rem;}


/* Botão Voltar ao Site no ecrã de seleção da Pontuação */
.score-type-footer-actions{
  display:flex;
  justify-content:center;
  margin-top:1.15rem;
}

.back-to-site-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  min-height:46px;
  padding:.8rem 1.25rem;
  border-radius:999px;
  border:1px solid #cbd5e1;
  background:#ffffff;
  color:#0b2f55;
  text-decoration:none;
  font-weight:1000;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.back-to-site-btn:hover{
  transform:translateY(-2px);
  background:#f8fafc;
  box-shadow:0 14px 30px rgba(15,23,42,.13);
}

.back-to-site-btn:active{
  transform:translateY(0);
}

.back-to-site-btn span{
  font-size:1.15rem;
  line-height:1;
}

@media(max-width:620px){
  .back-to-site-btn{
    width:100%;
  }
}
