/* ═══════════════════════════════════════════════════════════════
   Team umpires
   1. Admin  — tie umpire bar + per-match umpire chip (Matches tab, mt-*)
   2. Umpire — team tie cards on the umpire dashboard (utc-*)
   ═══════════════════════════════════════════════════════════════ */

/* ── 1. Admin: Matches tab ── */
.mt-umpbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin: 6px 0 10px;
    padding: 8px 12px;
    border-radius: 10px;
    border: 1px solid var(--mud-palette-lines-default);
}

.mt-umpbar-lbl {
    font-size: 0.8rem;
    font-weight: 600;
}

.mt-umpbar-hint {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.mt-umpsel {
    max-width: 240px;
    margin: 0 !important;
}

.mt-umpchip {
    display: inline-block;
    margin-top: 4px;
    padding: 1px 10px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    color: var(--mud-palette-text-secondary);
    border: 1px dashed var(--mud-palette-lines-default);
}

    .mt-umpchip:hover {
        color: var(--mud-palette-text-primary);
        border-color: var(--mud-palette-primary);
    }

.mt-umpchip--own {
    border-style: solid;
    border-color: var(--mud-palette-primary);
    color: var(--mud-palette-primary);
}

.mt-umpchip--ro {
    cursor: default;
    border-style: solid;
}

    .mt-umpchip--ro:hover {
        color: var(--mud-palette-text-secondary);
        border-color: var(--mud-palette-lines-default);
    }

/* ── 2. Umpire dashboard: team tie cards ── */
.utc-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    margin: 10px 0 12px;
}

.utc-team {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    font-size: 15px;
    min-width: 0;
}

    .utc-team span {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .utc-team i {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        flex-shrink: 0;
        display: block;
    }

.utc-team-b {
    justify-content: flex-end;
    text-align: right;
}

.utc-score {
    display: flex;
    flex-direction: column;
    align-items: center;
}

    .utc-score b {
        font-size: 22px;
        font-variant-numeric: tabular-nums;
        line-height: 1.1;
    }

    .utc-score span {
        font-size: 10.5px;
        letter-spacing: 0.06em;
        color: rgba(255, 255, 255, 0.5);
        text-transform: uppercase;
    }

.utc-segs {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.utc-seg {
    border-radius: 11px;
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.07);
    opacity: 0.6;
}

    .utc-seg.utc-mine {
        opacity: 1;
    }

    .utc-seg.utc-ready.utc-mine {
        border-color: rgba(126, 111, 255, 0.55);
        background: rgba(126, 111, 255, 0.08);
    }

    .utc-seg.utc-live {
        border-color: rgba(34, 197, 94, 0.5);
        background: rgba(34, 197, 94, 0.07);
        opacity: 1;
    }

    .utc-seg.utc-done {
        opacity: 0.75;
    }

.utc-seg-top {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.utc-seg-label {
    font-weight: 800;
    font-size: 13px;
}

.utc-seg-name {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.55);
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.utc-seg-ump {
    font-size: 11px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.6);
    white-space: nowrap;
}

.utc-mine .utc-seg-ump {
    color: #a99fff;
}

.utc-seg-players {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 6px 0 8px;
    font-size: 13.5px;
}

    .utc-seg-players span:first-child, .utc-seg-players span:last-child {
        flex: 1;
        min-width: 0;
    }

    .utc-seg-players span:last-child {
        text-align: right;
    }

.utc-seg-note {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.55);
}

.utc-live-note {
    color: #4ade80;
    font-weight: 600;
}

.utc-seg .ucp-btn {
    padding: 10px;
}

    .utc-seg .ucp-btn[disabled] {
        opacity: 0.6;
        cursor: default;
    }

/* ── 3. Court portal (shared tablet): every match on the court is actionable ── */
.utc-seg.utc-court {
    opacity: 1;
}

    .utc-seg.utc-court.utc-done {
        opacity: 0.7;
    }

.utc-confirm {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(251, 191, 36, 0.1);
    border: 1px solid rgba(251, 191, 36, 0.35);
    font-size: 13px;
    color: #fde68a;
}

    .utc-confirm strong {
        color: #fff;
    }

.utc-error {
    margin: 0 0 10px;
    padding: 8px 12px;
    border-radius: 9px;
    background: rgba(239, 68, 68, 0.12);
    border: 1px solid rgba(239, 68, 68, 0.35);
    color: #fca5a5;
    font-size: 12.5px;
}

/* ── 4. Courts tab: court tablet link (inside each included court card) ── */
.ct-tablet-row {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 6px;
}

.ct-tablet-btn {
    flex: 1;
    padding: 3px 8px;
    border-radius: 6px;
    border: 1px solid var(--mud-palette-lines-default);
    background: transparent;
    color: var(--mud-palette-text-secondary);
    font-size: 10.5px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}

    .ct-tablet-btn:hover {
        color: var(--mud-palette-primary);
        border-color: var(--mud-palette-primary);
    }

.ct-tablet-open {
    padding: 2px 7px;
    border-radius: 6px;
    border: 1px solid var(--mud-palette-lines-default);
    color: var(--mud-palette-text-secondary);
    font-size: 11px;
    text-decoration: none;
}

    .ct-tablet-open:hover {
        color: var(--mud-palette-primary);
        border-color: var(--mud-palette-primary);
    }

/* ── 5. Relay catch-up floor (audit visibility) ── */

/* Matches tab / tie page: "from 15–7 · catch-up +2 Team 5" under a relay score */
.mt-relaystart {
    display: block;
    margin-top: 2px;
    font-size: 0.7rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.mt-relaystart--cu {
    color: #f59e0b;
    font-weight: 700;
}

/* Umpire start screen */
.relay-catchup-banner {
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(251, 191, 36, 0.12);
    border: 1px solid rgba(251, 191, 36, 0.45);
    color: #fde68a;
    font-size: 13px;
    line-height: 1.5;
}

    .relay-catchup-banner .rcb-title {
        font-weight: 800;
        color: #fbbf24;
        margin-bottom: 2px;
    }

    .relay-catchup-banner .rcb-sub {
        font-size: 12px;
        color: rgba(253, 230, 138, 0.8);
        margin-top: 4px;
    }

    .relay-catchup-banner b {
        color: #fff;
    }

/* Umpire live screen */
.relay-catchup-chip {
    margin: 6px auto 0;
    width: fit-content;
    padding: 4px 12px;
    border-radius: 999px;
    background: rgba(251, 191, 36, 0.14);
    border: 1px solid rgba(251, 191, 36, 0.45);
    color: #fde68a;
    font-size: 12px;
    font-weight: 600;
}

/* Umpire match summary: relay breakdown */
.relay-summary {
    margin: 4px 0 16px;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    text-align: left;
    font-size: 13px;
}

    .relay-summary .rs-head {
        display: flex;
        justify-content: space-between;
        font-size: 10px;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: rgba(255, 255, 255, 0.4);
        margin-bottom: 6px;
    }

    .relay-summary .rs-row {
        display: flex;
        justify-content: space-between;
        padding: 4px 0;
        border-top: 1px solid rgba(255, 255, 255, 0.06);
        color: rgba(255, 255, 255, 0.8);
    }

    .relay-summary .rs-l {
        color: rgba(255, 255, 255, 0.55);
    }

    .relay-summary .rs-catch, .relay-summary .rs-catch .rs-l {
        color: #fbbf24;
        font-weight: 700;
    }

    .relay-summary .rs-final {
        font-size: 15px;
        color: #facc15;
        font-weight: 800;
    }

        .relay-summary .rs-final .rs-l {
            color: #facc15;
        }
