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

a, .btn-link {
    color: #0d6efd;
}

.content {
    padding-top: 1.1rem;
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.page {
    min-height: 100vh;
}

.main-shell {
    min-height: 100vh;
}

.login-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
}

.login-card {
    width: 100%;
    max-width: 420px;
    background: #fff;
    border-radius: 16px;
    padding: 2rem;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);
}

.login-subtitle {
    color: #6c757d;
    margin-bottom: 1.5rem;
}

.login-form {
    margin-top: 1rem;
}

.redirect-note {
    padding: 2rem;
}

.nav-menu-icon {
    width: 1.25rem;
    margin-right: 0.5rem;
}

.nav-link-button {
    width: 100%;
    background: none;
    border: 0;
    text-align: left;
}

.blazor-error-boundary {
    background: #b32121;
    padding: 1rem 1rem 1rem 1rem;
    color: white;
}

.blazor-error-boundary::after {
    content: "Произошла ошибка.";
}
