/* Login presentation is separate from the operational workspace and PDF exports. */
.auth-page { margin: 0; background: #f5f8fb; color: #17283e; font: 14px/1.65 Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; -webkit-font-smoothing: antialiased; }
.auth-page *, .auth-page *::before, .auth-page *::after { box-sizing: border-box; }
.auth-page :is(h1, h2, p) { margin: 0; }
.auth-page a { text-decoration: none; text-underline-offset: 4px; }
.auth-page a:hover { text-decoration: underline; }
.auth-page :focus-visible { outline: 3px solid #2688ba; outline-offset: 4px; }
.auth-header { min-height: 84px; padding: 20px max(32px, calc((100vw - 1240px) / 2)); display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid #e1e8f0; background: #fff; }
.auth-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--brand-primary); font-size: 23px; letter-spacing: -.8px; font-weight: 750; }
.auth-brand svg { height: 28px; width: 28px; color: #39799f; flex: 0 0 auto; }
.auth-back { display: inline-flex; align-items: center; gap: 9px; color: #63758c; font-size: 12px; }
.auth-main { min-height: calc(100vh - 84px); display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 48px 28px 30px; }
.auth-card { width: 100%; max-width: 1000px; display: grid; grid-template-columns: 1fr 1.05fr; border: 1px solid #dce5ef; border-radius: 14px; box-shadow: 0 18px 60px -30px #203b5b30; background: #fff; overflow: hidden; }
.auth-intro { display: flex; flex-direction: column; padding: 46px 40px 32px; background: linear-gradient(145deg, #e7f0f8, #f0f6fb); border-right: 1px solid #dee7f0; }
.auth-eyebrow { color: #467ca3; font-size: 10px; font-weight: 650; letter-spacing: 1.5px; text-transform: uppercase; }
.auth-intro h1 { margin-top: 19px; font-size: clamp(32px, 3.2vw, 43px); line-height: 1.12; letter-spacing: -1.8px; font-weight: 700; color: #17283e; }
.auth-intro .auth-intro-copy { margin-top: 19px; color: #64778d; font-size: 14px; line-height: 1.85; }
.auth-workspace-preview { margin-top: 38px; padding: 18px 20px 8px; border: 1px solid #27374e; border-radius: 9px; background: #101b2d; color: #e6effb; box-shadow: 0 12px 30px -15px #1b3d6150; }
.auth-preview-header { display: flex; align-items: center; gap: 7px; color: #8fa5c2; font-size: 9px; letter-spacing: .5px; padding-bottom: 10px; }
.auth-preview-dot { width: 5px; height: 5px; border-radius: 50%; background: #5bc7ad; }
.auth-tool { display: flex; align-items: center; gap: 11px; padding: 15px 0; border-bottom: 1px solid #26364e; }
.auth-tool:last-child { border-bottom: 0; }
.auth-tool-icon { width: 32px; height: 32px; display: grid; place-items: center; color: #65c4e8; background: #183347; border-radius: 6px; flex: 0 0 auto; }
.auth-tool-icon svg { width: 18px; height: 18px; }
.auth-tool > div { flex: 1; }
.auth-tool strong { display: block; font-size: 11px; font-weight: 600; }
.auth-tool > div > span { display: block; color: #8fa5c2; font-size: 9px; margin-top: 3px; }
.auth-tool > span:last-child { color: #6e88a8; font-size: 11px; }
.auth-intro .auth-intro-note { margin-top: 24px; color: #8093a9; font-size: 10px; }
.auth-form-pane { padding: 50px 48px 40px; align-content: center; min-width: 0; }
.auth-form-pane h2 { color: #17283e; font-size: 27px; line-height: 1.25; letter-spacing: -.9px; margin: 12px 0; font-weight: 650; }
.auth-form-pane .auth-form-description { color: #6a7b90; font-size: 12px; line-height: 1.8; }
.auth-form { display: grid; gap: 21px; margin-top: 28px; }
.auth-field { min-width: 0; }
.auth-field label { display: block; color: #344960; font-size: 12px; font-weight: 550; margin: 0 0 8px; }
.auth-field input { margin: 0; width: 100%; min-width: 0; height: 49px; padding: 11px 13px; border: 1px solid #c6d2e0; border-radius: 6px; background: #fff; color: #17283e; font: inherit; font-size: 14px; transition: border-color .15s, box-shadow .15s; }
.auth-field input::placeholder { color: #9ba9ba; }
.auth-field input:focus { border-color: #3684ae; outline: none; box-shadow: 0 0 0 3px #3d8fbc18; }
.auth-password-label { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.auth-password-label a { font-size: 10px; font-weight: 550; color: #467ca3; }
.auth-password-input { position: relative; }
.auth-password-input input { padding-right: 65px; }
.auth-password-toggle { position: absolute; right: 5px; top: 5px; bottom: 5px; min-width: 51px; border: 0; border-radius: 4px; background: transparent; color: #607993; font: inherit; font-size: 11px; cursor: pointer; }
.auth-password-toggle:hover { background: #edf3f9; color: #244c70; }
.auth-password-toggle[hidden] { display: none; }
.auth-submit { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 49px; padding: 12px 18px; border: 0; border-radius: 6px; background: var(--brand-primary); color: #fff; font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; box-shadow: 0 3px 8px #0a234210; }
.auth-submit:hover { background: var(--brand-primary-dark); }
.auth-access-note { border-top: 1px solid #e4ebf2; padding-top: 21px; margin-top: 26px; font-size: 11px; color: #8697aa; }
.auth-access-note strong { color: #5b7088; font-weight: 550; }
.auth-access-note p { margin-top: 3px; }
.auth-main .auth-footer { text-align: center; margin-top: 23px; color: #94a2b3; font-size: 10px; }
.auth-tenant { display: flex; align-items: center; gap: 12px; padding-bottom: 21px; margin-bottom: 23px; border-bottom: 1px solid #e4ebf2; }
.auth-tenant img { max-width: 80px; max-height: 50px; object-fit: contain; }
.auth-tenant span { font-size: 13px; font-weight: 600; color: #5c7088; }
@media (max-width: 900px) { .auth-intro { padding: 36px 28px 28px; } .auth-form-pane { padding: 36px 30px; } .auth-tool > div > span { font-size: 8px; } }
@media (max-width: 650px) {
    .auth-header { min-height: 72px; padding: 18px 20px; gap: 14px; }
    .auth-brand { font-size: 21px; }
    .auth-brand svg { width: 25px; height: 25px; }
    .auth-back { font-size: 10px; gap: 6px; }
    .auth-main { justify-content: flex-start; min-height: calc(100vh - 72px); padding: 30px 18px; }
    .auth-card { max-width: 430px; grid-template-columns: 1fr; border-radius: 11px; }
    .auth-intro { padding: 25px 25px 24px; border-right: 0; border-bottom: 1px solid #dee7f0; }
    .auth-intro h1 { font-size: 30px; letter-spacing: -1px; margin-top: 12px; }
    .auth-intro h1 br { display: none; }
    .auth-intro .auth-intro-copy, .auth-workspace-preview, .auth-intro .auth-intro-note { display: none; }
    .auth-eyebrow { font-size: 8px; letter-spacing: 1.1px; }
    .auth-form-pane { padding: 28px 25px; }
    .auth-form-pane h2 { font-size: 24px; }
    .auth-field input { font-size: 16px; }
    .auth-access-note { font-size: 10px; }
    .auth-main .auth-footer { font-size: 9px; max-width: 280px; }
}
@media (prefers-reduced-motion: reduce) { .auth-field input { transition: none; } }
