/* =============================================================================
   Auth pages overlay — login / register / forgot / reset password.

   UPGRADE-SAFE: this stylesheet restyles the core Perfex BS3 auth views WITHOUT
   editing any core file. It is injected only on the `authentication` controller
   pages (see portal_auth_pages_css() in modules/services/services.php), so the
   body-level rules below are safe — the sheet is never loaded elsewhere.

   It deliberately stays on Bootstrap 3 markup (the core views) and only layers
   visual styling to match the standalone BS5 services storefront
   (see assets/bs5/public.css). Palette is kept in sync with --svc-accent there.

   Author : Sooraj Kaushik (www.unitrai.com)
   Created: 2026-06-26
   ============================================================================= */

:root {
    --svc-accent: #2196f3;
    --svc-accent-dark: #1769aa;
}

/* Page canvas: soft background + vertical centering for the login card. */
body.customers {
    background: linear-gradient(160deg, #f5f7fa 0%, #eaf1f9 100%);
    min-height: 100vh;
}

/* Give the auth content some breathing room from the top. */
body.customers .mtop40 {
    margin-top: 4rem !important;
}

/* Headings */
.login-heading,
.register-heading {
    letter-spacing: -.5px;
    color: #1b2733;
}

/* Card */
body.customers .panel_s {
    border: 1px solid #e6e9ee;
    border-radius: 1rem;
    box-shadow: 0 16px 40px rgba(20, 40, 80, .08);
    overflow: hidden;
}
body.customers .panel_s .panel-body {
    padding: 2rem;
}

/* Form fields */
body.customers .form-control {
    height: auto;
    padding: .6rem .85rem;
    border-radius: .6rem;
    border: 1px solid #ced4da;
    box-shadow: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}
body.customers .form-control:focus {
    border-color: var(--svc-accent);
    box-shadow: 0 0 0 .2rem rgba(33, 150, 243, .18);
}
body.customers .control-label,
body.customers label {
    font-weight: 500;
    color: #344050;
}

/* Buttons */
body.customers .btn {
    border-radius: .6rem;
    padding: .6rem 1rem;
    font-weight: 600;
}
body.customers .btn-primary {
    background: var(--svc-accent);
    border-color: var(--svc-accent);
}
body.customers .btn-primary:hover,
body.customers .btn-primary:focus,
body.customers .btn-primary:active {
    background: var(--svc-accent-dark);
    border-color: var(--svc-accent-dark);
}
/* Register CTA on the login page: make it a clear secondary (outline) action. */
body.customers .btn-success {
    background: #fff;
    border-color: var(--svc-accent);
    color: var(--svc-accent);
}
body.customers .btn-success:hover,
body.customers .btn-success:focus {
    background: #eef4fb;
    border-color: var(--svc-accent-dark);
    color: var(--svc-accent-dark);
}
/* Stack the login/register buttons with a little gap. */
body.customers .login-form .btn-block + .btn-block {
    margin-top: .6rem;
}

/* "Forgot password" link */
body.customers .login-form > a,
body.customers .login-form a[href*="forgot_password"] {
    display: inline-block;
    margin-top: 1rem;
    color: var(--svc-accent);
    text-decoration: none;
}
body.customers .login-form a[href*="forgot_password"]:hover {
    text-decoration: underline;
}

/* Register page: section sub-headings */
body.customers .register-contact-info-heading,
body.customers .register-company-info-heading {
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: #6c757d;
    padding-bottom: .5rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid #eef1f5;
}

/* Required-field asterisk */
body.customers .text-danger {
    color: #e03131;
}

/* Validation messages */
body.customers .form-group .text-danger,
body.customers label.error,
body.customers .help-block {
    font-size: .85rem;
}

/* Remember-me checkbox spacing */
body.customers .checkbox {
    margin: .75rem 0 1rem;
}

/* Responsive */
@media (max-width: 575.98px) {
    body.customers .mtop40 { margin-top: 2rem !important; }
    body.customers .panel_s .panel-body { padding: 1.4rem; }
}
