html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

h1:focus {
    outline: none;
}

a, .btn-link {
    color: #0071c1;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.btn-danger {
    background-color: #CC0000;
    border-color: #CC0000;
}

.floating-buttons {
    margin-top: 1rem;
}

@media (max-width: 768px) {
    .floating-buttons {
        position: fixed;
        bottom: 1rem;
        left: 1rem;
        z-index: 2000;
        display: flex;
        gap: 0.5rem;
    }
}

.desktop-only {
    display: block;
}

.mobile-only {
    display: none;
}

@media (max-width: 768px) {
    .desktop-only {
        display: none;
    }

    .mobile-only {
        display: block;
    }
}

/* ===== Admin grouped match view ===== */

.admin-month-header {
    background-color: #003366;
    color: white;
    border-radius: 6px;
    cursor: pointer;
    user-select: none;
    transition: background-color 0.15s;
}

.admin-month-header:hover {
    background-color: #004a94;
}

.admin-chevron {
    font-size: 0.8rem;
    opacity: 0.75;
}

.admin-week-header {
    background-color: #e8f0fe;
    border-left: 4px solid #003366;
    border-radius: 0 4px 4px 0;
    color: #003366;
    font-weight: 500;
    cursor: pointer;
    user-select: none;
    transition: background-color 0.15s;
}

.admin-week-header:hover {
    background-color: #d0e2ff;
}

.admin-day-row td {
    background-color: #f8f9fa;
    font-size: 0.82rem;
    color: #444;
    border-top: 1px solid #dee2e6;
}

.admin-day-label {
    background-color: #f8f9fa;
    font-size: 0.82rem;
    color: #444;
    border-radius: 4px;
    border-left: 3px solid #adb5bd;
}

/* ===== End admin grouped match view ===== */

#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI4Mi4xMDYgNjcuNzY1OEMyODMuNzAzIDY5LjM1MzggMjgzLjcwMyA3MS45NjA4IDI4Mi4xMDYgNzMuNTQ4OEwyNjYuNjA2IDg5LjA0ODhDMjY1LjgxMyA4OS44MzA4IDI2NC43MTcgOTAuMzE0OCAyNjMuNTA2IDkwLjMxNDhIMjU0LjUwNkMyNTMuMjk1IDkwLjMxNDggMjUyLjE5OSA4OS44MzA4IDI1MS40MDYgODkuMDQ4OEwyMzUuOTA2IDczLjU0ODhDMjM0LjMwOSA3MS45NjA4IDIzNC4zMDkgNjkuMzUzOCAyMzUuOTA2IDY3Ljc2NThMMjUxLjQwNiA1Mi4yNjU4QzI1Mi4xOTkgNTEuNDgzNyAyNTMuMjk1IDUxIDI1NC41MDYgNTFIMjYzLjUwNloiIGZpbGw9IiNGRjgxMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik0yNjMuNTAzIDY2LjMxODRIMjU0LjUwMkMyNTQuMDMzIDY2LjMxODQgMjUzLjU4MyA2Ni41MTc4IDI1My4yNTIgNjYuODQ1NEwyNDUuMzg1IDc0LjcxMTZMMjUzLjI1MiA4Mi41Nzc4QzI1My41ODMgODIuOTA1NCAyNTQuMDMzIDgzLjEwNDggMjU0LjUwMiA4My4xMDQ4SDI2My41MDNDMJY0LjA2NyA4My4xMDQ4IDI2NC40MjIgODIuOTAxNCAyNjQuNzUzIDgyLjU3NzhMMjcyLjYxOSA3NC43MTE2TDI2NC43NTMgNjYuODQ1NEMyNjQuNDIyIDY2LjUxNzggMjY0LjA2NyA2Ni4zMTg0IDI2My41MDMgNjYuMzE4NFoiIGZpbGw9IiNGQ0UxMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }
