.sd-auth-page { background:#f4f8fc; color:#102443; font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif }
.sd-auth-page * { box-sizing:border-box }
.sd-auth-page a { color:#164f97 }
.sd-auth-main { min-height:calc(100dvh - 145px); display:flex; align-items:center; justify-content:center; padding:44px 24px }
.sd-auth-card { width:960px; max-width:100%; display:grid; grid-template-columns:1fr 1.12fr; gap:0; padding:10px; background:white; border:1px solid #dce5f0; border-radius:14px; box-shadow:0 8px 30px rgba(25,67,109,.06) }
.sd-auth-story { background:linear-gradient(145deg,#eaf8fa,#e8f8f5); border-radius:10px; padding:40px 30px 24px; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden }
.sd-auth-story h2 { color:#102443; font-size:30px; line-height:1.18; font-weight:650; letter-spacing:-1px; margin:0 0 12px }
.sd-auth-story p { font-size:15px; margin:0; color:#34536b }
.sd-auth-collage { position:relative; height:235px; margin:22px -10px 6px }
.sd-auth-orbit { position:absolute; width:190px; height:190px; border-radius:50%; background:#c8eeee; left:60px; top:25px }
.sd-auth-collage img { position:absolute; width:145px; border-radius:18px; box-shadow:0 8px 20px #15395a12 }
.sd-auth-house { right:5px; top:5px; transform:rotate(6deg) }
.sd-auth-car { left:0; top:65px; transform:rotate(-8deg) }
.sd-auth-collage .sd-auth-laptop { width:130px; bottom:0; right:65px; transform:rotate(3deg) }
.sd-auth-story .sd-auth-story-note { font-size:12px; color:#527985; text-align:center }
.sd-auth-form-panel { padding:35px 38px; min-width:0; align-self:center }
.sd-auth-form-panel h1 { font:650 27px/1.25 system-ui,sans-serif; letter-spacing:-.7px; color:#102443; margin:0 0 8px }
.sd-auth-subtitle { color:#65758c; font-size:14px; margin:0 0 26px }
.sd-auth-form { display:flex; flex-direction:column; gap:20px }
.sd-auth-field label,.sd-auth-code-label { display:block; font-size:13px; font-weight:600; color:#102443; margin:0 0 7px }
.sd-auth-field input,.sd-auth-code { display:block; width:100%; min-height:46px; border:1px solid #d4dfec; border-radius:7px; background:white; color:#102443; padding:11px 12px; font:14px/1.4 system-ui,sans-serif }
.sd-auth-field input::placeholder { color:#8997aa; font-size:12px }
.sd-auth-hint { font-size:11px; color:#65758c; margin:7px 0 0; line-height:1.5 }
.sd-auth-label-row { display:flex; justify-content:space-between; align-items:baseline; gap:10px }
.sd-auth-label-row a { font-size:12px }
.sd-auth-password { position:relative }
.sd-auth-password input { padding-right:48px }
.sd-auth-password button { position:absolute; right:3px; top:3px; width:40px; height:40px; display:grid; place-items:center; border:0; background:transparent; color:#65758c; cursor:pointer; border-radius:5px }
.sd-auth-primary { width:100%; min-height:46px; padding:11px 18px; border:1px solid #11c5c3; border-radius:7px; color:#fff; background:#11c5c3; font:600 14px/1.4 system-ui,sans-serif; cursor:pointer }
.sd-auth-primary:hover { background:#0fb5b3 }
.sd-auth-switch { text-align:center; border-top:1px solid #e4eaf2; padding-top:20px; margin:22px 0 0; font-size:12px }
.sd-auth-switch a { font-weight:600 }
.sd-auth-consent { margin:-10px 0 0; font-size:11px; color:#65758c; text-align:center }
.sd-auth-error { background:#fff2f1; border:1px solid #f2d1cd; border-radius:7px; padding:12px; margin:0 0 20px; color:#983d32; font-size:13px }
.sd-auth-footer { max-width:1320px; margin:auto; padding:18px 24px 24px; display:flex; justify-content:space-between; gap:20px; color:#65758c; font-size:12px }
.sd-auth-footer nav { display:flex; gap:22px }
.sd-auth-nav { display:none }
.sd-auth-verify { text-align:center }
.sd-auth-envelope { width:70px; height:70px; margin:0 auto 20px; display:grid; place-items:center; border-radius:50%; background:#e5f9f8; color:#0baeb0 }
.sd-auth-code-label { text-align:left; margin:0 }
.sd-auth-code { text-align:center; font-size:25px; letter-spacing:.38em; padding-left:.65em; font-variant-numeric:tabular-nums }
.sd-auth-verify .sd-auth-form { gap:12px }
.sd-auth-verify .sd-auth-hint { margin:0 0 7px }
.sd-auth-resend { margin:20px 0 8px }
.sd-auth-resend button { background:none; border:0; color:#164f97; font-size:12px; cursor:pointer; min-height:30px }
.sd-auth-resend button:disabled { color:#65758c; cursor:default }
.sd-auth-change { font-size:12px }
.sd-auth-page :is(input,button,a):focus-visible { outline:2px solid #11c5c3; outline-offset:3px }
@media(max-width:900px) {
 .sd-auth-page { padding-bottom:calc(76px + env(safe-area-inset-bottom)) }
 .sd-auth-main { min-height:0; padding:28px 18px 18px }
 .sd-auth-card { max-width:460px; display:block; padding:0; border-radius:12px }
 .sd-auth-story { display:none }
 .sd-auth-form-panel { padding:28px 22px }
 .sd-auth-form-panel h1 { font-size:25px }
 .sd-auth-subtitle { font-size:13px; margin-bottom:24px }
 .sd-auth-field input { font-size:16px; min-height:48px }
 .sd-auth-field input::placeholder { font-size:12px }
 .sd-auth-primary { min-height:48px }
 .sd-auth-footer { max-width:460px; padding:12px 20px 22px; font-size:11px }
 .sd-auth-footer nav { gap:16px }
 .sd-auth-nav { position:fixed; z-index:20; bottom:0; left:0; right:0; display:flex; gap:4px; min-height:70px; padding:8px 12px max(8px,env(safe-area-inset-bottom)); border-radius:20px 20px 0 0; background:white; box-shadow:0 -5px 24px #10244317 }
 .sd-auth-nav a { flex:1; min-width:0; min-height:52px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; color:#64748b; font-size:11px; border-radius:14px; text-decoration:none }
 .sd-auth-nav .sd-icon { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round }
 .sd-auth-nav a[aria-current] { color:#087b80; background:#e5f9f8 }
}
@media(max-width:360px) { .sd-auth-main { padding:20px 12px 16px } .sd-auth-form-panel { padding:24px 18px } }

.sd-auth-form-panel>h1 { margin-bottom:24px }
