: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(1.5rem,3.5vw,3rem);line-height:1;font-weight:1000;text-transform:uppercase;text-shadow:0 12px 30px rgba(0,0,0,.55)}
.tv-badges{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.tv-badges span{background:#fff;color:#020617;border-radius:999px;padding:.45rem .7rem;font-size:.8rem;font-weight:1000}
.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:.74rem}.team-block strong{font-size:clamp(1.1rem,2.3vw,1.75rem);line-height:1.04;text-transform:uppercase}.team-block small{display:block;color:rgba(255,255,255,.78)!important;font-size:.82rem;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:.32rem .6rem;font-size:.82rem}.mini-stats *{color:#fff!important}
.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;gap:1rem;padding:1rem 1.1rem;font-size:1.18rem}.throw-strip *{color:#fff!important}.throw-strip strong{color:var(--gold)!important}

.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:.95rem;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;
    }
}
