.auth-entry { display:flex; flex-direction:column; align-items:center; min-height:100svh; padding:0 20px 24px; background:#f5f6f8; }
.auth-entry-header { width:100%; max-width:1240px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:24px 0; }
.auth-entry-header > a:last-child,.auth-entry-footer a { display:flex; align-items:center; gap:8px; min-height:44px; color:#5b687a; text-decoration:none; font-size:14px; }
.auth-entry-header svg,.auth-entry-footer svg { width:18px; height:18px; }
.auth-entry .brand-mark { width:40px; height:40px; font-size:21px; }
.auth-entry-intro { display:flex; align-items:center; justify-content:center; gap:20px; color:#0078d4; margin:20px 0 24px; height:48px; }
.auth-entry-intro > svg { width:28px; height:28px; animation:auth-icon-enter .65s cubic-bezier(.2,.75,.3,1) both; }
.auth-entry-intro > svg:nth-of-type(2) { width:38px; height:38px; animation-delay:.08s; }
.auth-entry-intro > svg:nth-of-type(3) { animation-delay:.16s; color:#237c52; }
.auth-entry-intro span { width:40px; height:1px; background:#c8d6e4; transform-origin:left; animation:auth-line-enter .6s .12s both; }
.auth-entry .auth-card { width:min(460px,100%); padding:28px 32px; background:#fff; border:1px solid #e2e7ee; border-radius:8px; box-shadow:0 12px 36px #182b4509; animation:auth-panel-enter .45s cubic-bezier(.2,.75,.3,1) both; }
.auth-entry-tabs { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid #e2e7ee; margin:-4px 0 26px; }
.auth-entry-tabs a { display:grid; place-items:center; min-height:44px; padding:8px 12px; font-size:14px; font-weight:600; text-decoration:none; color:#5b687a; border-bottom:2px solid transparent; }
.auth-entry-tabs a[aria-current] { color:#0078d4; border-bottom-color:#0078d4; }
.auth-entry-eyebrow { color:#0078d4; font-size:12px; font-weight:600; margin:0 0 8px; }
.auth-entry h1 { font-size:30px; line-height:1.2; margin:0 0 10px; letter-spacing:0; }
.auth-entry-lead { color:#5b687a; font-size:14px; margin:0 0 24px; }
.auth-entry .stack-form { gap:9px; }
.auth-entry .stack-form > label { font-size:14px; font-weight:600; }
.auth-entry .stack-form > label:first-of-type { margin-bottom:8px; }
.auth-entry input { font-size:16px; min-height:48px; font-weight:400; transition:border-color .15s,box-shadow .15s; }
.auth-entry input:focus-visible { outline:2px solid #0078d4; outline-offset:2px; }
.auth-password { display:flex; position:relative; }
.auth-password input { padding-right:52px; }
.auth-password button { position:absolute; right:3px; top:3px; width:42px; height:42px; min-height:42px; display:grid; place-items:center; border:0; border-radius:6px; background:transparent; color:#5b687a; padding:0; }
.auth-password button:hover { color:#0078d4; background:#eaf3fc; }
.auth-entry [hidden] { display:none!important; }
.auth-password svg { width:20px; height:20px; }
.auth-caps { color:#925c00; font-size:12px; margin:0; }
.auth-entry .auth-submit { margin-top:10px; min-height:48px; display:flex; justify-content:space-between; font-size:15px; border-radius:8px; }
.auth-entry .auth-submit:hover { transform:translateY(-1px); }
.auth-entry form[aria-busy=true] .auth-submit svg { animation:auth-working .85s ease-in-out infinite alternate; }
.auth-submit-status:empty { display:none; }
.auth-submit-status { color:#5b687a; font-size:12px; margin:0; }
.auth-entry-help { font-size:13px; color:#5b687a; margin:24px 0 0; }
.auth-entry-help a { color:#0078d4; font-weight:600; }
.auth-entry .legal-footer { margin-top:22px; padding-top:18px; border-top:1px solid #e2e7ee; font-size:11px; }
.auth-entry-footer { display:flex; justify-content:center; flex-wrap:wrap; gap:6px 24px; padding:14px 0; }
.auth-entry-footer a { font-size:12px; }
.auth-entry-choices { display:grid; gap:12px; }
.auth-entry-choices > a { display:flex; align-items:center; gap:12px; min-height:88px; padding:14px 0; border-bottom:1px solid #e2e7ee; color:#182b45; text-decoration:none; transition:color .15s,transform .15s; }
.auth-entry-choices > a:hover { color:#0078d4; transform:translateX(3px); }
.auth-entry-choices svg { width:24px; height:24px; flex-shrink:0; color:#0078d4; }
.auth-entry-choices svg:last-child { width:18px; margin-left:auto; }
.auth-entry-choices strong,.auth-entry-choices small { display:block; }
.auth-entry-choices strong { font-size:15px; }
.auth-entry-choices small { color:#5b687a; font-size:12px; margin-top:5px; }
@keyframes auth-panel-enter { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
@keyframes auth-icon-enter { from { opacity:0; transform:translateY(8px) rotate(-8deg); } to { opacity:1; transform:none; } }
@keyframes auth-line-enter { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes auth-working { to { transform:translateX(4px); } }
@media(max-width:540px) {
 .auth-entry { padding:0 16px 20px; }
 .auth-entry-header { padding:14px 0; gap:8px; }
 .auth-entry-header .brand strong { font-size:14px; }
 .auth-entry-header > a:last-child { font-size:12px; }
 .auth-entry-header > a:last-child svg { display:none; }
 .auth-entry .auth-card { padding:24px 20px; }
 .auth-entry-intro { margin:10px 0 20px; }
 .auth-entry h1 { font-size:28px; }
}
@media(max-height:700px) { .auth-entry-intro { display:none; } .auth-entry-header { padding-block:12px; } .auth-entry .auth-card { padding-block:22px; } }
@media(prefers-reduced-motion:reduce) { .auth-entry * { animation:none!important; transition:none!important; } }
