/* SPOKAZ Live Score */
.spk-live-wrap { max-width: 100%; }

/* ── 헤더 ── */
.spk-live-header {
    background: linear-gradient(135deg, #0c2d5e, #1a6dff);
    border-radius: var(--spk-radius);
    padding: 16px 20px; color: #fff; margin-bottom: 10px;
}
.spk-live-header h2 {
    margin: 0 0 4px; font-size: 20px; font-weight: 900;
    letter-spacing: 3px; color: #fff;
}
.spk-live-header p { margin: 0; font-size: 12px; color: rgba(255,255,255,0.7); }

/* ── 툴바 ── */
.live-toolbar {
    display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
    padding: 10px 16px; margin-bottom: 8px;
    background: var(--spk-card); border-radius: var(--spk-radius);
    box-shadow: var(--spk-shadow);
}
.live-date-nav { display: flex; align-items: center; gap: 8px; }
.live-date-btn {
    padding: 5px 12px; border: 1.5px solid var(--spk-line); border-radius: 8px;
    background: #fff; font-size: 11px; font-weight: 700; color: var(--spk-text);
    cursor: pointer; transition: all .15s;
}
.live-date-btn:hover { background: var(--spk-primary); color: #fff; border-color: var(--spk-primary); }
.live-date-display { font-size: 14px; font-weight: 900; color: var(--spk-text); min-width: 130px; text-align: center; }
.live-filters { display: flex; align-items: center; gap: 10px; }
.live-check { font-size: 11px; font-weight: 600; color: var(--spk-text); cursor: pointer; display: flex; align-items: center; gap: 4px; }
.live-check input { cursor: pointer; }
.live-select {
    padding: 5px 8px; border: 1.5px solid var(--spk-line); border-radius: 8px;
    font-size: 11px; background: #fff; outline: none;
}
.live-count { font-size: 11px; font-weight: 800; color: var(--spk-primary); }
.live-auto { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.live-updated { font-size: 10px; color: var(--spk-muted); }

/* ── 경기 테이블 ── */
.live-content { }
.live-loading { padding: 50px; text-align: center; color: var(--spk-muted); font-size: 13px; }

.live-table {
    width: 100%; border-collapse: collapse;
    background: var(--spk-card); border-radius: var(--spk-radius);
    box-shadow: var(--spk-shadow); overflow: hidden;
}
.live-table thead { position: sticky; top: 0; z-index: 5; }
.live-table th {
    padding: 7px 8px; font-size: 9px; font-weight: 700;
    text-align: center; white-space: nowrap;
    background: linear-gradient(180deg, #f0f2f5, #e4e7ec);
    color: #888; border-bottom: 2px solid #ddd;
    text-transform: uppercase; letter-spacing: .5px;
}
.live-table th.th-left { text-align: left; }
.live-table th.th-right { text-align: right; }

.live-table td {
    padding: 5px 8px; font-size: 11px;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: middle; white-space: nowrap;
}
.live-table tr:hover td { background: rgba(26,109,255,.015); }
.live-table tr.row-live td { background: rgba(255,45,85,.02); }
.live-table tr.row-divider td {
    padding: 6px 12px; font-size: 10px; font-weight: 800;
    color: #888; background: #f4f5f7; border-bottom: 2px solid #ddd;
    letter-spacing: 1px; text-transform: uppercase;
}

/* 일자 */
.td-date { font-size: 10px; color: #999; font-weight: 600; text-align: center; width: 60px; }

/* 리그 */
.td-league { white-space: nowrap; }
.td-league-inner { display: flex; align-items: center; gap: 5px; }
.td-sport-icon { font-size: 14px; line-height: 1; flex-shrink: 0; }
.td-league-logo { width: 14px; height: 14px; flex-shrink: 0; }
.td-league-logo img { width: 100%; height: 100%; object-fit: contain; }
.td-league-name { font-size: 10px; font-weight: 700; color: #777; max-width: 80px; overflow: hidden; text-overflow: ellipsis; }

/* 진행시간 */
.td-status { width: 44px; text-align: center; font-weight: 800; }
.status-live { color: #ff2d55; animation: liveBlink 1s infinite; }
@keyframes liveBlink { 0%,100%{opacity:1} 50%{opacity:.4} }
.status-ft { color: #999; font-size: 10px; }
.status-ns { color: #1a6dff; font-size: 10px; }

/* 홈팀 (오른쪽 정렬) */
.td-home {
    text-align: right; font-weight: 700; color: var(--spk-text);
    max-width: 150px; overflow: hidden; text-overflow: ellipsis;
}
.td-home-inner { display: inline-flex; align-items: center; gap: 5px; justify-content: flex-end; }
.td-team-logo { width: 16px; height: 16px; flex-shrink: 0; }
.td-team-logo img { width: 100%; height: 100%; object-fit: contain; }

/* 배당/스코어 중앙 */
.td-odd { width: 40px; text-align: center; font-size: 10px; font-weight: 700; color: #777; }
.td-odd.odd-fav { color: #1a6dff; }
.td-center {
    width: 50px; text-align: center; font-weight: 900;
}
.center-vs { color: #ccc; font-size: 10px; }
.center-score { font-size: 14px; color: var(--spk-text); letter-spacing: 1px; }
.center-score.is-live { color: #ff2d55; }
.center-score-ht { font-size: 8px; color: #bbb; font-weight: 600; display: block; }

/* 원정팀 (왼쪽 정렬) */
.td-away {
    text-align: left; font-weight: 700; color: var(--spk-text);
    max-width: 150px; overflow: hidden; text-overflow: ellipsis;
}
.td-away-inner { display: inline-flex; align-items: center; gap: 5px; }

/* 라운드/정보 */
.td-info { font-size: 9px; color: #bbb; max-width: 100px; overflow: hidden; text-overflow: ellipsis; }

/* ── 반응형 ── */
@media (max-width: 768px) {
    .live-toolbar { padding: 8px 10px; gap: 6px; }
    .live-table td { padding: 4px 5px; font-size: 10px; }
    .td-home, .td-away { max-width: 90px; }
    .td-info { display: none; }
    .td-team-logo { width: 14px; height: 14px; }
}
@media (max-width: 480px) {
    .td-odd { display: none; }
    .td-date { font-size: 9px; width: 44px; }
}
