/* Estilos específicos para centrar el login verticalmente con el look industrial */
body {
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    background-color: #f8f9fa;
}

.login-container {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.login-card {
    width: 100%;
    max-width: 400px;
    background-color: #ffffff;
    border: 1px solid #dee2e6;
}

/* Fit the sign-in screen to laptop viewports without hiding any controls. */
body.login-screen { margin: 0; }
.login-screen.customer-page .login-container {
    min-height: 100vh;
    min-height: 100dvh;
    padding: 16px;
    box-sizing: border-box;
}
.login-screen.customer-page .login-card {
    padding: 24px !important;
    flex-shrink: 0;
}
.login-screen.customer-page .login-card > div:first-child {
    margin: 0 0 16px !important;
    padding-bottom: 12px;
}
.login-screen .logo-login { width: 56px; height: 56px; }
.login-screen .login-card > div:first-child p { margin-bottom: 0; }
.login-screen .login-card .form-label { margin-bottom: 6px; }
.login-screen .login-card form > .mb-3,
.login-screen .login-card form > .mb-4 { margin-bottom: 14px !important; }
.login-screen .login-card form > .btn-link {
    margin-top: 4px !important;
    min-height: 36px;
    padding-block: 5px;
}
.login-screen .login-card form > .btn-outline-dark { margin-top: 8px !important; }
@media (max-height: 650px) {
    .login-screen.customer-page .login-container { padding-block: 10px; }
    .login-screen.customer-page .login-card { padding: 18px 24px !important; }
    .login-screen .logo-login { width: 44px; height: 44px; }
    .login-screen.customer-page .login-card > div:first-child { margin-bottom: 12px !important; padding-bottom: 10px; }
    .login-screen .login-card form > .mb-3,
    .login-screen .login-card form > .mb-4 { margin-bottom: 10px !important; }
}
