body.gray-bg {
    background-color: var(--hp-color-surface-200);
}

.middle-box {
    max-width: 360px;
    z-index: 100;
     margin: 40px auto 0;
    padding: 20px;
}

.loginscreen.middle-box {
    width: 100%;
}

.loginscreen .form-control {
    min-height: 42px;
}

.block {
    display: block;
}

.full-width {
    width: 100% !important;
}

.m-b {
    margin-bottom: 15px;
}

.or-container {
    align-items: center;
    color: var(--hp-color-text-muted);
    display: flex;
    margin: 14px 0;
}

.line-separator {
    background-color: var(--hp-color-light-gray);
    flex-grow: 1;
    height: 1px;
}

.or-label {
    flex-grow: 0;
    margin: 0 12px;
}

.btn-google {
    border: 1px solid var(--hp-color-border-default);
    border-radius: 4px;
    color: var(--hp-color-text-strong);
    font-weight: 500;
    background-color: var(--hp-color-white) !important;
}

.login-logo {
    max-width: 250px;
    margin-bottom: 15px;
}

.login-submit {
    box-shadow: 0 1px 2px 1px var(--hp-color-light-gray);
}

.login-provider-row {
    margin-bottom: 15px;
}

.login-provider-btn {
    background-color: var(--hp-color-white) !important;
    min-height: 44px;
    padding: 0.375rem 0.75rem;
    text-align: center;
    transition: border-color 0.15s ease, color 0.15s ease, background-color 0.15s ease;
}

.loginscreen .login-provider-btn {
    align-items: center !important;
    display: flex !important;
    justify-content: center !important;
}

.login-provider-btn:hover {
    background-color: var(--hp-color-white) !important;
    border-color: var(--hp-color-light-gray);
    color: var(--hp-color-text-body);
    text-decoration: none;
}

.login-provider-btn:focus,
.login-provider-btn:focus-visible {
    background-color: var(--hp-color-white) !important;
    outline: none;
    border-color: var(--hp-color-light-gray);
    box-shadow: var(--hp-shadow-focus);
}

.login-provider-btn:active {
    background-color: var(--hp-color-white) !important;
    box-shadow: none;
}

.login-provider-icon {
    display: block;
    flex: 0 0 20px;
    height: 20px;
    margin: 0;
    width: 20px;
}

.login-provider-content {
    align-items: center;
    display: inline-flex;
    gap: 10px;
    justify-content: center;
}

.login-provider-text {
    display: inline-block;
    line-height: 1.2;
}

.auth-form-left {
    text-align: left;
}

.auth-label-left {
    text-align: left;
}
