/* =====================================================================
   Módulo Scoreboard + Generador de resultados
   ===================================================================== */

/* ---------- Selector segmentado (sencillos/dobles) ---------- */
.seg-control{display:flex;background:#eef3f8;border-radius:999px;padding:4px;gap:4px}
.seg{flex:1;text-align:center;padding:10px;border-radius:999px;cursor:pointer;
    font-weight:600;color:var(--muted);transition:.15s;font-size:.95rem}
.seg input{display:none}
.seg.active{background:var(--navy);color:#fff;box-shadow:var(--shadow)}

/* ---------- Inputs de equipos ---------- */
.teams-inputs{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;margin:6px 0}
.team-col{display:flex;flex-direction:column;gap:10px}
.team-col h4{margin:0 0 4px;color:var(--green-d)}
.team-col input{font:inherit;padding:11px 13px;border:1.5px solid var(--border);border-radius:10px}
.team-col input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(78,169,63,.15)}
.vs-divider{font-weight:800;color:var(--blue-l);font-size:1.2rem}

.status-dot{width:11px;height:11px;border-radius:50%;display:inline-block;background:#9aa6b5}
.status-dot.live{background:#e23b3b;box-shadow:0 0 0 0 rgba(226,59,59,.6);animation:pulse 1.6s infinite}
.status-dot.done{background:#7c8aa0}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(226,59,59,.6)}70%{box-shadow:0 0 0 9px rgba(226,59,59,0)}100%{box-shadow:0 0 0 0 rgba(226,59,59,0)}}

/* ---------- Lista de marcadores (widget tipo scoreboard) ---------- */
.sbm-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(440px,1fr));gap:22px}
.sbm{display:block;border-radius:16px;overflow:hidden;background:#f6f8fa;border:1px solid var(--border);
    box-shadow:var(--shadow);transition:.2s;color:var(--text)}
.sbm:hover{transform:translateY(-3px);box-shadow:var(--shadow-h);text-decoration:none}
.sbm-head{background:var(--navy);color:#fff;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
    gap:10px;padding:11px 18px;font-style:italic;font-weight:700;font-size:1.02rem}
.sbm-head .sbm-court{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sbm-head .sbm-date{text-align:right;white-space:nowrap}
.sbm-body{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:4px 14px;padding:14px 18px}
.sbm-dot{width:15px;height:15px;border-radius:50%;background:transparent}
.sbm-dot.green{background:var(--green-l);box-shadow:0 0 0 3px rgba(108,194,74,.25)}
.sbm-names{font-style:italic;font-weight:700;color:var(--navy);font-size:1.2rem;line-height:1.12;
    display:flex;flex-direction:column;padding:7px 0}
.sbm-names.underline{border-bottom:3px solid var(--navy)}
.sbm-setrow{display:flex;gap:10px;justify-content:flex-end}
.setsq{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;
    font-weight:800;font-size:1.6rem;font-style:italic;color:#fff;flex-shrink:0}
.setsq.win{background:var(--green)}
.setsq.lose,.setsq.tie{background:var(--navy)}
.setsq.empty{background:#e3e9f0;color:var(--muted)}

/* ---------- Marcador en vivo ---------- */
.scoreboard{max-width:760px;margin:0 auto}
.sb-head{text-align:center;margin-bottom:18px}
.sb-title{margin:0 0 6px}
.sb-status{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--navy);letter-spacing:.5px}
.sb-board{background:linear-gradient(135deg,var(--navy),var(--navy-2));border-radius:20px;
    padding:10px;box-shadow:var(--shadow-h);overflow:hidden}
.sb-row{display:grid;grid-template-columns:30px 1fr auto 96px;align-items:center;gap:10px;
    padding:22px 18px;color:#fff;transition:.2s;border-radius:14px}
.sb-row.leading{background:rgba(108,194,74,.12)}
.sb-row.winner{background:rgba(108,194,74,.22)}
.sb-row+.sb-row{margin-top:6px;border-top:1px solid rgba(255,255,255,.08)}
.sb-serve{color:var(--green-l);font-size:1rem;text-align:center}
.sb-team{font-size:1.4rem;font-weight:700;overflow:hidden;text-overflow:ellipsis}
.sb-sets{display:flex;gap:8px}
.setcell{min-width:38px;height:46px;display:flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,.08);border-radius:8px;font-size:1.5rem;font-weight:700;color:#cdd9ea}
.setcell.current{background:rgba(108,194,74,.25);color:#fff}
.sb-points{min-width:96px;text-align:center;font-size:2.4rem;font-weight:800;color:var(--green-l);
    background:rgba(0,0,0,.18);border-radius:12px;padding:6px 0}
.sb-winner{margin:18px auto 0;text-align:center;font-size:1.4rem;font-weight:800;color:var(--green-d);
    background:#eafbe4;border:2px solid var(--green-l);border-radius:14px;padding:16px}
.sb-public-note{margin-top:18px}

/* Controles del dueño */
.sb-controls{margin-top:22px}
.sb-controls.disabled{opacity:.5;pointer-events:none}
.sb-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:10px 0}
.btn-score{background:var(--green);color:#fff;border:none;padding:22px 14px;border-radius:14px;
    font-size:1.1rem;font-weight:700;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:.15s}
.btn-score span{font-size:.92rem;font-weight:600;opacity:.92}
.btn-score:hover{background:var(--green-d);transform:translateY(-2px)}
.btn-score:active{transform:scale(.98)}
.sb-control-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.sb-control-row .btn{padding:10px 20px}
.btn-outline:disabled{opacity:.4;cursor:not-allowed}
.sb-share{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}

/* ---------- Generador de resultados ---------- */
.results-layout{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.results-form{padding:26px}
.sets-inputs{display:flex;flex-direction:column;gap:10px;margin:6px 0 14px}
.set-row{display:grid;grid-template-columns:70px 1fr 20px 1fr;align-items:center;gap:10px}
.set-label{font-weight:700;color:var(--navy);font-size:.92rem}
.set-row input{text-align:center;font-weight:700;padding:10px}
.set-sep{text-align:center;font-weight:800;color:var(--muted)}
.sets-actions{display:flex;gap:10px;margin-bottom:8px}
.results-preview{position:sticky;top:90px;display:flex;flex-direction:column;gap:14px}
#result-canvas{width:100%;height:auto;border-radius:var(--radius);box-shadow:var(--shadow-h);background:var(--navy)}
.preview-actions{display:flex;gap:12px}
.preview-actions .btn{flex:1}

@media(max-width:860px){
    .sbm-list{grid-template-columns:1fr}
    .results-layout{grid-template-columns:1fr}
    .results-preview{position:static}
    .sb-row{grid-template-columns:24px 1fr auto 72px;padding:16px 12px}
    .sb-team{font-size:1.1rem}
    .sb-points{font-size:1.8rem;min-width:72px}
    .setcell{min-width:30px;height:38px;font-size:1.2rem}
    .teams-inputs{grid-template-columns:1fr;gap:10px}
    .vs-divider{text-align:center}
    .sbm-head{font-size:.9rem;padding:9px 14px}
    .sbm-names{font-size:1.05rem}
    .setsq{width:42px;height:42px;font-size:1.3rem;border-radius:10px}
    .sbm-body{padding:12px 14px;gap:4px 10px}
}
