/**
 * SAM Auth/Login Page CSS — Unity NCAR style.
 * Thin layer on top of dashboard.css; defines only login-page-specific
 * chrome (centered container, page background, quick-login section).
 *
 * Design tokens are defined in variables.css; component rules (.btn,
 * .form-control, .alert, typography) come from dashboard.css.
 */

/* ===================================================================
   Body & Layout
   =================================================================== */

body {
    /* Match the dashboard wave watermark so the login page reads as the
       same app — same color, same image, same position triple. The flex
       centering is the only login-specific addition. */
    background-color: var(--bg-light);
    background-image: url('../img/UCAR-Waves-Lines-Only-66.png');
    background-position: 150% 0%;
    background-repeat: repeat-y;
    background-size: 53%;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-family-default);
    color: var(--text-dark);
}

/* ===================================================================
   Login Container — flat editorial panel matching .card-bordered.
   =================================================================== */

.login-container {
    background: #fff;
    padding: 2.5rem;
    border: 1px solid var(--ncar-gray-light);
    border-top: 5px solid var(--ncar-blue);
    box-shadow: var(--shadow-md);
    max-width: 480px;
    width: 100%;
    margin: 1rem;
}

/* ===================================================================
   Login Header — NCAR logo + "Systems Accounting Manager" wordmark,
   matching the dashboard navbar branding (single brand treatment).
   =================================================================== */

.login-header {
    text-align: center;
    margin-bottom: 2rem;
}

.login-logo {
    width: 12rem;
    margin: 0 auto 1rem;
}

.login-logo img {
    width: 100%;
}

.login-header h1 {
    color: var(--ncar-space-blue);
    font-size: var(--font-size-xlg);
    font-weight: var(--font-weight-regular);
    line-height: 1.2;
    text-transform: uppercase;
    margin: 0;
}

/* ===================================================================
   Form Controls — defer to Bootstrap/Unity defaults. We only set the
   focus ring to Unity blue (dashboard.css already does this for
   .form-control:focus on dashboard pages; replicated here because
   dashboard.css's selector wins by source order). No bespoke radius
   or border-width — keep Bootstrap's flat baseline.
   =================================================================== */

.form-check-label {
    color: var(--ncar-gray);
    font-weight: var(--font-weight-semi-bold);
}

/* ===================================================================
   Login Button — Unity .btn-primary already supplies the flat blue,
   0 radius, 3px border, invert-on-hover treatment. We only stretch it
   to full width and slightly enlarge type.
   =================================================================== */

.btn-login {
    width: 100%;
    padding: 0.75rem 1rem;
    font-size: 1rem;
    letter-spacing: 0.05em;
}

/* ===================================================================
   Development-mode alert — flat soft-yellow with a single left accent.
   =================================================================== */

.alert-dev {
    background-color: #fff8e1;
    border-left: 4px solid var(--warning-color);
    color: var(--bs-warning-text);
    padding: 0.875rem 1rem;
    margin-bottom: 1.5rem;
    font-size: 0.875rem;
    font-weight: var(--font-weight-semi-bold);
}

/* ===================================================================
   Divider — "OR" rule between manual login and quick-login.
   =================================================================== */

.divider {
    text-align: center;
    margin: 1.5rem 0;
    color: var(--ncar-gray-light);
    font-size: 0.75rem;
    font-weight: var(--font-weight-semi-bold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    position: relative;
}

.divider::before,
.divider::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 42%;
    height: 1px;
    background: var(--ncar-gray-light);
}
.divider::before { left: 0; }
.divider::after  { right: 0; }

/* ===================================================================
   Quick Login Section — flat hairline-bordered cards adopting Unity
   blue on hover. No gradients, no transforms.
   =================================================================== */

.quick-login-section {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--ncar-gray-light);
}

.quick-login-section h5 {
    color: var(--ncar-space-blue);
    font-size: 0.875rem;
    font-weight: var(--font-weight-semi-bold);
    margin-bottom: 1rem;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.user-btn {
    width: 100%;
    margin-bottom: 0.5rem;
    text-align: left;
    padding: 0.625rem 0.875rem;
    border: 1px solid var(--ncar-gray-light);
    background: #fff;
    color: var(--ncar-space-blue);
    font-size: 0.875rem;
    font-weight: var(--font-weight-semi-bold);
    border-radius: 0;
    transition: border-color var(--transition-fast), color var(--transition-fast);
}

.user-btn:hover {
    background: #fff;
    border-color: var(--ncar-blue);
    color: var(--ncar-blue);
}

/* Role chip on the right side of each quick-login button — uses the
   same muted-badge palette as .badge.bg-info elsewhere (Phase 2). */
.user-btn .role-badge {
    float: right;
    font-size: 0.7rem;
    padding: 0.15rem 0.5rem;
    background-color: var(--bs-info-bg-subtle);
    color: var(--bs-info-text-emphasis);
    border: 1px solid var(--bs-info-border-subtle);
    font-weight: var(--font-weight-semi-bold);
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

/* ===================================================================
   Help Link
   =================================================================== */

.help-link {
    color: var(--ncar-gray);
    font-size: 0.875rem;
    font-weight: var(--font-weight-semi-bold);
    text-decoration: none;
    transition: color var(--transition-fast);
}

.help-link:hover {
    color: var(--ncar-blue);
    text-decoration: underline;
}

/* ===================================================================
   Login form & footer
   =================================================================== */

.login-form {
    margin: 0;
}

.text-muted {
    color: var(--color-gray-muted) !important;
}

.login-footer {
    text-align: center;
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--ncar-gray-light);
}
