﻿/* ════════════════════════════════════════════════════════════════
   TournamentStandingsTab.css
   Linked from App.razor.

   Thin wrapper around the existing EventStandingsTab. Only styles
   the chrome: section card, header row with title + dropdown,
   sub-line showing event chip + name + match progress.

   Everything inside .tst-body comes from EventStandingsTab's own
   styles (.est-*) — we don't restyle that. This file is small on
   purpose.
═══════════════════════════════════════════════════════════════ */

.tst-root {
    font-family: 'DM Sans', sans-serif;
    padding: 4px 0 40px;
}

/* ── Loading / empty ───────────────────────────────────────── */
.tst-loading {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 48px 24px;
    color: var(--mud-palette-text-secondary);
    font-size: 13px;
    justify-content: center;
}

.tst-loading-label {
    font-family: 'DM Sans', sans-serif;
}

.tst-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 64px 24px;
    text-align: center;
}

.tst-empty-icon {
    font-size: 44px !important;
    width: 44px !important;
    height: 44px !important;
    color: var(--mud-palette-text-disabled);
    opacity: 0.5;
}

.tst-empty-title {
    font-family: 'Sora', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}

.tst-empty-sub {
    font-size: 12px;
    color: var(--mud-palette-text-disabled);
    max-width: 420px;
    line-height: 1.5;
}

/* ════════════════════════════════════════════════════════════
   SECTION CARD (matches the rest of the dashboard's shell)
═══════════════════════════════════════════════════════════ */
.tst-card {
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 12px;
    overflow: hidden;
}

/* ── Header ────────────────────────────────────────────────── */
.tst-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px 12px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.tst-header-left {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.tst-header-icon {
    font-size: 16px !important;
    width: 16px !important;
    height: 16px !important;
    color: var(--mud-palette-text-secondary);
    flex-shrink: 0;
}

.tst-header-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.tst-header-count {
    font-family: 'DM Mono', monospace;
    font-size: 10px;
    color: var(--mud-palette-text-secondary);
}

.tst-header-right {
    flex-shrink: 0;
}

/* MudSelect is rendered as a wrapper; tighten the input itself
   so it doesn't dwarf the rest of the header. */
.tst-event-select .mud-input-control {
    font-size: 12px;
}

/* ── Sub-line (under header, above table) ──────────────────── */
.tst-subline {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: var(--mud-palette-background-grey);
    border-bottom: 1px solid var(--mud-palette-lines-default);
    font-size: 12px;
}

.tst-ev-chip {
    display: inline-flex;
    align-items: center;
    font-family: 'DM Mono', monospace;
    font-size: 10px;
    font-weight: 700;
    padding: 1px 7px;
    border-radius: 4px;
    border: 1px solid;
    flex-shrink: 0;
}

.tst-subline-name {
    font-weight: 500;
    color: var(--mud-palette-text-primary);
}

.tst-subline-sep {
    color: var(--mud-palette-text-disabled);
    font-size: 12px;
    margin: 0 2px;
}

.tst-subline-meta {
    font-family: 'DM Mono', monospace;
    font-size: 11px;
    color: var(--mud-palette-text-secondary);
}

.tst-subline-empty {
    font-size: 11px;
    color: var(--mud-palette-text-disabled);
    font-style: italic;
}

/* ── Body — wraps the embedded EventStandingsTab ───────────── */
.tst-body {
    padding: 16px;
}

    /* Reset some EventStandingsTab outer padding/margins so it fits
   cleanly inside our card. EventStandingsTab was designed to live
   directly on the EventDashboard page background — when embedded
   here, its own outer padding doubles up. */
    .tst-body .est-root {
        padding: 0;
    }
