/* Premium patient and doctor sign-in. Scoped to two query-selected roles so
   other shared-login account types retain their current UI and behavior. */
body.auth-premium-login-page {
  --ap-ink:#071a3d;--ap-copy:#596781;--ap-blue:#0b63f6;
  --ap-line:#dce6f4;--ap-wash:#f5f9ff;
  background:#fff!important;color:var(--ap-ink);
}
body.auth-premium-login-page main,
body.auth-premium-login-page .main-container{width:100%;max-width:none;margin:0!important;background:#fff}
body.auth-premium-login-page .main-container{padding:clamp(34px,5vw,74px) 24px 42px}
body.auth-premium-login-page .auth-hero{display:none!important}
/* front-blue.css pulls .auth-workspace upwards (-66px, and -40px on phones) so
   it tucks under the auth hero. This page hides that hero on the line above, so
   the negative margin has nothing to overlap: with no padding or border on the
   ancestors to stop it, it collapses up through .auth-page-content and
   .main-container and drags the card behind the fixed site header, clipping the
   "Doctor Login" / "Patient Login" heading with no way to scroll further up.
   Zeroing it restores normal flow directly below the header. */
body.auth-premium-login-page .auth-workspace{margin-top:0}
body.auth-premium-login-page .auth-page-content{width:min(100%,1180px);margin:0 auto;padding:0}
body.auth-premium-login-page .auth-workspace{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(500px,1.22fr);min-height:610px;overflow:hidden;border:1px solid var(--ap-line);border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(23,50,91,.08),0 3px 12px rgba(23,50,91,.04)}
body.auth-premium-login-page .auth-side-panel,
body.auth-premium-login-page .auth-form-card{min-width:0;border:0;border-radius:0;background:#fff!important;color:var(--ap-ink)!important;box-shadow:none!important}
body.auth-premium-login-page .auth-side-panel{display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,4vw,58px);border-right:1px solid var(--ap-line)}
body.auth-premium-doctor .auth-side-panel{justify-content:flex-start;padding-top:62px}
body.auth-premium-login-page .auth-side-panel:before,
body.auth-premium-login-page .auth-side-panel:after,
body.auth-premium-login-page .auth-form-card:before,
body.auth-premium-login-page .auth-form-card:after{display:none!important}
body.auth-premium-login-page .auth-premium-role-mark,
body.auth-premium-login-page .auth-role-badge{display:inline-flex;align-items:center;align-self:flex-start;gap:9px;width:fit-content;margin:0 0 26px;padding:9px 14px;border-radius:999px;background:#eef5ff;color:var(--ap-blue);font-size:.78rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}
body.auth-premium-login-page .auth-side-kicker{display:inline-flex;margin:0 0 14px;color:var(--ap-blue)!important;font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
body.auth-premium-login-page .auth-side-panel h2{max-width:440px;margin:0 0 18px;color:var(--ap-ink)!important;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.1rem,3vw,3.3rem);font-weight:500;line-height:1.06;letter-spacing:-.035em}
body.auth-premium-patient .auth-side-panel h2,
body.auth-premium-patient .auth-side-kicker,
body.auth-premium-patient .auth-side-intro{display:none}
body.auth-premium-login-page .auth-side-panel h2 em{color:inherit!important;font-style:normal}
body.auth-premium-login-page .auth-side-intro{max-width:440px;margin:0 0 24px;color:var(--ap-copy)!important;font-size:.94rem;line-height:1.65}
body.auth-premium-login-page .auth-feature-list{display:grid;gap:0;margin:0}
body.auth-premium-login-page .auth-feature-item{display:grid;grid-template-columns:46px minmax(0,1fr);gap:15px;align-items:center;padding:16px 0;border-bottom:1px solid var(--ap-line);color:var(--ap-ink)!important}
body.auth-premium-login-page .auth-feature-item:last-child{border-bottom:0}
body.auth-premium-login-page .auth-feature-item>i{display:grid;width:44px;height:44px;place-items:center;border:1px solid #d6e5fb;border-radius:50%;background:var(--ap-wash);color:var(--ap-blue)!important;font-size:1rem}
body.auth-premium-login-page .auth-feature-item h3{margin:0 0 3px;color:var(--ap-ink)!important;font-size:.98rem;font-weight:700}
body.auth-premium-login-page .auth-feature-item p{margin:0;color:var(--ap-copy)!important;font-size:.78rem;line-height:1.45}
body.auth-premium-patient .auth-feature-item p{display:none}
body.auth-premium-patient .auth-feature-item{padding:18px 0}
body.auth-premium-patient .auth-feature-item h3{font-size:.96rem}
body.auth-premium-login-page .auth-form-card{display:flex;align-items:center;padding:clamp(38px,5vw,72px)}
body.auth-premium-login-page .auth-form-card form{width:100%;max-width:610px;margin:0 auto}
body.auth-premium-login-page .auth-form-card fieldset{min-width:0;margin:0;padding:0;border:0}
body.auth-premium-login-page .auth-form-card legend{float:none;width:auto;margin:0 0 7px;padding:0;color:var(--ap-ink);font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,3vw,2.7rem);font-weight:600;line-height:1.1;letter-spacing:-.035em}
body.auth-premium-patient .auth-form-card legend{font-family:inherit;font-size:clamp(1.85rem,2.8vw,2.4rem);font-weight:760}
body.auth-premium-login-page .auth-form-intro{margin:0 0 10px;color:var(--ap-copy);font-size:.92rem;line-height:1.55}
body.auth-premium-login-page .auth-role-badge{margin:0 0 8px;padding:7px 12px;font-size:.7rem;text-transform:none}
body.auth-premium-login-page .auth-role-note{margin:0 0 24px;color:#74809a;font-size:.76rem}
body.auth-premium-login-page .auth-role-note a,
body.auth-premium-login-page .auth-forgot-link,
body.auth-premium-login-page .auth-account-options a{color:var(--ap-blue)}
body.auth-premium-login-page .form-group{position:relative;margin-bottom:18px}
body.auth-premium-login-page .form-control-label{display:block;margin:0 0 8px;color:var(--ap-ink);font-size:.83rem;font-weight:700}
body.auth-premium-login-page .auth-field-icon{display:none}
body.auth-premium-login-page .form-control{min-height:48px;padding:12px 46px 12px 15px;border:1px solid #cfd9e8;border-radius:8px;background:#fff;color:var(--ap-ink);font-size:.9rem;box-shadow:none;transition:border-color .18s ease,box-shadow .18s ease}
body.auth-premium-login-page .form-control:focus{border-color:var(--ap-blue);box-shadow:0 0 0 4px rgba(11,99,246,.1)}
body.auth-premium-login-page .auth-password-toggle{position:absolute;right:13px;bottom:12px;display:grid;width:28px;height:28px;place-items:center;padding:0;border:0;background:transparent;color:#465777}
body.auth-premium-login-page .auth-remember-row{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:4px 0 18px;color:var(--ap-copy);font-size:.78rem}
body.auth-premium-login-page .auth-remember-row small{color:#74809a}
body.auth-premium-login-page .auth-submit-row{display:grid;gap:10px;margin:0;text-align:center}
body.auth-premium-login-page .auth-submit{width:100%;min-height:48px;border:0;border-radius:7px;background:linear-gradient(90deg,var(--ap-blue),#0758df)!important;color:#fff!important;font-size:.94rem;font-weight:750;box-shadow:0 10px 22px rgba(11,99,246,.18)}
body.auth-premium-login-page .auth-submit:hover{background:#084fc8!important;transform:translateY(-1px)}
body.auth-premium-login-page .auth-form-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:#7b879d;font-size:.76rem}
body.auth-premium-login-page .auth-form-divider:before,
body.auth-premium-login-page .auth-form-divider:after{content:'';flex:1;height:1px;background:var(--ap-line)}
body.auth-premium-login-page .auth-account-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body.auth-premium-login-page .auth-account-options>a{display:grid;grid-template-columns:28px minmax(0,1fr) 14px;gap:10px;align-items:center;min-height:66px;padding:11px 13px;border:1px solid var(--ap-line);border-radius:9px;background:#fff;text-decoration:none;font-size:.8rem;font-weight:700}
body.auth-premium-login-page .auth-account-options>a:hover{border-color:#9bbff7;background:#f9fbff}
body.auth-premium-login-page .auth-account-options span{min-width:0}
body.auth-premium-login-page .auth-account-options small{display:block;margin-bottom:2px;color:var(--ap-copy);font-weight:500}
body.auth-premium-login-page .auth-trust-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:22px 0 0;padding:18px 0 0;border:0;border-top:1px solid var(--ap-line);border-radius:0;background:transparent;box-shadow:none}
body.auth-premium-login-page .auth-trust-strip>div{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:center;padding:2px 28px;border-right:1px solid var(--ap-line)}
body.auth-premium-login-page .auth-trust-strip>div:last-child{border-right:0}
body.auth-premium-login-page .auth-trust-strip i{color:var(--ap-blue);font-size:1.3rem}
body.auth-premium-login-page .auth-trust-strip strong,
body.auth-premium-login-page .auth-trust-strip small{display:block}
body.auth-premium-login-page .auth-trust-strip strong{color:var(--ap-ink);font-size:.84rem}
body.auth-premium-login-page .auth-trust-strip small{margin-top:2px;color:var(--ap-copy);font-size:.7rem;line-height:1.4}
@media(max-width:900px){body.auth-premium-login-page .auth-workspace{grid-template-columns:1fr}body.auth-premium-login-page .auth-form-card{order:1}body.auth-premium-login-page .auth-side-panel{order:2;border-top:1px solid var(--ap-line);border-right:0}}
@media(max-width:640px){body.auth-premium-login-page .main-container{padding:22px 14px 30px}body.auth-premium-login-page .auth-workspace{border-radius:14px}body.auth-premium-login-page .auth-form-card,body.auth-premium-login-page .auth-side-panel{padding:28px 22px}body.auth-premium-login-page .auth-account-options,body.auth-premium-login-page .auth-trust-strip{grid-template-columns:1fr}body.auth-premium-login-page .auth-trust-strip>div{padding:13px 8px;border-right:0;border-bottom:1px solid var(--ap-line)}body.auth-premium-login-page .auth-trust-strip>div:last-child{border-bottom:0}body.auth-premium-login-page .auth-remember-row{align-items:flex-start;flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){body.auth-premium-login-page *,body.auth-premium-login-page *:before,body.auth-premium-login-page *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
