:root{--tl-navy:#001489;--tl-red:#e8400c;--tl-green:#16a34a;--tl-blue:#2563eb;--tl-bg:#f0f2f5;--tl-white:#fff;--tl-border:rgba(0,0,0,.08);--tl-border2:rgba(0,0,0,.14);--tl-text:#111827;--tl-text2:#4b5563;--tl-text3:#9ca3af;--tl-font:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif}

/* ── Base ── */
.tenis-livescore,.tenis-ranking,.tenis-radar-inner,.tenis-autoinject-block{font-family:var(--tl-font);font-size:14px;color:var(--tl-text);background:var(--tl-white);border:1px solid var(--tl-border2);border-radius:10px;overflow:hidden;margin-bottom:20px}
.tenis-auto-inject{width:100%}
.tenis-autoinject-block{margin-bottom:20px}

/* ── Loading ── */
.tenis-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px;color:var(--tl-text3);font-size:13px}
.tenis-spinner{width:20px;height:20px;border:2px solid var(--tl-border2);border-top-color:var(--tl-navy);border-radius:50%;animation:tl-spin .7s linear infinite;flex-shrink:0}
@keyframes tl-spin{to{transform:rotate(360deg)}}
.tenis-empty{padding:32px;text-align:center;color:var(--tl-text3);font-size:13px}

/* ── Live dot ── */
.tenis-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--tl-red);animation:tl-blink 1.2s infinite;flex-shrink:0}
@keyframes tl-blink{0%,100%{opacity:1}50%{opacity:.2}}

/* ── Header / Tabs ── */
.tenis-ls-header{display:flex;align-items:center;padding:0 14px;border-bottom:1px solid var(--tl-border);background:#fafafa;overflow-x:auto;scrollbar-width:none}
.tenis-ls-header::-webkit-scrollbar{display:none}
.tenis-ls-tabs{display:flex;flex-shrink:0}
.tenis-tab{padding:10px 13px;font-size:12px;font-weight:500;color:var(--tl-text3);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:5px;transition:all .15s}
.tenis-tab:hover{color:var(--tl-text)}
.tenis-tab.active{color:var(--tl-navy);border-bottom-color:var(--tl-navy);font-weight:600}
.tenis-tab-cnt{background:var(--tl-red);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;padding:0 4px;border-radius:20px;display:inline-flex;align-items:center;justify-content:center}
.tenis-updated{margin-left:auto;font-size:11px;color:var(--tl-text3);padding-left:12px;white-space:nowrap;flex-shrink:0}

/* ── Section labels ── */
.tenis-section-lbl{display:flex;align-items:center;gap:7px;padding:6px 14px;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid var(--tl-border)}
.tenis-lbl-live{background:#fff5f5;color:var(--tl-red)}
.tenis-lbl-today{background:#eff6ff;color:var(--tl-blue)}
.tenis-lbl-fin{background:#f9fafb;color:var(--tl-text3)}

/* ── Tournament group ── */
.tenis-tour-group{border-bottom:2px solid var(--tl-border)}
.tenis-tour-group:last-child{border-bottom:none}
.tenis-tour-head{display:flex;align-items:center;gap:7px;padding:6px 14px;background:#fafafa;border-bottom:1px solid var(--tl-border)}
.tenis-tour-name{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ── Badges ── */
.tenis-badge{font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:20px;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;flex-shrink:0}
.tenis-surface{font-size:9px;font-weight:700;text-transform:uppercase;padding:2px 7px;border-radius:20px;margin-left:auto;flex-shrink:0}
.tenis-srf-hard{background:#dbeafe;color:#1e40af}
.tenis-srf-clay{background:#ffedd5;color:#7c2d12}
.tenis-srf-grass{background:#dcfce7;color:#14532d}

/* ── Match row ── */
.tenis-match{display:grid;grid-template-columns:64px 1fr auto auto;align-items:center;padding:0 14px;min-height:66px;border-bottom:1px solid var(--tl-border);transition:background .1s;cursor:pointer;position:relative}
.tenis-match:last-child{border-bottom:none}
.tenis-match:hover{background:#f8faff}
.tenis-match-live::before{content:'';position:absolute;left:0;top:8px;bottom:8px;width:3px;background:var(--tl-red);border-radius:0 2px 2px 0}

/* Status */
.tenis-match-time{display:flex;flex-direction:column;gap:3px;padding:8px 0}
.tenis-status-live{font-size:11px;font-weight:600;color:var(--tl-red);display:flex;align-items:center;gap:4px}
.tenis-status-fin{font-size:11px;color:var(--tl-text3)}
.tenis-status-sch{font-size:12px;font-weight:600;color:var(--tl-blue)}
.tenis-pts{font-size:10px;font-weight:600;color:#b45309;background:#fffbeb;border:1px solid #fde68a;padding:1px 5px;border-radius:4px}

/* Players */
.tenis-match-players{display:flex;flex-direction:column;padding:8px 0;min-width:0}
.tenis-player{display:flex;align-items:center;gap:6px;padding:3px 0;min-width:0}
.tenis-player+.tenis-player{border-top:1px solid var(--tl-border)}
.tenis-player-w .tenis-pname{font-weight:700;color:var(--tl-text)}
.tenis-serve{width:7px;height:7px;border-radius:50%;background:transparent;flex-shrink:0}
.tenis-serve-on{background:var(--tl-green);box-shadow:0 0 0 2px #dcfce7}
.tenis-flag{font-size:14px;line-height:1;flex-shrink:0}
.tenis-pname{font-size:13px;color:var(--tl-text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tenis-round{font-size:10px;color:var(--tl-text3);white-space:nowrap}

/* Sets */
.tenis-match-sets{display:flex;gap:3px;padding-left:10px;flex-shrink:0}
.tenis-set-col{display:flex;flex-direction:column;gap:3px}
.tenis-set{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:12px;font-weight:600;background:#f9fafb;color:var(--tl-text3);border:1px solid var(--tl-border)}
.tenis-set-won{background:#fff;color:var(--tl-text);border-color:#d1d5db;font-weight:700}
.tenis-set-cur{background:#dcfce7;color:var(--tl-green);border-color:#86efac}

/* Match detail */
.tenis-match-detail{border-top:1px solid var(--tl-border);border-bottom:2px solid var(--tl-navy);background:#f8faff;animation:tl-slide .2s ease}
@keyframes tl-slide{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.tenis-h2h{padding:16px;text-align:center}
.tenis-h2h-score{font-size:24px;font-weight:800;color:var(--tl-navy)}

/* ── Ranking ── */
.tenis-ranking-inner{padding:0}
.tenis-rank-head{padding:10px 14px;background:#fafafa;border-bottom:1px solid var(--tl-border)}
.tenis-rank-search{width:100%;padding:7px 12px;border:1px solid #e5e7eb;border-radius:7px;font-size:13px;font-family:var(--tl-font);outline:none}
.tenis-rank-search:focus{border-color:var(--tl-navy)}
.tenis-rank-table{width:100%;border-collapse:collapse}
.tenis-rank-table thead th{padding:6px 10px;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--tl-text3);background:#fafafa;border-bottom:1px solid var(--tl-border);text-align:left}
.tenis-rank-row{border-bottom:1px solid var(--tl-border);transition:background .1s;cursor:pointer}
.tenis-rank-row:last-child{border-bottom:none}
.tenis-rank-row:hover{background:#f5f7ff}
.tenis-rank-row td{padding:7px 10px;vertical-align:middle;font-size:13px}
.tenis-rank-pos{font-size:12px;font-weight:700;color:var(--tl-text3)}
.tenis-rank-name{font-weight:500}
.tenis-rank-country{font-size:12px;color:var(--tl-text2)}
.tenis-rank-pts{font-weight:600;text-align:right}

/* ── Radar ── */
.tenis-radar-inner{overflow:hidden;background:var(--tl-white);border:1px solid var(--tl-border2);border-radius:10px;margin-bottom:20px}
.tenis-radar-head{display:flex;align-items:center;gap:10px;padding:12px 14px;background:linear-gradient(135deg,#001489 0%,#0a1f8f 100%)}
.tenis-radar-flag{font-size:24px;line-height:1}
.tenis-radar-title{font-size:13px;font-weight:700;color:#fff;flex:1}
.tenis-radar-cnt{font-size:11px;color:rgba(255,255,255,.6);background:rgba(255,255,255,.12);padding:2px 9px;border-radius:20px}
.tenis-player-local .tenis-pname{font-weight:700;color:var(--tl-navy)}
.tenis-radar-tour{display:flex;flex-direction:column;align-items:flex-end;gap:3px;padding-left:8px;flex-shrink:0}
.tenis-radar-tour small{font-size:10px;color:var(--tl-text3);max-width:90px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ── Responsive ── */
@media(max-width:600px){
    .tenis-match{grid-template-columns:56px 1fr auto;padding:0 10px}
    .tenis-set{width:18px;height:18px;font-size:10px}
    .tenis-radar-tour{display:none}
}

/* ══════════════════════════════════════════════════
   MATCH DETAIL PANEL — Dark mode overlay
══════════════════════════════════════════════════ */
:root {
  --md-bg:            #12141a;
  --md-surface:       #1c1f28;
  --md-surface2:      #252831;
  --md-border:        rgba(255,255,255,.08);
  --md-text:          #f0f2f7;
  --md-text2:         #9ba3b8;
  --md-text3:         #5c6480;
  --md-set-won-bg:    #1e4d30;
  --md-set-won-text:  #6ee09a;
  --md-set-lost-bg:   #23262f;
  --md-set-lost-text: #6b7290;
  --md-clay:          #8b4a2a;
  --md-accent:        #4f8ef7;
  --md-gold:          #f5c842;
  --md-green-dot:     #3ddc84;
}

/* Overlay container */
.tenis-detail-overlay {
    position:fixed; inset:0; z-index:99999;
    background:rgba(0,0,0,.6);
    display:flex; align-items:flex-end; justify-content:center;
    animation:tmd-fade-in .2s ease;
}
@keyframes tmd-fade-in { from{opacity:0} to{opacity:1} }

.tenis-detail-panel {
    width:100%; max-width:520px; max-height:92vh;
    background:var(--md-bg); border-radius:16px 16px 0 0;
    overflow-y:auto; overflow-x:hidden;
    animation:tmd-slide-up .25s ease;
    scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.1) transparent;
}
@keyframes tmd-slide-up { from{transform:translateY(60px);opacity:0} to{transform:translateY(0);opacity:1} }

/* Header */
.tmd-wrap { font-family:var(--tl-font); font-size:14px; color:var(--md-text); }
.tmd-header { background:var(--md-surface); padding:14px 16px 10px; border-bottom:0.5px solid var(--md-border); }
.tmd-header-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
.tmd-back { background:none; border:none; color:var(--md-text2); font-size:13px; cursor:pointer; display:flex; align-items:center; gap:6px; padding:0; font-family:var(--tl-font); }
.tmd-back:hover { color:var(--md-text); }
.tmd-icon { width:30px; height:30px; background:var(--md-surface2); border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:14px; cursor:pointer; }
.tmd-header-icons { display:flex; gap:8px; }
.tmd-tournament { text-align:center; }
.tmd-tournament-name { font-size:12px; font-weight:500; color:var(--md-text2); text-transform:uppercase; letter-spacing:.04em; }
.tmd-tournament-round { font-size:11px; color:var(--md-text3); margin-top:2px; }

/* Hero */
.tmd-hero { background:var(--md-surface); padding:18px 16px 0; border-bottom:0.5px solid var(--md-border); }
.tmd-players { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; margin-bottom:14px; }
.tmd-player { display:flex; flex-direction:column; align-items:center; gap:5px; }
.tmd-avatar { width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:500; }
.tmd-avatar-p1 { background:#1a2f4a; color:#7ab8f5; }
.tmd-avatar-p2 { background:#2a1a3a; color:#c07af5; }
.tmd-player-name { font-size:13px; font-weight:500; text-align:center; color:var(--md-text); line-height:1.3; }
.tmd-player-info { font-size:11px; color:var(--md-text3); }
.tmd-vs { font-size:12px; color:var(--md-text3); font-weight:500; letter-spacing:.06em; }

/* Score bar */
.tmd-score-bar { display:grid; grid-template-columns:1fr auto 1fr; gap:4px; margin-bottom:10px; }
.tmd-score-block { border-radius:8px; padding:8px 10px; text-align:center; }
.tmd-score-win  { background:var(--md-set-won-bg); }
.tmd-score-lose { background:var(--md-set-lost-bg); }
.tmd-score-sets { font-size:18px; font-weight:500; }
.tmd-score-win  .tmd-score-sets { color:var(--md-set-won-text); }
.tmd-score-lose .tmd-score-sets { color:var(--md-set-lost-text); }
.tmd-score-name { font-size:10px; margin-top:3px; color:var(--md-text3); text-transform:uppercase; letter-spacing:.04em; }
.tmd-score-sep  { display:flex; align-items:center; font-size:11px; color:var(--md-text3); padding:0 2px; }

/* W/L blocks */
.tmd-wl-row { display:grid; grid-template-columns:1fr 1fr; gap:4px; }
.tmd-wl { padding:14px 12px; display:flex; flex-direction:column; justify-content:flex-end; min-height:68px; position:relative; overflow:hidden; }
.tmd-wl-win  { background:var(--md-clay); }
.tmd-wl-lose { background:#1e1a14; }
.tmd-wl-letter { font-size:58px; font-weight:700; line-height:1; position:absolute; right:8px; bottom:-4px; opacity:.22; }
.tmd-wl-win  .tmd-wl-letter { color:var(--md-gold); }
.tmd-wl-lose .tmd-wl-letter { color:#9ba3b8; }
.tmd-wl-label { font-size:10px; font-weight:500; letter-spacing:.07em; text-transform:uppercase; position:relative; z-index:1; }
.tmd-wl-win  .tmd-wl-label { color:rgba(255,255,255,.5); }
.tmd-wl-lose .tmd-wl-label { color:var(--md-text3); }
.tmd-wl-name { font-size:13px; font-weight:500; margin-top:3px; position:relative; z-index:1; }
.tmd-wl-win  .tmd-wl-name { color:#fff; }
.tmd-wl-lose .tmd-wl-name { color:var(--md-text2); }

.tmd-live-badge { display:flex; align-items:center; gap:7px; padding:10px 16px; background:rgba(232,64,12,.1); font-size:12px; font-weight:500; color:#f08060; }
.tmd-court-bar  { display:flex; justify-content:space-between; padding:7px 16px; background:var(--md-surface2); border-top:0.5px solid var(--md-border); font-size:10px; color:var(--md-text3); text-transform:uppercase; letter-spacing:.06em; }

/* Tabs */
.tmd-tabs { display:flex; background:var(--md-surface); border-bottom:0.5px solid var(--md-border); }
.tmd-tab  { flex:1; padding:11px 4px; text-align:center; font-size:13px; font-weight:500; color:var(--md-text3); background:none; border:none; border-bottom:2px solid transparent; cursor:pointer; font-family:var(--tl-font); transition:all .15s; }
.tmd-tab:hover  { color:var(--md-text2); }
.tmd-tab.active { color:var(--md-accent); border-bottom-color:var(--md-accent); }

/* Panels */
.tmd-panel { background:var(--md-bg); }
.tmd-section-label { padding:7px 16px; font-size:10px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--md-text3); background:var(--md-surface2); border-bottom:0.5px solid var(--md-border); }
.tmd-empty { padding:32px; text-align:center; font-size:13px; color:var(--md-text3); }

/* H2H */
.tmd-h2h-row { display:flex; gap:10px; padding:11px 16px; border-bottom:0.5px solid var(--md-border); align-items:flex-start; }
.tmd-h2h-year { font-size:12px; font-weight:500; color:var(--md-text3); min-width:34px; padding-top:2px; }
.tmd-h2h-info { flex:1; }
.tmd-h2h-tour { font-size:13px; font-weight:500; color:var(--md-text); }
.tmd-h2h-meta { font-size:11px; color:var(--md-text3); margin-top:2px; }
.tmd-h2h-right { text-align:right; }
.tmd-h2h-score { font-size:12px; font-weight:500; color:var(--md-text); margin-top:3px; }
.tmd-h2h-winner { font-size:10px; color:var(--md-set-won-text); margin-top:2px; }
.tmd-surface-badge { display:inline-block; font-size:10px; font-weight:500; padding:2px 7px; border-radius:20px; }
.tmd-surf-hard  { background:#1a2f4a; color:#7ab8f5; }
.tmd-surf-clay  { background:#3a1f0a; color:#d4834a; }
.tmd-surf-grass { background:#1a3520; color:#5dca8a; }

/* Punto a punto */
.tmd-pt-row { padding:10px 16px; border-bottom:0.5px solid var(--md-border); }
.tmd-pt-game-label { font-size:11px; color:var(--md-text3); margin-bottom:5px; }
.tmd-pt-points { display:flex; gap:3px; margin-bottom:3px; }
.tmd-pt-point { width:26px; height:22px; display:flex; align-items:center; justify-content:center; border-radius:4px; font-size:11px; font-weight:500; background:var(--md-surface2); color:var(--md-text2); position:relative; }
.tmd-pt-win   { background:rgba(245,200,66,.15); color:var(--md-gold); }
.tmd-pt-serve { background:rgba(61,220,132,.1);  color:var(--md-green-dot); }
.tmd-pt-serve i { width:5px; height:5px; border-radius:50%; background:var(--md-green-dot); position:absolute; top:2px; right:2px; font-style:normal; display:block; }

/* Stats */
.tmd-stats-header { display:flex; justify-content:space-between; align-items:center; padding:10px 16px; font-size:11px; border-bottom:0.5px solid var(--md-border); background:var(--md-surface2); }
.tmd-stats-p1-lbl { font-weight:500; color:#7ab8f5; }
.tmd-stats-mid-lbl{ color:var(--md-text3); letter-spacing:.04em; text-transform:uppercase; font-size:10px; }
.tmd-stats-p2-lbl { font-weight:500; color:#c07af5; }
.tmd-stat-row { padding:9px 16px; border-bottom:0.5px solid var(--md-border); }
.tmd-stat-label { text-align:center; font-size:11px; color:var(--md-text3); margin-bottom:5px; }
.tmd-stat-body { display:grid; grid-template-columns:40px 1fr 40px; align-items:center; gap:8px; }
.tmd-stat-v1 { font-size:14px; font-weight:500; color:var(--md-text); text-align:right; }
.tmd-stat-v2 { font-size:14px; font-weight:500; color:var(--md-text); text-align:left; }
.tmd-stat-bars { display:flex; flex-direction:column; gap:3px; }
.tmd-stat-bars > div { height:5px; border-radius:3px; background:var(--md-surface2); position:relative; overflow:hidden; }
.tmd-bar-p1 { height:100%; background:#4f8ef7; border-radius:3px; position:absolute; right:0; }
.tmd-bar-p2 { height:100%; background:#c07af5; border-radius:3px; position:absolute; left:0; }

/* Match info */
.tmd-info-grid { padding:14px 16px; display:flex; flex-direction:column; gap:0; }
.tmd-info-row { display:grid; grid-template-columns:1fr auto 1fr; padding:9px 0; border-bottom:0.5px solid var(--md-border); align-items:center; }
.tmd-info-row:last-child { border-bottom:none; }
.tmd-info-v1  { font-size:13px; color:var(--md-text); text-align:left; }
.tmd-info-lbl { font-size:10px; color:var(--md-text3); text-align:center; text-transform:uppercase; letter-spacing:.06em; }
.tmd-info-v2  { font-size:13px; color:var(--md-text); text-align:right; }

/* ══════════════════════════════════════════════════
   MATCH DETAIL PANEL — Dark mode overlay
══════════════════════════════════════════════════ */
:root {
  --md-bg: #12141a;
  --md-surface: #1c1f28;
  --md-surface2: #252831;
  --md-surface3: #2e3140;
  --md-border: rgba(255,255,255,0.08);
  --md-border2: rgba(255,255,255,0.14);
  --md-text: #f0f2f7;
  --md-text2: #9ba3b8;
  --md-text3: #5c6480;
  --md-set-won-bg: #1e4d30;
  --md-set-won-text: #6ee09a;
  --md-set-lost-bg: #23262f;
  --md-set-lost-text: #6b7290;
  --md-clay: #7a3a1a;
  --md-accent: #4f8ef7;
  --md-gold: #f5c842;
  --md-green-dot: #3ddc84;
}

.tenis-panel-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,.6);
  z-index: 99998;
  animation: tl-fade-in .2s ease;
}
@keyframes tl-fade-in { from{opacity:0} to{opacity:1} }

.tenis-panel-wrap {
  position: fixed;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 100%; max-width: 480px;
  max-height: 90vh;
  overflow-y: auto;
  z-index: 99999;
  border-radius: 16px 16px 0 0;
  animation: tl-slide-up .25s cubic-bezier(.32,1,.23,1);
  scrollbar-width: none;
}
.tenis-panel-wrap::-webkit-scrollbar { display: none; }
@keyframes tl-slide-up {
  from { transform: translateX(-50%) translateY(60px); opacity: 0; }
  to   { transform: translateX(-50%) translateY(0);   opacity: 1; }
}

/* ── Componente md ── */
.md { background: var(--md-bg); color: var(--md-text); font-family: var(--tl-font); font-size: 14px; border-radius: 16px 16px 0 0; overflow: hidden; }
.md-header { background: var(--md-surface); padding: 14px 16px 10px; border-bottom: 0.5px solid var(--md-border); }
.md-header-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.md-back { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--md-text2); cursor: pointer; }
.md-back-arrow { width: 22px; height: 22px; background: var(--md-surface2); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; border: 0.5px solid var(--md-border2); }
.md-header-icons { display: flex; gap: 8px; }
.md-icon { width: 30px; height: 30px; background: var(--md-surface2); border-radius: 8px; display: flex; align-items: center; justify-content: center; cursor: pointer; border: 0.5px solid var(--md-border); font-size: 13px; color: var(--md-text2); }
.md-tournament { text-align: center; margin-top: 4px; }
.md-tournament-name { font-size: 12px; font-weight: 500; color: var(--md-text2); letter-spacing: .04em; text-transform: uppercase; }
.md-tournament-round { font-size: 11px; color: var(--md-text3); margin-top: 2px; }

.md-hero { background: var(--md-surface); padding: 20px 16px 0; border-bottom: 0.5px solid var(--md-border); }
.md-players { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; margin-bottom: 16px; }
.md-player { display: flex; flex-direction: column; align-items: center; gap: 5px; }
.md-player-r { align-items: flex-end; }
.md-avatar { width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 500; border: 2px solid var(--md-border2); }
.md-avatar-p1 { background: #1a2f4a; color: #7ab8f5; }
.md-avatar-p2 { background: #2a1a3a; color: #c07af5; }
.md-player-name { font-size: 12px; font-weight: 500; color: var(--md-text); text-align: center; line-height: 1.3; }
.md-player-info { font-size: 11px; color: var(--md-text3); }
.md-vs { font-size: 11px; font-weight: 500; color: var(--md-text3); letter-spacing: .06em; }

.md-score-bar { display: grid; grid-template-columns: 1fr auto 1fr; gap: 4px; margin-bottom: 10px; }
.md-score-block { border-radius: 8px; padding: 8px 10px; text-align: center; }
.md-score-block-win { background: var(--md-set-won-bg); }
.md-score-block-lose { background: var(--md-set-lost-bg); }
.md-score-sets { font-size: 18px; font-weight: 500; line-height: 1; }
.md-score-sets-win { color: var(--md-set-won-text); }
.md-score-sets-lose { color: var(--md-set-lost-text); }
.md-score-label { font-size: 10px; margin-top: 3px; color: var(--md-text3); text-transform: uppercase; letter-spacing: .04em; }

.md-wl-row { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.md-wl-block { padding: 14px 12px; display: flex; flex-direction: column; justify-content: flex-end; min-height: 68px; position: relative; overflow: hidden; }
.md-wl-win { background: var(--md-clay); }
.md-wl-lose { background: #1e1a14; }
.md-wl-letter { font-size: 60px; font-weight: 700; line-height: 1; position: absolute; right: 8px; bottom: -4px; opacity: .2; }
.md-wl-letter-w { color: #f5c842; }
.md-wl-letter-l { color: #9ba3b8; }
.md-wl-label { font-size: 10px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; position: relative; z-index: 1; }
.md-wl-label-win { color: rgba(255,255,255,.45); }
.md-wl-label-lose { color: var(--md-text3); }
.md-wl-name { font-size: 13px; font-weight: 500; margin-top: 3px; position: relative; z-index: 1; }
.md-wl-name-win { color: #fff; }
.md-wl-name-lose { color: var(--md-text2); }

.md-live-banner { display: flex; align-items: center; gap: 8px; padding: 12px 16px; background: rgba(226,85,85,.1); border-top: 0.5px solid rgba(226,85,85,.2); color: #e87070; font-size: 13px; font-weight: 500; }
.md-pts-live { margin-left: auto; font-size: 16px; color: var(--md-gold); font-weight: 500; }

.md-court-bar { display: flex; justify-content: space-between; padding: 8px 16px; background: var(--md-surface2); border-top: 0.5px solid var(--md-border); }
.md-court-name { font-size: 10px; font-weight: 500; letter-spacing: .07em; text-transform: uppercase; color: var(--md-text3); }
.md-duration { font-size: 11px; color: var(--md-text2); }

.md-tabs { display: flex; background: var(--md-surface); border-bottom: 0.5px solid var(--md-border); }
.md-tab { flex: 1; padding: 12px 4px; text-align: center; font-size: 13px; font-weight: 500; color: var(--md-text3); cursor: pointer; border-bottom: 2px solid transparent; transition: all .15s; }
.md-tab.active { color: var(--md-accent); border-bottom-color: var(--md-accent); }

.md-tab-content { background: var(--md-bg); }
.md-h2h-summary { padding: 14px 16px 10px; border-bottom: 0.5px solid var(--md-border); }
.md-h2h-bar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.md-h2h-name { font-size: 11px; color: var(--md-text3); max-width: 100px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.md-h2h-score-big { font-size: 20px; font-weight: 500; color: var(--md-text); }
.md-h2h-score-big span { font-size: 11px; color: var(--md-text3); }
.md-h2h-prog-wrap { height: 5px; background: #c07af566; border-radius: 3px; overflow: hidden; }
.md-h2h-prog-fill { height: 100%; background: #7ab8f5; border-radius: 3px; }
.md-h2h-section { padding: 8px 14px; font-size: 10px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--md-text3); background: var(--md-surface2); border-bottom: 0.5px solid var(--md-border); border-top: 0.5px solid var(--md-border); }
.md-h2h-row { padding: 10px 16px; border-bottom: 0.5px solid var(--md-border); display: flex; align-items: flex-start; gap: 10px; }
.md-h2h-year { font-size: 12px; color: var(--md-text3); min-width: 32px; padding-top: 2px; }
.md-h2h-info { flex: 1; }
.md-h2h-tournament { font-size: 13px; font-weight: 500; color: var(--md-text); }
.md-h2h-meta { font-size: 11px; color: var(--md-text3); margin-top: 2px; }
.md-h2h-right { text-align: right; }
.md-h2h-score { font-size: 12px; font-weight: 500; color: var(--md-text); margin-top: 2px; }
.md-h2h-surface { font-size: 10px; font-weight: 500; padding: 2px 7px; border-radius: 20px; display: inline-block; margin-bottom: 3px; }
.surf-hard  { background: #1a2f4a; color: #7ab8f5; }
.surf-clay  { background: #3a1f0a; color: #d4834a; }
.surf-grass { background: #1a3520; color: #5dca8a; }

.md-pt-row { padding: 10px 16px; border-bottom: 0.5px solid var(--md-border); }
.md-pt-game-header { display: flex; justify-content: space-between; margin-bottom: 6px; }
.md-pt-game-label { font-size: 11px; color: var(--md-text3); }
.md-pt-game-score { font-size: 11px; font-weight: 500; color: var(--md-text2); }
.md-pt-points-row { display: flex; gap: 3px; margin-bottom: 3px; }
.md-pt-point { width: 26px; height: 22px; display: flex; align-items: center; justify-content: center; border-radius: 4px; font-size: 11px; font-weight: 500; background: var(--md-surface2); color: var(--md-text2); position: relative; }
.md-pt-point-win { background: rgba(245,200,66,.15); color: var(--md-gold); }
.md-pt-point-serve { background: rgba(61,220,132,.1); color: var(--md-green-dot); }
.md-pt-serve-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--md-green-dot); position: absolute; top: 3px; right: 3px; }

.md-stats-sub { display: flex; background: var(--md-surface2); border-bottom: 0.5px solid var(--md-border); }
.md-stats-sub-tab { flex: 1; padding: 10px 4px; text-align: center; font-size: 12px; color: var(--md-text3); cursor: pointer; border-bottom: 2px solid transparent; transition: all .15s; }
.md-stats-sub-tab.active { color: var(--md-accent); border-bottom-color: var(--md-accent); }
.md-stat-row { padding: 10px 16px; border-bottom: 0.5px solid var(--md-border); }
.md-stat-label { text-align: center; font-size: 11px; color: var(--md-text3); margin-bottom: 6px; }
.md-stat-values { display: grid; grid-template-columns: 1fr 80px 1fr; align-items: center; gap: 8px; }
.md-stat-p1 { font-size: 14px; font-weight: 500; text-align: right; }
.md-stat-p2 { font-size: 14px; font-weight: 500; text-align: left; }
.md-stat-bars { display: flex; flex-direction: column; gap: 4px; }
.md-stat-bar-wrap { height: 5px; background: var(--md-surface2); border-radius: 3px; position: relative; overflow: hidden; }
.md-stat-bar-p1 { height: 100%; position: absolute; right: 0; border-radius: 3px; }
.md-stat-bar-p2 { height: 100%; position: absolute; left: 0; border-radius: 3px; }

.md-match-info { padding: 14px 16px; background: var(--md-surface); }
.md-info-grid { display: grid; grid-template-columns: 1fr auto 1fr; }
.md-info-p1,.md-info-p2 { padding: 8px 10px; font-size: 13px; color: var(--md-text); border-bottom: 0.5px solid var(--md-border); }
.md-info-p1 { background: rgba(79,142,247,.06); }
.md-info-p2 { background: rgba(192,122,245,.06); text-align: right; }
.md-info-mid { padding: 8px 6px; text-align: center; font-size: 10px; color: var(--md-text3); border-bottom: 0.5px solid var(--md-border); }
.md-info-label { font-size: 10px; color: var(--md-text3); margin-bottom: 1px; }
.md-info-val-win { color: #5dca8a; font-weight: 500; }
