.auth-content { color:#263246; }
.auth-content h2 { margin-bottom:12px; font-size:28px; }
.auth-content p,.auth-page p { font-size:16px; line-height:1.8; color:#526174; }
.auth-content label,.auth-page label { display:block; font-size:16px; font-weight:600; margin:16px 0; color:#263246; }
.auth-content input,.auth-page input { display:block; box-sizing:border-box; width:100%; margin-top:7px; min-height:48px; font-size:16px; color:#263246; }
.auth-password { position:relative; display:block; }
.auth-password input { padding-right:66px; }
.auth-password button { position:absolute; right:12px; top:0; min-height:48px; font-size:14px; color:#5943ae; }
.auth-content .auth-forgot { display:block; margin:0 0 18px auto; font-size:15px; }
.auth-content .auth-hint,.auth-page .auth-hint { display:flex; gap:8px; align-items:flex-start; padding:12px 14px; border-radius:12px; background:#f4f1fb; color:#574777; font-size:14px; }
.auth-hint svg { width:18px; height:18px; flex-shrink:0; margin-top:3px; }
.google-signin { display:flex; justify-content:center; align-items:center; gap:10px; background:#fff; color:#1f1f1f; border:1px solid #747775; border-radius:24px; min-height:48px; width:100%; padding:10px 12px; font-family:'Google Sans','Noto Sans Thai',sans-serif; font-weight:500; font-size:16px; cursor:pointer; }
.google-signin img { flex-shrink:0; width:20px; height:20px; object-fit:contain; }
.google-signin:hover { background:#f8faff; border-color:#454947; }
.google-signin:focus-visible { outline:3px solid #8170d5; outline-offset:3px; }
.google-signin:disabled { cursor:wait; opacity:.7; }
.auth-divider { display:flex; align-items:center; gap:14px; margin:20px 0 4px; color:#657084; font-size:14px; }
.auth-divider:before,.auth-divider:after { content:''; height:1px; flex:1; background:#dfe3ec; }
.auth-secondary-link { display:block; margin:16px auto 0; font-size:15px; min-height:40px; }
.auth-content .auth-privacy { margin:18px 0 0; font-size:14px; }
.auth-privacy a { color:#5943ae; text-decoration:underline; }
.auth-email { font-weight:600; overflow-wrap:anywhere; background:#f6f7fb; padding:12px; border-radius:10px; }
.auth-steps { padding-left:24px; font-size:16px; line-height:1.9; color:#475467; margin:20px 0; }
.auth-page { max-width:620px; margin:28px auto; padding:32px; }
.auth-page h1 { font-size:28px; line-height:1.45; margin:12px 0; }
.auth-page .button-row { flex-wrap:wrap; }
.auth-success { border-left:4px solid #328064; padding:14px; background:#edf8f3; border-radius:8px; color:#235b47!important; }
.account-security { margin-top:28px; border-top:1px solid #dee3ec; padding-top:18px; }
.account-security h3 { display:flex; gap:8px; align-items:center; font-size:18px; }
.account-security-row { padding:16px 0; border-bottom:1px solid #e3e7ef; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.account-security-row>div { flex:1; min-width:160px; }
.account-security-row strong,.account-security-row span { display:block; }
.account-security-row span { color:#5d6779; margin-top:5px; font-size:14px; }
.account-security-row .google-signin { width:auto; min-width:180px; font-size:14px; }
.account-status.verified { color:#226b50; }
.account-status.pending { color:#965b16; }
.email-verify-banner { margin:0 0 24px; padding:14px 18px; border:1px solid #e4d5b1; background:#fffaf0; border-radius:12px; display:flex; align-items:center; flex-wrap:wrap; gap:10px 20px; font-size:15px; color:#76501d; }
.email-verify-banner span { flex:1; min-width:210px; }
.auth-content .form-error:empty,.auth-page .form-error:empty { display:none; }
@media(max-width:600px) { .auth-page { margin:8px 0; padding:24px 20px; } .auth-page h1,.auth-content h2 { font-size:25px; } .account-security-row .google-signin { width:100%; } }
