/* Contrôles partagés : console arbitre, correction du score, formulaire de match. Hub et application distante. */

/* --- Console arbitre : score sur la moitié haute, boutons sur le reste --- */
.umpire-page {
    height: 100vh;
    display: flex;
    flex-direction: column;
}

.umpire-page .score-host {
    flex: 0 0 50vh;
    height: 50vh;
}

.umpire-controls {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 2vh;
    padding: 2vh 3vw;
}

.umpire-controls .actions {
    flex: 1;
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2vw;
}

.umpire-controls .actions.single {
    grid-template-columns: 1fr;
}

.umpire-controls button {
    border: none;
    border-radius: 1.5vh;
    color: white;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1vh;
    padding: 0 1vw;
    min-width: 0;
    overflow: hidden;
}

.umpire-controls .actions button {
    font-size: clamp(1.2rem, min(5vh, 4vw), 3rem);
    background: #2e7d32;
}

.umpire-controls .actions button.player-b {
    background: #1565c0;
}

.umpire-controls .actions button .plus {
    font-size: 1.6em;
}

.umpire-controls .corrections {
    display: flex;
    gap: 2vw;
}

.umpire-controls .corrections {
    flex-shrink: 0;
}

/* Sur un téléphone étroit, « Annuler la dernière action » passe sur plusieurs lignes : le bouton grandit au lieu de rogner. */
.umpire-controls .corrections button {
    flex: 1;
    min-height: 9vh;
    padding: 0.6vh 1vw;
    line-height: 1.15;
    font-size: clamp(0.95rem, min(3vh, 4.6vw), 1.6rem);
    background: #b71c1c;
}

.umpire-controls .corrections button.edit {
    background: #455a64;
}

.umpire-controls button:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.umpire-controls .error {
    margin: 0;
    text-align: center;
}

/* --- QR code d'un lien (composant QrImage) --- */
.qr {
    display: block;
    margin: 0 auto;
    width: min(260px, 70vw);
    height: auto;
    border-radius: 0.4rem;
}

/* --- Formulaire de création de match --- */
.umpire-console {
    max-width: 480px;
    margin: 2rem auto;
    padding: 1rem;
    text-align: center;
}

.umpire-console .actions {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 2rem 0;
}

.umpire-console button {
    font-size: 1.5rem;
    padding: 1rem;
    border-radius: 0.5rem;
    border: none;
    cursor: pointer;
    background: #2e7d32;
    color: white;
}

.umpire-console button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.new-match label {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-bottom: 1rem;
    text-align: left;
}

.new-match input,
.new-match select {
    font-size: 1.2rem;
    padding: 0.6rem;
    border-radius: 0.5rem;
    border: none;
}

/* --- Correction manuelle du score --- */
.edit-score {
    max-width: 560px;
}

.edit-score h3 {
    margin: 1.5rem 0 0.5rem;
    text-align: left;
}

.edit-score .score-grid {
    display: grid;
    grid-template-columns: 5rem 1fr 1fr;
    gap: 0.75rem;
    align-items: center;
    margin-bottom: 0.5rem;
    text-align: left;
}

.edit-score .score-grid .who {
    font-weight: 700;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.edit-score .score-grid input,
.edit-score .score-grid select {
    min-width: 0;
    text-align: center;
}

.edit-score .edit-buttons {
    display: flex;
    gap: 0.75rem;
}

.edit-score .edit-buttons button,
.umpire-console button.secondary {
    flex: 1;
    font-size: 1rem;
    background: #455a64;
}
