:root{
  --ink:#0a0e1a;--ink2:#121829;--ink3:#1b2338;
  --bg:#f3f5f9;--bg2:#ffffff;--bg3:#eef1f6;--surface:#ffffff;
  --border:#e5e8ef;--border2:#d5dae4;
  --text:#0d1220;--muted:#6a7389;
  --accent:#2155ff;--accent-soft:rgba(33,85,255,.09);
  --volt:#c6ff3d;
  --green:#12b76a;--red:#f04438;--yellow:#f79009;
  --fd:'Barlow Condensed','Arial Narrow',sans-serif;
  --fb:'Inter',system-ui,sans-serif;--r:14px;
  --sidebar:248px;
  --shadow:0 1px 2px rgba(13,18,32,.04),0 4px 16px rgba(13,18,32,.05);
  --shadow-lg:0 12px 40px rgba(13,18,32,.16);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;overflow-x:hidden;-webkit-overflow-scrolling:touch}
body{background:var(--bg);color:var(--text);font-family:var(--fb);font-size:14px;-webkit-font-smoothing:antialiased}
svg.lucide{width:18px;height:18px;stroke-width:2;flex-shrink:0;vertical-align:middle}
.num{font-variant-numeric:tabular-nums}

/* ── LOGIN ── */
#login-screen{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;
  background:
    repeating-linear-gradient(90deg,transparent 0 79px,rgba(255,255,255,.035) 79px 80px),
    radial-gradient(1200px 600px at 85% -10%,rgba(33,85,255,.45),transparent 60%),
    radial-gradient(800px 500px at -10% 110%,rgba(198,255,61,.12),transparent 60%),
    var(--ink)}
#login-screen.show{display:flex}
#login-screen.hidden{display:none}
.login-box{background:#fff;border-radius:20px;padding:40px 36px 32px;width:400px;max-width:92vw;box-shadow:0 30px 80px rgba(0,0,0,.45);position:relative;overflow:hidden}
.login-box::before{content:'';position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--accent),var(--volt))}
.login-logo{text-align:center;margin-bottom:28px}
.login-logo img{height:84px;width:auto}
.login-logo-text{font-family:var(--fd);font-style:italic;font-size:22px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--text);margin-top:10px}
.login-logo-text::after{content:'Snap Light';display:block;font-style:normal;font-family:var(--fb);font-size:11px;font-weight:600;letter-spacing:.18em;color:var(--muted);margin-top:2px}
.lfield{margin-bottom:16px}
.lfield label{display:block;font-size:12px;font-weight:600;color:var(--text);margin-bottom:6px}
.lfield input{width:100%;background:var(--bg3);border:1.5px solid transparent;border-radius:10px;padding:12px 14px;color:var(--text);font-size:15px;font-family:var(--fb);outline:none;transition:all .18s}
.lfield input:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 4px var(--accent-soft)}
.lfield input.err{border-color:var(--red)}
.login-err{background:rgba(240,68,56,.08);border:1px solid rgba(240,68,56,.25);border-radius:10px;padding:10px 14px;color:var(--red);font-size:13px;margin-bottom:14px;display:none}
.login-err.show{display:block}
.btn-login{width:100%;background:var(--ink);color:#fff;border:none;border-radius:10px;padding:13px;font-family:var(--fd);font-style:italic;font-size:17px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:all .18s;margin-top:6px}
.btn-login:hover{background:var(--accent);box-shadow:0 8px 24px rgba(33,85,255,.35)}
.btn-login:disabled{opacity:.5;cursor:not-allowed}

/* ── APP SHELL ── */
#app{display:none;height:100vh;overflow:hidden}
#app.show{display:flex;animation:appFade .2s ease}
@keyframes appFade{from{opacity:0}to{opacity:1}}

/* ── SIDEBAR ── */
.sidebar{width:var(--sidebar);min-width:var(--sidebar);background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;height:100vh;position:fixed;left:0;top:0;z-index:200;transition:transform .22s}
.sidebar-logo{padding:20px 18px 16px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #f3f4f6}
.sidebar-logo img{width:40px;height:40px;object-fit:contain;border-radius:10px;flex-shrink:0}
.sidebar-logo small{font-family:var(--fd);font-style:italic;font-size:17px;color:#111;font-weight:800;letter-spacing:.02em;text-transform:uppercase;line-height:1.05}
.sidebar-logo small::after{content:'Snap Light';display:block;font-family:var(--fb);font-style:normal;font-size:10px;font-weight:600;letter-spacing:.16em;color:#9ca3af;margin-top:3px}
.nav-items{flex:1;overflow-y:auto;padding:12px 10px;display:flex;flex-direction:column;gap:1px}
.nav-item{position:relative;display:flex;align-items:center;gap:11px;padding:9px 12px;cursor:pointer;border:none;background:none;color:#6b7280;font-family:var(--fb);font-size:13px;font-weight:500;width:100%;text-align:left;border-radius:9px;transition:all .14s}
.nav-item:hover{color:#111;background:#f3f4f6}
.nav-item.active{color:#2563EB;background:#eff6ff;font-weight:700}
.nav-item.active svg.lucide{color:#2563EB}
.nav-item .ni{display:flex;width:20px;justify-content:center;flex-shrink:0}
.nav-item .nl{font-weight:inherit}
.sidebar-foot{padding:12px 10px;border-top:1px solid #f3f4f6}
.btn-logout{display:flex;align-items:center;gap:11px;width:100%;padding:9px 12px;background:none;border:none;border-radius:9px;color:#9ca3af;font-family:var(--fb);font-size:13px;font-weight:500;cursor:pointer;transition:all .14s}
.btn-logout:hover{color:#dc2626;background:#fef2f2}

/* ── MAIN ── */
.main{margin-left:var(--sidebar);flex:1;height:100vh;overflow-y:auto;display:flex;flex-direction:column}
.topbar{background:rgba(243,245,249,.82);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--border);padding:0 32px;height:68px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}
.topbar-title{font-family:var(--fd);font-style:italic;font-size:28px;font-weight:800;letter-spacing:.01em;text-transform:uppercase;color:var(--text)}
.topbar-right{display:flex;align-items:center;gap:10px}
#topbar-user{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:var(--text);background:#fff;border:1px solid var(--border);border-radius:999px;padding:5px 14px 5px 5px}
#topbar-user::before{content:attr(data-initial);display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--ink);color:var(--volt);font-family:var(--fd);font-weight:800;font-size:14px}
#topbar-user:empty{display:none}
.section{padding:28px 32px 48px;display:none;max-width:1440px;width:100%}
.section.active{display:block;animation:secIn .25s ease}
@keyframes secIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ── CARDS ── */
.stats-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin-bottom:22px}
.stat-card{position:relative;overflow:hidden;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:20px 22px;box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s}
.stat-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(13,18,32,.08)}
.stat-card::after{content:'';position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:var(--accent-soft)}
.stat-card-sm{position:relative;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:12px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:2px}
.stat-card-sm .sv{font-family:var(--fd);font-style:italic;font-size:28px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.stat-card-sm .sl{font-size:12px;font-weight:500;color:var(--muted)}
.stat-card .sc-ico{position:relative;z-index:1;width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:var(--ink);color:var(--volt);margin-bottom:16px}
.stat-card .sv{position:relative;z-index:1;font-family:var(--fd);font-style:italic;font-size:44px;font-weight:800;color:var(--text);line-height:.95;font-variant-numeric:tabular-nums}
.stat-card .sl{position:relative;z-index:1;font-size:13px;font-weight:500;color:var(--muted);margin-top:6px}

/* ── TABLES ── */
.tbl-wrap{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
table{width:100%;border-collapse:collapse}
th{background:#fafbfd;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}
td{padding:13px 16px;border-bottom:1px solid var(--border);font-size:13.5px;vertical-align:middle}
tr:last-child td{border-bottom:none}
tbody tr{transition:background .12s}
tbody tr:hover td{background:#fafbfd}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:var(--fb);font-size:13px;font-weight:600;padding:9px 16px;border-radius:10px;border:1px solid transparent;cursor:pointer;transition:all .15s;white-space:nowrap}
.btn svg.lucide{width:16px;height:16px}
.btn-p{background:var(--accent);color:#fff;box-shadow:0 4px 14px rgba(33,85,255,.28)}
.btn-p:hover{background:#1a46e0;box-shadow:0 6px 20px rgba(33,85,255,.38);transform:translateY(-1px)}
.btn-g{background:#fff;color:var(--text);border-color:var(--border2)}
.btn-g:hover{border-color:var(--text)}
.btn-d{background:rgba(240,68,56,.08);color:var(--red);border-color:rgba(240,68,56,.2)}
.btn-d:hover{background:var(--red);color:#fff}
.btn-sm{padding:6px 10px;font-size:12px;border-radius:8px}
.btn-sm svg.lucide{width:14px;height:14px}
.btn-warn{background:#fff;color:var(--text);border-color:var(--border2)}
.btn-warn:hover{border-color:var(--text)}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px;flex-wrap:wrap}
.section-header h2{font-family:var(--fd);font-style:italic;font-size:26px;font-weight:800;text-transform:uppercase;letter-spacing:.01em}

/* ── FILTERS ── */
.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;align-items:center}
.filter-tab{font-family:var(--fb);font-size:12.5px;font-weight:600;padding:7px 14px;border-radius:999px;border:1px solid var(--border2);background:#fff;color:var(--muted);cursor:pointer;transition:all .15s}
.filter-tab:hover{color:var(--text);border-color:var(--text)}
.filter-tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.filter-select{background:#fff;border:1px solid var(--border2);border-radius:10px;color:var(--text);font-family:var(--fb);font-size:13px;padding:8px 12px;outline:none;cursor:pointer}
.filter-select:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}

/* ── BADGES ── */
.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}
.badge-pend{background:var(--bg3);color:var(--muted)}
.badge-curso{background:rgba(240,68,56,.1);color:var(--red)}
.badge-curso::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--red);animation:live 1.2s infinite}
.badge-final{background:rgba(18,183,106,.1);color:var(--green)}
@keyframes live{50%{opacity:.25}}
.nivel-A,.nivel-B,.nivel-C{display:inline-flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:12px;font-weight:800;width:24px;height:24px;border-radius:7px}
.nivel-A{background:rgba(18,183,106,.12);color:var(--green)}
.nivel-B{background:var(--accent-soft);color:var(--accent)}
.nivel-C{background:rgba(247,144,9,.12);color:var(--yellow)}

/* ── COLOR SWATCH ── */
.color-swatch{width:20px;height:20px;border-radius:6px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);display:inline-block;vertical-align:middle}

/* ── SCORE ── */
.score-inputs{display:flex;align-items:center;gap:6px}
.score-inp{width:72px;background:var(--ink);border:2px solid var(--ink);border-radius:12px;padding:6px 4px;color:#fff;font-family:var(--fd);font-style:italic;font-size:36px;font-weight:800;text-align:center;outline:none;transition:all .18s;font-variant-numeric:tabular-nums;-moz-appearance:textfield}
.score-inp::-webkit-outer-spin-button,.score-inp::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.score-inp:focus{border-color:var(--volt);box-shadow:0 0 0 4px rgba(198,255,61,.25)}
.score-inp::placeholder{color:rgba(255,255,255,.3)}
.score-sep{font-family:var(--fd);font-size:22px;font-weight:800;color:var(--border2)}

/* ── PARTIDO CARDS ── */
.partido-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:16px}
.pcard{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);transition:box-shadow .18s}
.pcard:hover{box-shadow:0 10px 30px rgba(13,18,32,.08)}
.pcard-head{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fafbfd}
.pcard-jornada{font-size:12px;font-weight:600;color:var(--muted)}
.pcard-meta{font-size:12px;color:var(--muted)}
.pcard-body{padding:18px 16px 14px}
.pcard-teams{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.pcard-team{flex:1;text-align:center;min-width:0}
.pcard-abbr{font-family:var(--fd);font-style:italic;font-size:30px;font-weight:800;letter-spacing:.01em;line-height:1}
.pcard-name{font-size:12px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pcard-vs{font-family:var(--fd);font-style:italic;font-size:14px;font-weight:800;color:var(--border2)}
.pcard-score-row{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px}
.pcard-actions{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-top:12px;border-top:1px dashed var(--border)}
.pcard-actions span{display:inline-flex;align-items:center;gap:5px}
.pcard-actions svg.lucide{width:14px;height:14px}

/* ── CALENDARIO ── */
.cal-list{display:flex;flex-direction:column;gap:18px}
.jor-block{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.jor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap}
.jor-title{display:flex;align-items:center;gap:14px;min-width:0}
.jor-num{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:var(--ink);color:var(--volt);font-family:var(--fd);font-style:italic;font-size:20px;font-weight:800}
.jor-name{font-family:var(--fd);font-style:italic;font-size:21px;font-weight:800;text-transform:uppercase;line-height:1.1}
.jor-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px;font-size:12.5px;color:var(--muted)}
.jor-meta span{display:inline-flex;align-items:center;gap:5px}
.jor-meta svg.lucide,.prow-meta svg.lucide,.jor-rest svg.lucide{width:14px;height:14px}
.jor-actions{display:flex;gap:8px}
.jor-empty{padding:18px;font-size:13.5px;color:var(--muted)}
.jor-empty a{color:var(--accent);font-weight:600}

/* ── Rankings tabla de posiciones ── */
.rankings-wrap{overflow-x:auto;border-radius:12px;border:1px solid var(--border)}
.rankings-table{width:100%;border-collapse:collapse;font-size:13px}
.rankings-table thead tr{background:var(--bg3)}
.rankings-table th{padding:9px 10px;text-align:center;font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.rankings-table th.rk-eq{text-align:left}
.rankings-table td{padding:8px 10px;text-align:center;border-top:1px solid var(--border)}
.rankings-table td.rk-eq{text-align:left;display:flex;align-items:center;gap:8px}
.rk-alt{background:var(--bg2,var(--bg3))}
.rk-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:12px;font-weight:700;background:var(--bg3)}
.rk-gold{background:#f5c842;color:#7a5a00}
.rk-silver{background:#c0c0c0;color:#444}
.rk-bronze{background:#cd7f32;color:#fff}
.rk-logo{width:24px;height:24px;border-radius:50%;object-fit:cover;border:1.5px solid var(--border);flex-shrink:0}
.rk-logo-ph{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:9px;font-weight:700;color:#fff;flex-shrink:0}
.rk-pts{font-weight:800;font-size:14px}
.rk-pos-df{color:var(--green,#22c55e)}
.rk-neg-df{color:var(--red)}
/* ── Torneo equipos inscritos ── */
.tor-eq-grid{display:flex;flex-direction:column;gap:10px}
.tor-eq-card{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:10px;border:1px solid var(--border);background:var(--bg)}
.tor-eq-block{border-radius:12px;border:1px solid var(--border);background:var(--bg);overflow:hidden}
.tor-eq-block-head{display:flex;align-items:center;gap:12px;padding:12px 16px}
.tor-eq-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.tor-eq-nombre{font-weight:700;font-size:14px}
.tor-eq-jug{font-size:12.5px;color:var(--muted)}
.ij-jug-list{border-top:1px solid var(--border);padding:6px 0}
.ij-jug-row{display:flex;align-items:center;gap:8px;padding:5px 16px}
.ij-jug-row:hover{background:var(--hover)}
.ij-jug-row.ij-excluido{opacity:.5}
.ij-num{font-size:12px;font-weight:700;color:var(--muted);min-width:28px;text-align:center;background:var(--surface);border-radius:4px;padding:1px 4px}
.ij-nombre{flex:1;font-size:13px}
.ij-tag-ex{font-size:10.5px;color:var(--red);font-weight:600;margin-left:4px}

/* ── Torneo calendario estilo demo-snap ── */
.tor-jornada{border-radius:12px;border:1px solid var(--border);overflow:hidden;background:var(--bg)}
.tor-jor-head{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg2);border-bottom:1px solid var(--border)}
.tor-jor-label{font-weight:700;font-size:14px;letter-spacing:.03em}
.tor-pars{display:flex;flex-direction:column;gap:0}
.tor-pcard{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s}
.tor-pcard:last-child{border-bottom:none}
.tor-pcard:hover{background:var(--bg2)}
.tor-pc-meta{display:flex;gap:12px;font-size:12px;color:var(--muted)}
.tor-pc-meta span{display:inline-flex;align-items:center;gap:4px}
.tor-pc-meta svg.lucide{width:13px;height:13px}
.tor-pc-body{display:flex;align-items:center;gap:12px}
.tor-pc-team{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
.tor-pc-team.right{flex-direction:row-reverse;justify-content:flex-start}
.tor-pc-name{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tor-pc-team.winner .tor-pc-name{color:var(--green)}
.tor-pc-team.loser .tor-pc-name{color:var(--muted)}
.tor-pc-scores{display:flex;align-items:center;gap:6px;flex-shrink:0}
.tor-score{font-size:26px;font-weight:800;line-height:1;min-width:32px;text-align:center}
.tor-score.dim{color:var(--muted)}
.tor-score-sep{font-size:18px;color:var(--muted);font-weight:300}
.tor-pc-foot{display:flex;align-items:center;gap:8px}
.tor-badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:20px}
.tor-badge.pend{background:var(--bg3);color:var(--muted)}
.tor-badge.vivo{background:rgba(220,38,38,.1);color:#dc2626}
.tor-badge-dot{width:6px;height:6px;border-radius:50%;background:#dc2626;animation:live 1.2s infinite}
.tor-badge.final{background:rgba(22,163,74,.1);color:#16a34a}
.eq-logo-md{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--border);flex-shrink:0}
.eq-logo-md-placeholder{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;color:#fff;flex-shrink:0}
.jor-rest{display:flex;align-items:center;gap:6px;padding:10px 18px;font-size:12.5px;color:var(--muted);background:#fafbfd;border-top:1px solid var(--border)}
.eq-dot{flex-shrink:0;width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.estado-sel{font-size:12px;padding:6px 8px}

/* ── TABLA GENERAL ── */
.seg-tabs{display:inline-flex;gap:4px;padding:4px;background:var(--bg3);border-radius:12px;margin-bottom:18px}
.seg-tab{display:inline-flex;align-items:center;gap:7px;border:none;background:none;padding:8px 14px;border-radius:9px;font-family:var(--fb);font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .15s}
.seg-tab svg.lucide{width:16px;height:16px}
.seg-tab.active{background:#fff;color:var(--text);box-shadow:var(--shadow)}
.tg-table th{text-align:center}
.tg-table th:nth-child(2){text-align:left}
.tg-table td{text-align:center;font-variant-numeric:tabular-nums;font-size:14px}
.tg-table td:nth-child(2){text-align:left}
.tg-pos{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:30px;border-radius:9px;background:var(--bg3);font-family:var(--fd);font-style:italic;font-size:17px;font-weight:800}
.tg-1 .tg-pos{background:var(--ink);color:var(--volt)}
.tg-2 .tg-pos,.tg-3 .tg-pos{background:var(--ink3);color:#fff}
.tg-team{display:flex;align-items:center;gap:12px;font-weight:600}
.tg-badge{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:#fff;font-family:var(--fd);font-style:italic;font-size:12px;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.35);box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.tg-jg{font-family:var(--fd);font-size:18px;font-weight:800;color:var(--accent)}
.tg-pa{color:var(--accent);font-weight:600}
.tg-note{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:12.5px;color:var(--muted)}
.tg-note svg.lucide{width:15px;height:15px}

/* ── STATS EQUIPO / JUGADOR ── */
.eq-dot.lg{width:14px;height:14px}
.sj-top{display:flex;gap:12px;flex-wrap:wrap}
.sj-top:empty{display:none}
.sj-card{position:relative;display:flex;align-items:center;gap:12px;min-width:230px;padding:14px 16px 14px 22px;border:1px solid var(--border);border-radius:12px;background:#fff}
.sj-medal{position:absolute;left:-10px;top:-10px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-family:var(--fd);font-style:italic;font-weight:800;font-size:13px;color:#fff;background:var(--ink3)}
.sj-medal.m1{background:var(--ink);color:var(--volt)}
.sj-info{flex:1;min-width:0}
.sj-name{font-weight:600;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sj-sub{font-size:12px;color:var(--muted)}
.sj-val{font-family:var(--fd);font-style:italic;font-size:30px;font-weight:800;color:var(--accent)}
.tg-pos.sm{min-width:30px;height:26px;font-size:15px}
.sj-table th.sorted,.sj-table td.sorted{color:var(--accent);font-weight:700}
.player-cell{display:flex;align-items:center;gap:8px;white-space:nowrap}
.player-team{font-size:12px;color:var(--muted);font-weight:400}
.num-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--ink);color:#fff;font-family:var(--fd);font-size:13px;font-weight:800;flex-shrink:0;margin-right:8px}
.player-cell .num-badge{margin-right:0}
.live-table .num-badge{background:rgba(255,255,255,.12);min-width:22px;height:22px;font-size:12px}
.st-hint{font-family:var(--fb);font-style:normal;font-size:12px;font-weight:500;text-transform:none;color:var(--muted);margin-left:6px}
.st-suma{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;background:var(--bg3);font-size:13px;cursor:pointer}
.st-suma input{margin-top:3px;width:16px;height:16px;accent-color:var(--accent)}
.st-suma small{color:var(--muted)}
.btn-live{background:var(--ink);color:var(--volt)}
.btn-live:hover{background:var(--accent);color:#fff}

/* ── PARTIDO EN VIVO ── */
.live-backdrop{position:fixed;inset:0;z-index:550;background:rgba(10,14,26,.7);backdrop-filter:blur(6px);display:flex}
.live-backdrop.hidden{display:none}
.live{flex:1;margin:16px;background:#0f1422;color:#e7ebf5;border-radius:18px;overflow-y:auto;box-shadow:var(--shadow-lg);display:flex;flex-direction:column}
.live-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;background:#0f1422;border-bottom:1px solid rgba(255,255,255,.07);flex-wrap:wrap}
.live-top-left,.live-top-right{display:flex;align-items:center;gap:10px}
.live-title{font-family:var(--fd);font-style:italic;font-size:20px;font-weight:800;text-transform:uppercase}
.live-sync{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px}
.live-sync svg.lucide{width:14px;height:14px}
.live-sync.ok{background:rgba(18,183,106,.15);color:#4ade80}
.live-sync.saving{background:rgba(247,144,9,.15);color:#fbbf24}
.live-sync.err{background:rgba(240,68,56,.18);color:#f87171}
.lt-btn{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:9px;padding:8px 14px;font-family:var(--fb);font-weight:600;font-size:13px;cursor:pointer}
.lt-btn svg.lucide{width:15px;height:15px}
.lt-btn.reset{background:rgba(240,68,56,.15);color:#f87171}
.lt-btn.reset:hover{background:var(--red);color:#fff}
.lt-btn.fin{background:var(--volt);color:var(--ink)}
.lt-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:10px;background:rgba(255,255,255,.07);color:#fff;cursor:pointer}
.live-meta{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;padding:10px 20px;font-size:12.5px;color:#8b93a7;border-bottom:1px solid rgba(255,255,255,.05)}
.live-meta span{display:inline-flex;align-items:center;gap:5px}
.live-meta svg.lucide{width:14px;height:14px}
.live-estado{padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.08);color:#fff!important;font-weight:600}
.live-estado.en_curso{background:rgba(240,68,56,.2);color:#f87171!important}
.live-estado.finalizado{background:rgba(18,183,106,.18);color:#4ade80!important}
.live-board{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:22px 20px}
.live-side{display:flex;align-items:center;gap:16px}
.live-side.right{flex-direction:row-reverse;text-align:right}
.lb-grid{display:grid;grid-template-columns:repeat(2,46px);gap:6px}
.lb{height:38px;border:none;border-radius:9px;font-family:var(--fd);font-style:italic;font-size:17px;font-weight:800;cursor:pointer;color:#fff;transition:transform .08s}
.lb:active{transform:scale(.94)}
.lb.plus{background:#12b76a}
.lb.minus{background:#f04438}
.live-team{display:flex;align-items:center;gap:12px}
.live-side.right .live-team{flex-direction:row-reverse}
.live-dot{width:18px;height:18px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 3px rgba(255,255,255,.12)}
.live-dot.sm{width:11px;height:11px;margin-right:8px;box-shadow:none;display:inline-block;vertical-align:middle}
.live-team-name{font-family:var(--fd);font-style:italic;font-size:24px;font-weight:800;text-transform:uppercase;line-height:1.05}
.tf-wrap{display:flex;gap:8px;margin-top:6px}
.live-side.right .tf-wrap{justify-content:flex-end}
.tf{display:flex;align-items:center;gap:4px;padding:3px 7px;border:1px solid rgba(255,255,255,.15);border-radius:8px;font-size:10px;font-weight:700;color:#8b93a7}
.tf-dot{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.4);background:none;cursor:pointer;padding:0}
.tf-dot.used{background:var(--volt);border-color:var(--volt)}
.live-score{display:flex;align-items:center;gap:18px;font-family:var(--fd);font-style:italic;font-weight:800}
.live-score span{font-size:72px;line-height:1;font-variant-numeric:tabular-nums;min-width:70px;text-align:center}
.live-score em{font-size:22px;color:var(--volt);font-style:italic}
.live-teams{display:flex;flex-direction:column;gap:16px;padding:0 20px 24px}
.live-card{background:#151b2d;border:1px solid rgba(255,255,255,.06);border-radius:14px;overflow:hidden}
.live-scroll{overflow-x:auto;overflow-y:auto;max-height:min(58vh, 600px);position:relative}
.live-table{width:100%;border-collapse:collapse;min-width:880px;table-layout:fixed}
.live-table th{background:#1b2338;color:#8b93a7;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:10px 6px;text-align:center;border-bottom:1px solid rgba(255,255,255,.08);vertical-align:middle;position:sticky;top:0;z-index:10}
.live-table td{padding:6px 4px;text-align:center;border-bottom:1px solid rgba(255,255,255,.04);font-size:13px;color:#e7ebf5;vertical-align:middle}
.live-table tbody tr:hover td{background:rgba(255,255,255,.03)}
.live-table .lt-name{width:240px;min-width:240px;max-width:240px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;position:sticky;left:0;background:#151b2d;z-index:2;padding-left:12px;padding-right:8px}
.live-table th.lt-name{background:#1b2338;color:#fff;font-size:12px;z-index:12;position:sticky;top:0;left:0}
.live-table .lt-num{font-family:var(--fd);font-size:16px;font-weight:800;color:#8b93a7}
.live-table tfoot td{background:#1b2338;font-family:var(--fd);font-size:17px;font-weight:800;color:var(--volt);text-align:center;vertical-align:middle;position:sticky;bottom:0;z-index:8;border-top:1px solid rgba(255,255,255,.08)}
.live-table tfoot .lt-name{background:#1b2338;color:#fff;font-family:var(--fb);font-size:12px;text-transform:uppercase;position:sticky;bottom:0;left:0;z-index:9}

/* Player Cell con Foto y Nombre en 2 Líneas */
.live-player-cell{display:flex;align-items:center;gap:10px;text-align:left}
.live-player-photo-wrap{position:relative;width:38px;height:38px;flex-shrink:0;cursor:pointer;border-radius:10px;display:flex;align-items:center;justify-content:center}
.live-player-photo{width:100%;height:100%;border-radius:10px;object-fit:cover;border:1.5px solid rgba(255,255,255,.15);box-shadow:0 2px 6px rgba(0,0,0,.3);transition:transform .12s, border-color .12s}
.live-player-photo:hover{transform:scale(1.08);border-color:var(--volt)}
.live-player-no-photo{width:100%;height:100%;border-radius:10px;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:#8b93a7}
.live-player-no-photo svg{width:20px;height:20px}
.live-num-fallback{font-family:var(--fd);font-size:15px;font-weight:800;color:var(--volt)}
.live-photo-num{position:absolute;bottom:-3px;right:-4px;background:var(--volt);color:var(--ink);font-family:var(--fd);font-size:10px;font-weight:800;padding:1px 4.5px;border-radius:6px;line-height:1.1;border:1.5px solid #151b2d;box-shadow:0 1px 3px rgba(0,0,0,.4)}
.live-player-info{display:flex;flex-direction:column;line-height:1.15;min-width:0;overflow:hidden}
.live-p-name{font-family:var(--fb);font-weight:700;font-size:13px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live-p-surname{font-family:var(--fb);font-weight:500;font-size:11.5px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.02em}

/* Modal Lightbox Foto Zoom */
.modal-foto-zoom-box{max-width:380px;width:90%;padding:22px;border-radius:20px;background:#151b2d;border:1px solid rgba(255,255,255,.12);text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.65)}
.fz-card{display:flex;flex-direction:column;align-items:center;gap:14px}
.fz-img-wrap{position:relative;width:100%;max-height:55vh;border-radius:14px;overflow:hidden;background:#0f1422;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.08)}
.fz-img{width:100%;max-height:55vh;object-fit:contain;border-radius:14px}
.fz-num-badge{position:absolute;top:10px;right:10px;background:var(--volt);color:var(--ink);font-family:var(--fd);font-size:18px;font-weight:800;padding:4px 10px;border-radius:10px;box-shadow:0 4px 12px rgba(0,0,0,.5)}
.fz-no-img{width:120px;height:120px;border-radius:22px;background:#0f1422;border:2px dashed rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center}
.fz-big-num{font-family:var(--fd);font-size:44px;font-weight:800;color:var(--volt)}
.fz-meta{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}
.fz-name-row{display:flex;gap:6px;align-items:baseline;flex-wrap:wrap;justify-content:center}
.fz-p-name{font-family:var(--fd);font-size:22px;font-weight:800;color:#fff;text-transform:uppercase}
.fz-p-surname{font-family:var(--fd);font-size:22px;font-weight:800;color:var(--volt);text-transform:uppercase}
.fz-full-name{font-size:12.5px;color:#8b93a7;margin-top:2px}
.fz-team-row{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#e7ebf5;margin-top:4px}
.fz-btn-close{width:100%;padding:12px;font-size:14px;border-radius:10px;margin-top:8px}
.lt-empty{padding:22px!important;color:#8b93a7!important;font-size:13px!important}
.lt-empty strong{color:#fff}
.ctr{display:inline-flex;align-items:center;justify-content:center;gap:4px}
.cb{min-width:26px;height:26px;padding:0 5px;border:none;border-radius:7px;font-weight:700;font-size:13px;cursor:pointer;color:#fff;background:rgba(255,255,255,.08)}
.cb.plus:hover{background:#12b76a}
.cb.minus:hover{background:#f04438}
.cb:disabled{opacity:.3;cursor:default;background:rgba(255,255,255,.05)}
.cv{min-width:22px;display:inline-block;text-align:center;font-family:var(--fd);font-size:18px;font-weight:800;color:#5b6378}
.cv.has{color:#fff}
.live-check{display:inline-flex;cursor:pointer}
.live-check input{display:none}
.live-check span{width:22px;height:22px;border-radius:6px;border:2px solid rgba(255,255,255,.25)}
.live-check input:checked+span{background:var(--volt);border-color:var(--volt);box-shadow:inset 0 0 0 3px #151b2d}
@media(max-width:900px){
  .live{margin:0;border-radius:0}
  .live-board{grid-template-columns:1fr;justify-items:center}
  .live-side,.live-side.right{flex-direction:column;text-align:center}
  .live-side.right .live-team,.live-team{flex-direction:column}
  .live-side.right .tf-wrap{justify-content:center}
  .live-score span{font-size:56px}
  .live-board .live-score{order:-1}
}

/* ── BUILDER DE JORNADA ── */
.modal.modal-xl{max-width:1000px}
.form-row.cols4{grid-template-columns:1.3fr .6fr 1fr 1fr}
.jb-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:6px 0 16px;padding:14px;background:var(--bg3);border-radius:12px}
.jb-tools{display:flex;gap:8px;flex-wrap:wrap}
.jb-defaults{display:flex;gap:10px}
.jb-defaults .field{width:120px}
.jb-defaults .field input{background:#fff;padding:7px 10px}
.jb-head,.jb-row{display:grid;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr) 110px 130px 36px;gap:10px;align-items:center}
.jb-head{padding:0 12px 6px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.jb-row{padding:10px 12px;border:1px solid var(--border);border-radius:12px;margin-bottom:8px;transition:border-color .15s}
.jb-row.has-err{border-color:rgba(240,68,56,.45);background:rgba(240,68,56,.03)}
.jb-row select,.jb-row input{width:100%;background:var(--bg3);border:1.5px solid transparent;border-radius:9px;padding:8px 10px;font-family:var(--fb);font-size:13.5px;color:var(--text);outline:none}
.jb-row select:focus,.jb-row input:focus{border-color:var(--accent);background:#fff}
.jb-team{display:flex;align-items:center;gap:8px;min-width:0}
.jb-swap{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:9px;background:var(--ink);color:var(--volt);cursor:pointer}
.jb-swap svg.lucide{width:15px;height:15px}
.jb-tags{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}
.jb-tags:empty{display:none}
#jb-summary{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.tag{display:inline-flex;align-items:center;font-size:12px;font-weight:500;padding:4px 10px;border-radius:999px;line-height:1.3}
.tag-err{background:rgba(240,68,56,.1);color:var(--red)}
.tag-warn{background:rgba(247,144,9,.12);color:#b45309}
.tag-info{background:var(--accent-soft);color:var(--accent)}
.tag-ok{background:rgba(18,183,106,.1);color:var(--green)}
#jb-summary .tag{border-radius:10px;padding:8px 12px}

@media(max-width:900px){
  .prow-team{font-size:12px;gap:5px}
  .form-row.cols4{grid-template-columns:1fr 1fr}
  .jb-head{display:none}
  .jb-row{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr)}
  .jb-row>input[type=time]{grid-column:1/2}
  .jb-row>input[type=text]{grid-column:2/4}
  .jb-row>.btn-d{grid-column:3/4;justify-self:end}
  .jb-defaults{width:100%}
  .jb-defaults .field{flex:1;width:auto}
}

/* ── MODAL ── */
.modal-backdrop{position:fixed;inset:0;background:rgba(10,14,26,.55);backdrop-filter:blur(6px);z-index:500;display:flex;align-items:center;justify-content:center;padding:16px}
.modal-backdrop.hidden{display:none}
.modal{background:var(--bg2);border-radius:18px;width:100%;max-width:540px;max-height:90vh;overflow-y:auto;padding:28px;box-shadow:var(--shadow-lg);animation:modalIn .2s ease}
@keyframes modalIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.modal-lg{max-width:720px}
.modal h3{font-family:var(--fd);font-style:italic;font-size:24px;font-weight:800;text-transform:uppercase;margin-bottom:22px}
.modal-close{float:right;display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--bg3);border:none;border-radius:10px;color:var(--muted);cursor:pointer;transition:all .15s;margin:-4px -4px 0 10px}
.modal-close:hover{background:var(--ink);color:#fff}
.form-row{display:grid;gap:14px;margin-bottom:14px}
.form-row.cols2{grid-template-columns:1fr 1fr}
.form-row.cols3{grid-template-columns:1fr 1fr 1fr}
.field label{display:block;font-size:12px;font-weight:600;color:var(--text);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;background:var(--bg3);border:1.5px solid transparent;border-radius:10px;padding:10px 12px;color:var(--text);font-size:14px;font-family:var(--fb);outline:none;transition:all .18s}
.field input[type=color]{height:42px;padding:4px;cursor:pointer}
.field input[type=file]{background:#fff;border:1.5px dashed var(--border2);cursor:pointer}
.dia-check{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:500;padding:5px 10px;border-radius:7px;border:1.5px solid var(--border2);cursor:pointer;user-select:none;transition:all .15s}
.dia-check:has(input:checked){background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.dia-check input{display:none}
.eq-chip{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:4px 8px;border-radius:6px;background:var(--accent-soft);color:var(--accent);border:1px solid rgba(33,85,255,.18)}
.eq-chip button{background:none;border:none;cursor:pointer;color:var(--accent);padding:0;line-height:1;font-size:14px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 4px var(--accent-soft)}
.field input.err,.field select.err{border-color:var(--red)}
.modal-foot{display:flex;gap:10px;justify-content:flex-end;margin-top:24px;padding-top:18px;border-top:1px solid var(--border)}

/* ── TOAST ── */
#toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast{display:flex;align-items:center;gap:10px;padding:13px 18px;border-radius:12px;font-size:13.5px;font-weight:500;min-width:260px;max-width:360px;pointer-events:all;animation:toastIn .25s ease;background:var(--ink);color:#fff;box-shadow:var(--shadow-lg);border-left:4px solid var(--volt)}
.toast-ok{border-left-color:var(--volt)}
.toast-err{border-left-color:var(--red)}
.toast-info{border-left-color:var(--accent)}
@keyframes toastIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes toastOut{to{opacity:0;transform:translateY(12px)}}

/* ── SPINNER ── */
.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border2);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle}
@keyframes spin{to{transform:rotate(360deg)}}

/* ── CONFIRM ── */
.confirm-back{position:fixed;inset:0;background:rgba(10,14,26,.6);backdrop-filter:blur(6px);z-index:600;display:flex;align-items:center;justify-content:center}
.confirm-back.hidden{display:none}
.confirm-box{background:var(--bg2);border-radius:18px;padding:28px;width:380px;max-width:92vw;box-shadow:var(--shadow-lg);animation:modalIn .2s ease}
.confirm-box h4{font-family:var(--fd);font-style:italic;font-size:22px;font-weight:800;text-transform:uppercase;margin-bottom:8px}
.confirm-box p{font-size:14px;color:var(--muted);margin-bottom:22px;line-height:1.55}
.confirm-box .btns{display:flex;gap:10px;justify-content:flex-end}

/* ── RECENT TABLE ── */
.recent-section{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;margin-top:22px;box-shadow:var(--shadow)}
.recent-section .rs-head{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border);font-family:var(--fd);font-style:italic;font-size:19px;font-weight:800;text-transform:uppercase}
.recent-section .rs-head svg.lucide{color:var(--accent)}
.recent-section .tbl-wrap{box-shadow:none}
.quick-actions{display:flex;gap:10px;flex-wrap:wrap}

/* ── STATS SIDE BY SIDE ── */
.stats-teams{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
@media(max-width:640px){.stats-teams{grid-template-columns:1fr}}
.stat-team-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.stat-team-head{padding:14px 16px;border-bottom:1px solid var(--border);font-family:var(--fd);font-style:italic;font-size:20px;font-weight:800;text-transform:uppercase}
.stat-row-player{display:grid;grid-template-columns:1fr 60px 60px;gap:8px;align-items:center;padding:8px 16px;border-bottom:1px solid var(--border);font-size:13px}
.stat-row-player:last-child{border-bottom:none}
.stat-row-player input{background:var(--bg3);border:1.5px solid transparent;border-radius:8px;padding:6px;color:var(--text);font-family:var(--fd);font-size:17px;font-weight:700;text-align:center;width:100%;outline:none}
.stat-row-player input:focus{border-color:var(--accent);background:#fff}
.stat-col-head{display:grid;grid-template-columns:1fr 60px 60px;gap:8px;padding:8px 16px;background:#fafbfd;border-bottom:1px solid var(--border);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}

/* ── PANELS (usuarios / estadísticas) ── */
.panel{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:22px;box-shadow:var(--shadow)}
.panel-title{display:flex;align-items:center;gap:10px;font-family:var(--fd);font-style:italic;font-size:19px;font-weight:800;text-transform:uppercase;margin-bottom:18px}
.panel-title svg.lucide{width:20px;height:20px;color:var(--accent)}
.step-label{font-family:var(--fd);font-style:italic;font-size:13px;font-weight:800;letter-spacing:.06em;color:var(--accent);margin-bottom:4px;text-transform:uppercase}
.empty-state{text-align:center;padding:48px 20px;color:var(--muted)}
.empty-state .es-ico{width:56px;height:56px;margin:0 auto 14px;border-radius:16px;background:var(--bg3);display:flex;align-items:center;justify-content:center;color:var(--muted)}
.empty-state .es-ico svg.lucide{width:26px;height:26px}
.empty-state .es-title{font-family:var(--fd);font-style:italic;font-size:20px;font-weight:800;text-transform:uppercase;color:var(--text)}

/* ── RESPONSIVE ── */
.eq-cards-wrap,.jor-cards-wrap,.jug-cards-wrap,.st-cards-wrap,.docs-cards-wrap{display:none}

@media(max-width:768px){
  .usr-grid{grid-template-columns:1fr !important}
  .est-steps{grid-template-columns:1fr !important}
  .st-table-wrap,.eq-table-wrap,.jor-table-wrap,.jug-table-wrap,.docs-table-wrap{display:none !important}
  .st-cards-wrap,.eq-cards-wrap,.jor-cards-wrap,.jug-cards-wrap,.docs-cards-wrap{display:block !important}
  .sidebar{transform:translateX(-100%)}
  .sidebar.open{transform:none}
  .main{margin-left:0}
  .topbar{padding:0 16px;height:60px}
  .topbar-title{font-size:22px}
  #topbar-user{font-size:0;padding:4px;gap:0}
  .section{padding:18px 16px 40px}
  .stats-row{grid-template-columns:1fr 1fr;gap:12px}
  .stat-card{padding:16px}
  .stat-card .sv{font-size:36px}
  .partido-grid{grid-template-columns:1fr}
  .form-row.cols2,.form-row.cols3{grid-template-columns:1fr}
  .mobile-menu-btn{display:flex !important}
  .sidebar-overlay{display:block !important}
}
.mobile-menu-btn{display:none;width:38px;height:38px;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border);border-radius:10px;color:var(--text);cursor:pointer}
.sidebar-overlay{display:none;position:fixed;inset:0;z-index:199;background:rgba(10,14,26,.5);pointer-events:none;opacity:0;transition:opacity .2s}

/* ── LOADING ── */
.loading-row td{text-align:center;color:var(--muted);padding:32px}
.empty-row td{text-align:center;color:var(--muted);padding:28px;font-size:13.5px}

/* ── INFO BOX ── */
.info-box{background:var(--accent-soft);border:1px solid rgba(33,85,255,.18);border-radius:12px;padding:14px 16px;font-size:13.5px;color:var(--text);line-height:1.55;margin-bottom:16px}
.info-box strong{color:var(--accent)}

/* ── TOGGLE ── */
.toggle-switch{position:relative;display:inline-block;width:38px;height:22px;flex-shrink:0}
.toggle-switch input{opacity:0;width:0;height:0}
.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--border2);border-radius:999px;transition:.2s}
.toggle-slider:before{content:'';position:absolute;height:16px;width:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.toggle-switch input:checked + .toggle-slider{background:var(--green)}
.toggle-switch input:checked + .toggle-slider:before{transform:translateX(16px)}

/* ── X de modales: el ícono no atrapa el clic ── */
button svg, button svg *{pointer-events:none}
.modal-close{position:relative;z-index:2}

/* ── TIPOS DE STATS dentro de Estadísticas ── */
.st-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* ── LOGO DE EQUIPO ── */
.eq-logo{position:relative;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#fff;box-shadow:0 0 0 1px var(--border);overflow:hidden}
.eq-logo img{width:100%;height:100%;object-fit:contain;padding:3px}
.eq-logo.auto{background:#f2f4f8}
.eq-logo.auto img{position:absolute;inset:0;opacity:.18;padding:4px;filter:grayscale(1)}
.eq-logo.auto b{position:relative;font-family:var(--fd);font-style:italic;font-weight:800;font-size:11px;color:var(--text);letter-spacing:.02em}
.eq-logo.xs{width:20px;height:20px;border-radius:6px}
.eq-logo.xs.auto b{font-size:8px}
.eq-logo.sm{width:28px;height:28px;border-radius:8px}
.eq-logo.sm.auto b{font-size:10px}
.eq-logo.lg{width:52px;height:52px;border-radius:14px;box-shadow:0 0 0 3px rgba(255,255,255,.12)}
.eq-logo.lg.auto b{font-size:15px}
.eq-logo.xl{width:72px;height:72px;border-radius:18px}
.eq-logo.xl.auto b{font-size:19px}
.eq-logo-field{display:flex;align-items:center;gap:14px;padding:12px;border-radius:12px;background:var(--bg3)}

/* ── FILA DEL CALENDARIO ── */
.prow{display:flex;align-items:center;gap:10px;padding:7px 14px;border-bottom:1px solid var(--border);border-left:3px solid transparent;cursor:pointer;transition:background .12s;min-height:48px;background:var(--surface)}
.prow:hover{background:var(--bg3)}
.prow.en_curso{border-left-color:var(--red)}
.prow.finalizado{border-left-color:var(--green)}
.prow-match{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
.prow-chip{display:flex;align-items:center;gap:6px;background:#dcfce7;border-radius:20px;padding:4px 10px 4px 4px;min-width:0;flex:1}
.prow-chip.right{flex-direction:row-reverse;padding:4px 4px 4px 10px;justify-content:flex-end}
.prow-chip .eq-logo{border-radius:50%!important;flex-shrink:0}
.prow-chip-name{font-size:12px;font-weight:700;color:#166534;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.prow-scorebox{display:flex;align-items:center;gap:0;border:1.5px solid var(--border2);border-radius:8px;background:var(--surface);font-size:14px;font-weight:800;font-family:var(--fd);white-space:nowrap;flex-shrink:0;overflow:hidden}
.prow-scorebox b{padding:4px 8px;font-style:normal}
.prow-scorebox i{font-style:normal;color:var(--muted);font-size:11px;padding:0 2px;border-left:1px solid var(--border);border-right:1px solid var(--border);background:var(--bg3)}
.prow-scorebox .lose{color:var(--muted)}
.prow-meta{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);white-space:nowrap;flex-shrink:0}
.prow-meta span{display:inline-flex;align-items:center;gap:3px}
.prow-meta svg.lucide{width:11px;height:11px}
.prow-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.btn-icon{padding:6px 8px}
@media(max-width:700px){
  .prow{flex-wrap:wrap;gap:6px;padding:8px 10px}
  .prow-match{width:100%;order:1}
  .prow-meta{order:2;font-size:10px;gap:6px}
  .prow-actions{order:3;margin-left:auto}
  .prow-chip{flex:1;min-width:0}
  .prow-chip-name{max-width:70px;font-size:11px}
  .prow-scorebox{font-size:12px}
  .prow-scorebox b{padding:3px 6px}
}

/* ── PARTIDO EN VIVO · cabecera fija en todas las pantallas ── */
.live-head{position:sticky;top:0;z-index:30;background:#0f1422;border-bottom:1px solid rgba(255,255,255,.07)}
.live-head .live-top{position:static;border-bottom:none}
.live-switch{display:none}

/* ── PARTIDO EN VIVO · móvil: marcador compacto arriba, solo stats abajo ── */
@media(max-width:900px){
  .live{margin:0;border-radius:0}
  .live-top{padding:8px 10px;gap:6px;flex-wrap:nowrap}
  .live-title{display:none}
  .live-top-left,.live-top-right{gap:6px}
  .live-sync{font-size:11px;padding:3px 8px}
  .lt-btn{padding:6px 10px;font-size:12px;border-radius:8px}
  .lt-close{width:32px;height:32px}
  .live-meta{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;gap:12px;padding:6px 10px;font-size:11px;scrollbar-width:none}
  .live-meta::-webkit-scrollbar{display:none}
  .live-meta span{white-space:nowrap}
  .live-board{grid-template-columns:1fr auto 1fr;justify-items:stretch;align-items:start;gap:6px;padding:10px 10px 8px}
  .live-board .live-score{order:0;align-self:center;gap:8px}
  .live-score span{font-size:40px;min-width:44px}
  .live-score em{font-size:14px}
  .live-side,.live-side.right{flex-direction:column;align-items:center;text-align:center;gap:6px}
  .live-team,.live-side.right .live-team{flex-direction:row;gap:6px;justify-content:center;max-width:100%}
  .live-side.right .live-team{flex-direction:row-reverse}
  .live-team .eq-logo.lg{width:30px;height:30px;border-radius:8px}
  .live-team-name{font-size:14px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .live-side .live-team>div{min-width:0}
  .tf-wrap,.live-side.right .tf-wrap{justify-content:center;gap:4px;margin-top:4px}
  .tf{padding:2px 4px;font-size:9px;gap:3px}
  .tf-dot{width:11px;height:11px}
  .lb-grid{grid-template-columns:repeat(4,1fr);gap:4px;width:100%;max-width:168px;order:2}
  .lb{height:30px;font-size:13px;border-radius:7px}
  .live-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 10px 10px}
  .live-switch button{display:flex;align-items:center;justify-content:center;gap:6px;height:36px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:transparent;color:#8b93a7;font-family:var(--fb);font-weight:600;font-size:12.5px;cursor:pointer;min-width:0;transition:all .15s ease}
  .live-switch button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .live-switch button.active{background:var(--volt);border-color:var(--volt);color:var(--ink)}
  .live-switch .eq-logo.sm{width:22px;height:22px;border-radius:6px}
  .live-teams{padding:8px 6px 40px;gap:16px}
  .live-card{border-radius:10px;display:block}
  .live-scroll{max-height:min(55vh, 480px);overflow-x:auto;overflow-y:auto}
  .live-table{min-width:0;table-layout:fixed}
  .live-table th{padding:6px 0;font-size:9.5px;letter-spacing:0}
  .live-table td{padding:2px 0}
  .live-table .lt-name{width:125px;min-width:125px;max-width:125px;padding-left:6px;padding-right:4px}
  .live-table th.lt-name{font-size:10px}
  .live-table .num-badge{min-width:18px;height:18px;font-size:10px;padding:0 4px;margin-right:4px}
  .live-player-cell{gap:6px}
  .live-player-photo-wrap{width:32px;height:32px}
  .live-p-name{font-size:11.5px}
  .live-p-surname{font-size:10px}
  .live-photo-num{font-size:9px;padding:0 3px}
  .ctr{flex-direction:column-reverse;gap:0}
  .cb{min-width:26px;width:100%;height:22px;padding:0;font-size:15px;line-height:1;background:transparent;border-radius:6px;color:#cbd2e1}
  .cb:disabled{background:transparent;opacity:.25}
  .cb.plus:active{background:#12b76a;color:#fff}
  .cb.minus:active{background:#f04438;color:#fff}
  .cv{font-size:16px;min-width:0;line-height:1.1}
  .live-check span{width:20px;height:20px}
  .live-table tfoot td{font-size:14px;padding:6px 0}
  .live-table tfoot .lt-name{font-size:10px}
  .lt-empty{white-space:normal!important}
}

@media(max-width:900px){
  .live-board{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  .live-side,.live-side.right{min-width:0;width:100%}
  .live-team .eq-logo{display:none}
  .live-team,.live-side.right .live-team{width:100%;justify-content:center}
  .live-side .live-team>div{width:100%}
  .live-team-name{max-width:100%;font-size:13px;text-align:center}
  .tf-wrap,.live-side.right .tf-wrap{flex-wrap:wrap}
  .lb-grid{grid-template-columns:1fr 1fr;max-width:96px;gap:4px}
  .lb{height:28px;font-size:12.5px}
  .live-score span{font-size:38px;min-width:40px}
  .cb{height:18px;font-size:14px}
  .cv{font-size:15px}
}

/* ── SNAP TEAM ── */
.st-badge{background:rgba(198,255,61,.25);color:#3f6212}
.st-lock{display:inline-flex;align-items:center;gap:4px;color:var(--muted)}
.st-lock svg.lucide{width:16px;height:16px}

/* ── EXPEDIENTES Y COTEJO (DISEÑO NATIVO) ── */
.cotejo-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;align-items:start}
@media(max-width:820px){.cotejo-grid{grid-template-columns:1fr}}
.viewer-box{background:var(--ink);border:1px solid var(--border);border-radius:var(--r);min-height:420px;max-height:65vh;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}
.viewer-box iframe{width:100%;height:100%;border:none;min-height:420px}
.viewer-box img{max-width:100%;max-height:420px;object-fit:contain}
.viewer-foot{padding:8px 12px;background:rgba(10,14,26,.85);width:100%;display:flex;justify-content:center;gap:10px}
.cotejo-card{background:var(--bg3);border:1px solid var(--border2);border-radius:var(--r);padding:16px}
.cotejo-card h4{font-family:var(--fd);font-style:italic;font-size:16px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.cotejo-data-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:13px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border2)}
.cotejo-data-item small{display:block;color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase}
.cotejo-data-item strong{font-size:13.5px;color:var(--text)}
.badge-doc-status{font-size:11px;padding:3px 9px;border-radius:999px;font-weight:700;text-transform:uppercase;display:inline-flex;align-items:center;gap:4px}
.badge-doc-status.pendiente{background:rgba(247,144,9,.12);color:var(--yellow);border:1px solid rgba(247,144,9,.25)}
.badge-doc-status.aprobado{background:rgba(18,183,106,.12);color:var(--green);border:1px solid rgba(18,183,106,.25)}
.badge-doc-status.rechazado{background:rgba(240,68,56,.12);color:var(--red);border:1px solid rgba(240,68,56,.25)}
.motivo-chip{padding:5px 10px;border-radius:8px;font-size:11.5px;font-weight:600;cursor:pointer;background:#fff;border:1px solid var(--border2);color:var(--text);transition:all .15s}
.motivo-chip:hover{background:var(--bg3);border-color:var(--accent)}
.rechazo-panel{background:rgba(240,68,56,.05);border:1px solid rgba(240,68,56,.2);border-radius:12px;padding:14px;margin-top:12px}

/* ── PANEL DE PARTIDOS ── */
.panel-card{background:var(--bg2);border:1.5px solid var(--border);border-radius:12px;overflow:hidden;cursor:pointer;transition:box-shadow .15s,border-color .15s}
.panel-card:hover{box-shadow:var(--shadow-lg);border-color:var(--border2)}
.panel-card-head{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:var(--bg3);border-bottom:1px solid var(--border);gap:8px;flex-wrap:wrap}
.panel-card-match{display:flex;align-items:center;gap:10px;padding:12px 14px}
.panel-team{display:flex;align-items:center;gap:8px;flex:1;font-size:13px;font-weight:600;overflow:hidden}
.panel-team span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.panel-team.right{flex-direction:row-reverse;text-align:right}
.panel-team.win span{color:var(--text);font-weight:700}
.panel-team.lose span{color:var(--muted);font-weight:400}
.panel-score{display:flex;align-items:center;gap:6px;font-family:var(--fb);font-size:22px;font-weight:800;min-width:68px;justify-content:center;flex-shrink:0}
.panel-score b.dim{color:var(--muted);font-weight:500}
.panel-card-foot{display:flex;align-items:center;justify-content:space-between;padding:7px 14px;border-top:1px solid var(--border);background:var(--bg3);gap:8px}
.panel-card-foot .meta{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:11px;flex-wrap:wrap}
.panel-card-foot .meta span{display:flex;align-items:center;gap:4px}
.panel-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:4px}
@media(max-width:700px){.panel-grid{grid-template-columns:1fr}}

/* selector de estado del partido con el mismo look que el badge */
.estado-sel{border:none;cursor:pointer;font-family:inherit;appearance:none;-webkit-appearance:none;padding-right:20px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='3'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 6px center;outline:none}
.estado-sel.badge-curso::before{display:none}

/* ── LOOK & FEEL: DASHBOARD PRO EMULATION ── */
.dash-header-wrap { margin-bottom: 22px; }
.dash-title {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 24px;
  font-weight: 700;
  color: #0f172a;
  letter-spacing: -0.01em;
}

/* 4 KPIS GRID */
.dash-kpis-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 20px;
}
@media (max-width: 1024px) {
  .dash-kpis-row { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .dash-kpis-row { grid-template-columns: 1fr; }
}
.kpi-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  gap: 16px;
  cursor: pointer;
  box-shadow: 0 1px 3px rgba(0,0,0,0.03);
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.kpi-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(0,0,0,0.06);
  border-color: #cbd5e1;
}
.kpi-icon {
  width: 46px;
  height: 46px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.kpi-icon svg { width: 22px; height: 22px; }
.kpi-icon-orange { background: #ffedd5; color: #ea580c; }
.kpi-icon-green { background: #dcfce7; color: #16a34a; }
.kpi-icon-red { background: #ffe4e6; color: #e11d48; }
.kpi-icon-blue { background: #dbeafe; color: #2563eb; }
.kpi-info { display: flex; flex-direction: column; gap: 2px; }
.kpi-label {
  font-size: 11px;
  font-weight: 700;
  color: #64748b;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-family: 'Inter', sans-serif;
}
.kpi-value {
  font-size: 26px;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.1;
  font-family: 'Inter', sans-serif;
}

/* 3 PROGRESS CARDS */
.dash-progress-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}
@media (max-width: 900px) {
  .dash-progress-row { grid-template-columns: 1fr; }
}
.dash-prog-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 16px 20px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.03);
}
.dash-prog-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.dash-prog-title { font-size: 13px; font-weight: 700; color: #1e293b; }
.dash-prog-pct {
  font-size: 12px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 6px;
}
.pct-blue { background: #eff6ff; color: #2563eb; }
.pct-green { background: #f0fdf4; color: #16a34a; }
.pct-red { background: #fef2f2; color: #dc2626; }
.dash-prog-track {
  width: 100%;
  height: 8px;
  background: #f1f5f9;
  border-radius: 999px;
  overflow: hidden;
}
.dash-prog-bar {
  height: 100%;
  border-radius: 999px;
  transition: width 0.4s ease;
}
.bar-blue { background: #3b82f6; }
.bar-green { background: #22c55e; }
.bar-red { background: #ef4444; }

/* SECCIÓN ESTADO DE DOCUMENTACIÓN */
.dash-doc-section {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 22px 24px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.03);
}
.dash-section-title {
  font-family: 'Inter', sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 18px;
}
.dash-filters-bar {
  display: flex;
  gap: 12px;
  margin-bottom: 18px;
  flex-wrap: wrap;
}
.dash-filter-input-wrap {
  flex: 1;
  min-width: 220px;
  position: relative;
  display: flex;
  align-items: center;
}
.dash-filter-icon {
  position: absolute;
  left: 14px;
  width: 16px;
  height: 16px;
  color: #94a3b8;
  pointer-events: none;
}
.dash-input {
  width: 100%;
  padding: 10px 14px 10px 38px;
  background: #ffffff;
  border: 1.5px solid #e2e8f0;
  border-radius: 9px;
  font-size: 13.5px;
  color: #0f172a;
  outline: none;
  transition: all 0.15s ease;
}
.dash-input:focus, .dash-select:focus {
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59,130,246,0.12);
}
.dash-select {
  padding: 10px 14px;
  background: #ffffff;
  border: 1.5px solid #e2e8f0;
  border-radius: 9px;
  font-size: 13.5px;
  color: #334155;
  outline: none;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* TABLA PRO */
.dash-table-wrap {
  overflow-x: auto;
  border: 1px solid #f1f5f9;
  border-radius: 10px;
}
.dash-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}
.dash-table th {
  background: #f8fafc;
  color: #64748b;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 13px 16px;
  border-bottom: 1px solid #e2e8f0;
}
.dash-table td {
  padding: 13px 16px;
  border-bottom: 1px solid #f1f5f9;
  font-size: 13.5px;
  vertical-align: middle;
}
.dash-table tbody tr:hover td {
  background: #f8fafc;
}
.dash-jug-cell {
  display: flex;
  align-items: center;
  gap: 12px;
}
.dash-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  background: #e2e8f0;
  flex-shrink: 0;
  border: 1px solid #cbd5e1;
}
.dash-avatar-initials {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #f1f5f9;
  color: #475569;
  font-weight: 700;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: 1px solid #e2e8f0;
}
.dash-team-cell {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #334155;
  font-weight: 500;
}
.dash-team-icon {
  width: 15px;
  height: 15px;
  color: #3b82f6;
  flex-shrink: 0;
}
.dash-cat-chip {
  display: inline-block;
  padding: 3px 9px;
  border-radius: 6px;
  font-size: 11.5px;
  font-weight: 600;
  background: #eff6ff;
  color: #2563eb;
  border: 1px solid #dbeafe;
  margin-right: 4px;
}
.dash-doc-pill {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.02em;
}
.pill-curp { background: #2563eb; }
.pill-acta { background: #0284c7; }
.pill-ine { background: #4f46e5; }
.pill-default { background: #64748b; }

.dash-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
}
.status-pendiente {
  background: #fef3c7;
  color: #b45309;
}
.status-aprobado {
  background: #dcfce7;
  color: #15803d;
}
.status-rechazado {
  background: #fee2e2;
  color: #b91c1c;
}

.dash-actions-cell {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}
.dash-btn-action {
  width: 30px;
  height: 30px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border: none;
  transition: all 0.15s ease;
}
.dash-btn-view {
  background: #ffffff;
  border: 1px solid #cbd5e1;
  color: #475569;
}
.dash-btn-view:hover {
  background: #f1f5f9;
  border-color: #94a3b8;
}
.dash-btn-approve {
  background: #22c55e;
  color: #ffffff;
}
.dash-btn-approve:hover {
  background: #16a34a;
}
.dash-btn-reject {
  background: #ef4444;
  color: #ffffff;
}
.dash-btn-reject:hover {
  background: #dc2626;
}

/* SIDEBAR REFINEMENTS */
.nav-group-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #94a3b8;
  padding: 16px 12px 6px;
}

