:root{
  --bg:#0d1117;--surface:#161b22;--surface2:#1c2330;--border:#30363d;
  --text:#e6edf3;--muted:#8b949e;--accent:#1f8ae0;--accent-soft:rgba(31,138,224,.12);
  --accent-soft-2:rgba(31,138,224,.06);--danger:#f85149;--danger-soft:rgba(248,81,73,.12);
  --success:#3fb950;--success-soft:rgba(63,185,80,.12);--warning:#d29922;
  --warning-soft:rgba(210,153,34,.12);--warning-text:#e3b341;--shadow:0 1px 4px rgba(0,0,0,.5);--r:8px;
}
[data-theme=light]{--bg:#f0f4f8;--surface:#fff;--surface2:#f0f4f8;--border:#d0d7de;--text:#1f2328;--muted:#636c76;--shadow:0 1px 3px rgba(0,0,0,.1);--accent-soft:rgba(31,138,224,.08);--accent-soft-2:rgba(31,138,224,.04);--danger-soft:rgba(248,81,73,.08);--success-soft:rgba(63,185,80,.08);--warning-soft:rgba(210,153,34,.08)}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Segoe UI',system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:14px;min-height:100vh}
input,select,button,textarea{font-family:inherit;font-size:inherit}
/* HEADER */
.hdr{display:flex;align-items:center;gap:14px;padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;box-shadow:var(--shadow)}
.hdr-crest{width:38px;height:38px;border-radius:50%;background:#003B8E;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:12px;color:#c8a84b;flex-shrink:0;border:2px solid #c8a84b;flex-shrink:0}
.hdr h1{font-size:16px;font-weight:700;white-space:nowrap}.hdr h1 span{color:var(--accent)}
.hdr-sub{font-size:11px;color:var(--muted)}
.hdr-right{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
/* TABS */
.tabs{display:flex;gap:2px;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{padding:10px 13px;cursor:pointer;white-space:nowrap;color:var(--muted);font-size:13px;font-weight:500;border-bottom:2px solid transparent;transition:.15s}
.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.badge{background:var(--accent);color:#fff;border-radius:10px;padding:1px 6px;font-size:10px;font-weight:700;margin-left:4px}
.badge.warn{background:var(--warning)}
/* MAIN */
.main{padding:20px;max-width:1500px;margin:0 auto}
.panel{display:none}.panel.active{display:block}
/* CARDS */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:16px;margin-bottom:14px;box-shadow:var(--shadow)}
.card-title{font-size:14px;font-weight:700;margin-bottom:4px;display:flex;align-items:center;gap:8px}
.card-sub{font-size:12px;color:var(--muted);margin-bottom:12px}
/* GRID */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
/* FORMS */
.field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.field label{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.4px}
.inp{background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:8px 12px;border-radius:6px;font-size:13px;width:100%}
.inp:focus{outline:none;border-color:var(--accent)}
.inp::placeholder{color:var(--muted)}
.inp-mono{font-family:monospace;font-size:12px}
/* BUTTONS */
.btn{background:var(--accent);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:600;font-size:13px;transition:opacity .15s;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
.btn:hover{opacity:.85}.btn:disabled{opacity:.4;cursor:not-allowed}
.btn-sm{padding:5px 11px;font-size:12px}
.btn-sec{background:var(--surface2);color:var(--text);border:1px solid var(--border)}
.btn-sec:hover{border-color:var(--accent);color:var(--accent)}
.btn-danger{background:var(--danger);color:#fff;border:none}
.btn-success{background:var(--success);color:#fff;border:none}
/* TOOLBAR */
.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.search{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:8px 12px;border-radius:6px;font-size:13px;min-width:160px}
.search:focus{outline:none;border-color:var(--accent)}
.filt{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:8px 10px;border-radius:6px;font-size:13px;cursor:pointer}
.ml{margin-left:auto}
/* TABLE */
.tw{overflow-x:auto;border-radius:var(--r);border:1px solid var(--border)}
table{width:100%;border-collapse:collapse;font-size:13px}
th{background:var(--surface2);padding:9px 12px;text-align:left;font-weight:600;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--border);white-space:nowrap;user-select:none;cursor:pointer}
th:hover{color:var(--text)}
td{padding:8px 12px;border-bottom:1px solid var(--border);vertical-align:middle}
tr:last-child td{border-bottom:none}
tr:hover td{background:var(--surface2)}
th.num,td.num{text-align:right}
/* PILLS */
.pill{display:inline-block;padding:2px 7px;border-radius:10px;font-size:11px;font-weight:700}
.p-blue{background:var(--accent-soft);color:var(--accent)}
.p-red{background:var(--danger-soft);color:var(--danger)}
.p-yellow{background:var(--warning-soft);color:var(--warning-text)}
.p-green{background:var(--success-soft);color:var(--success)}
.p-gray{background:rgba(139,148,158,.15);color:var(--muted)}
.p-orange{background:rgba(245,166,35,.18);color:#f5a623}
/* CATEGORIA */
.cat-Aplus{background:rgba(245,166,35,.2);color:#f5a623;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:800}
.cat-A{background:var(--success-soft);color:var(--success);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700}
.cat-B{background:var(--accent-soft);color:var(--accent);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700}
.cat-C{background:rgba(139,148,158,.18);color:var(--muted);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700}
/* MEDALS */
.m1 td:first-child{border-left:3px solid #ffd700}.m2 td:first-child{border-left:3px solid #c0c0c0}.m3 td:first-child{border-left:3px solid #cd7f32}
.m1{background:linear-gradient(90deg,rgba(255,215,0,.06),transparent)}
.m2{background:linear-gradient(90deg,rgba(192,192,192,.06),transparent)}
.m3{background:linear-gradient(90deg,rgba(205,127,50,.06),transparent)}
/* IMPORT PROGRESS */
.prog-box{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r);padding:12px;margin-top:10px;display:none;max-height:300px;overflow-y:auto}
.prog-row{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px;border-bottom:1px solid var(--border)}
.prog-row:last-child{border-bottom:none}
.prog-ico{width:18px;text-align:center;flex-shrink:0}
/* STATUS */
.status{font-size:12px;margin-top:7px;min-height:16px;color:var(--muted)}
.status.ok{color:var(--success)}.status.err{color:var(--danger)}.status.spin{color:var(--accent)}
/* CONV LIST */
.conv-list{display:flex;flex-direction:column;gap:5px}
.import-item{background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:10px 14px;display:flex;align-items:center;gap:10px}
.import-item:hover{border-color:var(--accent)}
/* EMPTY */
.empty{text-align:center;padding:40px;color:var(--muted)}
.empty .icon{font-size:34px;margin-bottom:8px}
/* FICHA */
.ficha-hdr{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.ficha-av{width:52px;height:52px;border-radius:50%;background:var(--accent-soft);border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:var(--accent);flex-shrink:0}
.ficha-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:18px}
.ficha-stat{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r);padding:12px;text-align:center}
.ficha-stat .snum{font-size:26px;font-weight:700;color:var(--accent)}
.ficha-stat .slbl{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-top:2px}
/* KPI */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:18px}
.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:16px;text-align:center}
.kpi .big{font-size:34px;font-weight:700;color:var(--accent)}
.kpi .sm{font-size:11px;color:var(--muted);margin-top:3px}
.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:14px;margin-bottom:14px}
.chart-title{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:10px}
/* AVISO */
.aviso{background:var(--warning-soft);border:1px solid var(--warning);border-radius:8px;padding:10px 14px;font-size:12px;color:var(--warning-text);margin-bottom:12px}
.aviso-danger{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}
/* EQUIPOS CONFIG */
.eq-row{display:grid;grid-template-columns:1fr 140px 28px;gap:6px;align-items:center;padding:5px 0;border-bottom:1px solid var(--border)}
.eq-row:last-child{border-bottom:none}
/* TOAST */
.toast{position:fixed;bottom:22px;right:22px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:11px 16px;font-size:13px;color:var(--text);box-shadow:0 4px 20px rgba(0,0,0,.35);transform:translateY(80px);opacity:0;transition:all .25s;max-width:360px;z-index:9999;pointer-events:none}
.toast.show{transform:translateY(0);opacity:1}
.toast.terr{border-color:var(--danger);color:var(--danger)}
.toast.tok{border-color:var(--success);color:var(--success)}
/* MODAL */
.overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:200;align-items:center;justify-content:center}
.overlay.open{display:flex}
.modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:26px;max-width:520px;width:calc(100% - 24px);box-shadow:0 20px 60px rgba(0,0,0,.5);max-height:90vh;overflow-y:auto}
.modal h2{font-size:17px;font-weight:700;margin-bottom:5px}
.modal .sub{font-size:12px;color:var(--muted);margin-bottom:16px}
.mfooter{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
/* TEMPORADAS */
.temp-card{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:14px;margin-bottom:10px}
.temp-card.active-season{border-color:var(--accent)}
