/* Öffentliche Turnierseite – Farben wie die App (#233677), eckige Kanten */
:root {
    --turnier-blau: #233677;
    --turnier-rot: #c8102e;
}

body {
    background: #f2f3f7;
}

.btn, .form-control, .form-select, .card, .alert, .badge {
    border-radius: 0;
}

.btn-primary {
    background: var(--turnier-blau);
    border-color: var(--turnier-blau);
}

.btn-primary:hover, .btn-primary:focus {
    background: #1a2859;
    border-color: #1a2859;
}

.turnier-kopf {
    background: var(--turnier-blau);
    color: #fff;
}

.turnier-kopf a {
    color: #fff;
    text-decoration: none;
}

.turnier-kopf img {
    height: 44px;
}

.turnier-inhalt {
    background: #fff;
    padding: 1.5rem;
}

/* Raster Durchgang × Bahn */
.raster {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    margin-bottom: 1.5rem;
}

.raster th, .raster td {
    border: 1px solid #d5d8e3;
    padding: .35rem;
    text-align: center;
    vertical-align: middle;
    font-size: .9rem;
}

.raster th:first-child, .raster td:first-child {
    width: 4.5rem;
}

.raster thead th {
    background: #e8eaf2;
}

.raster-frei {
    background: #fff;
}

.raster-belegt {
    background: repeating-linear-gradient(45deg, #eceef3, #eceef3 6px, #e2e5ec 6px, #e2e5ec 12px);
    color: #6c757d;
}

.raster-eigen {
    background: #dbe4ff;
    font-weight: bold;
}

.raster-bisher {
    background: #fff3cd;
}

.raster-vorschau {
    outline: 3px solid var(--turnier-rot);
    outline-offset: -3px;
}

.raster .btn {
    padding: .1rem .5rem;
    font-size: .85rem;
}

.raster-legende span {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    vertical-align: middle;
    border: 1px solid #d5d8e3;
    margin-right: .25rem;
}

@media (max-width: 576px) {
    .turnier-inhalt {
        padding: 1rem;
    }

    .raster th, .raster td {
        font-size: .75rem;
        padding: .2rem;
    }
}

/* Öffentlicher Spielplan: Farbe nach Wertung (gleich wie in der Verwaltung) */
.raster-m { background: #d1e7dd; }
.raster-w { background: #f8d7e4; }
.raster-x { background: #fff3cd; }
.raster-unbestaetigt { background: #fff; }

/* Land klein unter dem Mannschaftsnamen */
.raster-land {
    font-size: .75rem;
    font-weight: normal;
    color: #6c757d;
    line-height: 1.1;
}

/* Bestätigungsfenster beim Buchen/Verschieben (<dialog data-turnier-bestaetigung>) */
.turnier-dialog {
    border: 0;
    border-radius: 0;
    padding: 1.5rem;
    width: calc(100% - 2rem);
    max-width: 440px;
    box-shadow: 0 .5rem 2rem rgba(0, 0, 0, .3);
}

.turnier-dialog::backdrop {
    background: rgba(0, 0, 0, .45);
}
