/* Raymine EMR sign-in screen (navy) */
.lg-wrap { display: flex; width: 100%; height: 100%; background: #FFFFFF; font-family: 'IBM Plex Sans', system-ui, sans-serif; color: #172033; }
.lg-brand { width: 42%; max-width: 620px; min-width: 420px; flex-shrink: 0; box-sizing: border-box; background: #0F1C3F; color: #FFFFFF; display: flex; flex-direction: column; padding: 56px 64px; position: relative; overflow: hidden; }
.lg-rings { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .10; pointer-events: none; }
.lg-logo { display: flex; align-items: center; gap: 14px; position: relative; }
.lg-tile { width: 48px; height: 48px; border-radius: 12px; background: #1476D6; color: #FFFFFF; display: flex; align-items: center; justify-content: center; font-family: 'Playfair Display', Georgia, serif; font-size: 27px; font-weight: 700; flex-shrink: 0; }
.lg-name { font-family: Manrope, system-ui, sans-serif; font-size: 23px; font-weight: 800; letter-spacing: -0.02em; }
.lg-head { margin-top: 14vh; position: relative; }
.lg-head h1 { margin: 0; font-family: Fraunces, Georgia, serif; font-size: 52px; font-weight: 600; line-height: 1.08; letter-spacing: -0.01em; color: #FFFFFF; }
.lg-head p { margin: 20px 0 0; font-size: 18px; line-height: 1.55; color: #C9D4EA; max-width: 440px; }
.lg-feats { margin-top: 48px; display: flex; flex-direction: column; gap: 22px; position: relative; }
.lg-feat { display: flex; gap: 14px; align-items: flex-start; }
.lg-feat-ico { width: 40px; height: 40px; border-radius: 12px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); display: flex; align-items: center; justify-content: center; color: #B4C2E0; flex-shrink: 0; }
.lg-feat strong { display: block; font-size: 16px; font-weight: 600; color: #FFFFFF; }
.lg-feat span { display: block; font-size: 14px; color: #B4C2E0; margin-top: 2px; }
.lg-spacer { flex-grow: 1; }
.lg-secure { display: flex; align-items: center; gap: 10px; font-size: 13px; color: #B4C2E0; position: relative; }
.lg-ico { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.lg-main { flex-grow: 1; display: flex; align-items: center; justify-content: center; padding: 48px 32px; overflow-y: auto; }
.lg-form { width: 100%; max-width: 400px; display: flex; flex-direction: column; gap: 22px; }
.lg-form h2 { margin: 0; font-family: Fraunces, Georgia, serif; font-size: 38px; font-weight: 600; color: #172033; }
.lg-sub { margin: 8px 0 0; font-size: 16px; color: #5A6478; }
.lg-field { display: flex; flex-direction: column; gap: 8px; }
.lg-field label { font-size: 14px; font-weight: 600; color: #263049; }
.lg-inp { display: flex; align-items: center; gap: 10px; height: 52px; padding: 0 16px; border: 1px solid #D2D9E5; border-radius: 12px; background: #F7F9FC; color: #5A6478; transition: border-color .15s, box-shadow .15s; }
.lg-inp:focus-within { border-color: #1B5FB8; box-shadow: 0 0 0 3px rgba(27,95,184,.18); background: #FFFFFF; }
#login-screen .lg-inp input { border: none; outline: none; background: transparent; font: inherit; font-size: 16px; color: #172033; flex-grow: 1; min-width: 0; height: 100%; padding: 0; margin: 0; box-shadow: none; }
.lg-eye { border: none; background: none; padding: 6px; cursor: pointer; color: #5A6478; display: flex; border-radius: 8px; }
.lg-eye:focus-visible { outline: 2px solid #1B5FB8; }
.lg-error { color: #B91C1C; background: #FDE8E8; border: 1px solid #F5C2C2; border-radius: 10px; padding: 10px 14px; font-size: 14px; }
.lg-submit { height: 54px; border: none; border-radius: 12px; background: #1B5FB8; color: #FFFFFF; font: inherit; font-size: 17px; font-weight: 600; cursor: pointer; transition: background .15s; }
.lg-submit:hover { background: #174F99; }
.lg-submit:disabled { opacity: .7; cursor: progress; }
.lg-help { margin: 0; font-size: 14px; color: #5A6478; text-align: center; }
.lg-foot { margin-top: 28px; padding-top: 18px; border-top: 1px solid #E1E6EF; font-size: 13px; color: #5A6478; text-align: center; }
.lg-secure-m { display: none; }
@media (max-width: 860px) {
    .lg-wrap { flex-direction: column; overflow-y: auto; }
    .lg-brand { width: 100%; min-width: 0; max-width: none; padding: 36px 24px 32px; }
    .lg-head { margin-top: 28px; }
    .lg-head h1 { font-size: 34px; }
    .lg-head p, .lg-feats, .lg-spacer, .lg-brand .lg-secure { display: none; }
    .lg-main { align-items: flex-start; padding: 28px 24px 40px; overflow: visible; }
    .lg-form h2 { font-size: 28px; }
    .lg-tile { width: 42px; height: 42px; font-size: 24px; }
    .lg-name { font-size: 20px; }
    .lg-secure-m { display: flex; justify-content: center; align-items: center; gap: 8px; font-size: 12px; color: #5A6478; }
}
