.auth-public{font-family:'Noto Sans Thai','Prompt',Tahoma,sans-serif}
.auth-public-brand{flex-shrink:0;border-bottom:1px solid #d6f7f3;background:#fff}
.auth-public-brand>a{display:flex;align-items:center;gap:12px;max-width:1152px;margin:auto;padding:15px 20px;color:#115b55;font-size:15px;font-weight:600}
.auth-public-brand .sb-logo{width:38px;height:38px;flex-shrink:0}
.auth-form-shell{display:flex;flex:1;flex-direction:column;min-width:0}
.auth-footer{padding:28px 16px;text-align:center;color:#94a3b8;font-size:11px}
.auth-recovery-link{text-align:right;font-size:13px;color:#08756d}
.auth-recovery-link a:hover{text-decoration:underline}
.auth-recovery-link a:focus-visible{outline:2px solid #0b897f;outline-offset:4px;border-radius:4px}
.dropdown-menu.dropdown-portal{position:fixed;right:auto;z-index:1500;margin:0;box-sizing:border-box;overscroll-behavior:contain;isolation:isolate}
.dropdown-menu.dropdown-portal[hidden]{display:none}
.dropdown-portal .dropdown-item{min-height:42px;text-align:left;gap:10px;line-height:1.6;background:#fff}
.dropdown-portal .dropdown-item.is-selected{background:#effcfb;color:#08756d;font-weight:600}
.dropdown-portal .dropdown-item.is-selected::after{content:'✓';margin-left:auto}
.dropdown-portal .dropdown-item:focus-visible,.dropdown-portal .dropdown-item:hover{outline:0;background:#e9f6f5;color:#13253f}
.dropdown-trigger:focus-visible{outline:2px solid #0b897f;outline-offset:3px}
.dropdown-trigger[aria-invalid=true]{border-color:#be123c}
.dropdown-trigger>span:first-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.dropdown-chevron svg{display:block;width:100%;height:100%}
.credential-panel{max-width:680px;width:100%;margin:12px auto;padding:30px;border:1px solid #e2e8f0;border-radius:24px;background:#fff;box-shadow:0 4px 20px #13253f08}
.credential-panel h1{margin:0 0 10px;color:#13253f;font-size:25px;font-weight:600;line-height:1.5}
.credential-panel>p{margin:0 0 24px;color:#64748b;font-size:14px;line-height:1.8}
.credential-form{display:flex;flex-direction:column;gap:18px}
.credential-form>.btn-primary{align-self:flex-start;min-height:44px;padding:12px 22px}
.credential-hint{font-size:12px!important;line-height:1.8;color:#64748b}
.credential-target{display:flex;flex-direction:column;gap:5px;margin:24px 0;padding:16px 18px;border:1px solid #d6f0eb;border-radius:15px;background:#f2fbf9}
.credential-target span{font-size:13px;color:#64748b;overflow-wrap:anywhere}
.credential-search{margin:24px 0}
.credential-search>div{display:flex;gap:10px}
.credential-search .field{min-width:0;flex:1}
.credential-search button{flex-shrink:0}
.credential-confirm{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.8;cursor:pointer}
.credential-confirm input{width:18px;height:18px;accent-color:#0b897f;margin-top:3px;flex-shrink:0}
.recovery-steps{list-style:decimal;padding-left:22px;margin:24px 0;color:#334155;font-size:14px;line-height:1.9}
.recovery-steps li+li{margin-top:12px}
.auth-alert{display:flex;align-items:center;gap:14px;padding:14px 18px;margin-bottom:22px;border-radius:14px;font-size:14px;line-height:1.5;box-shadow:0 2px 10px rgba(15,23,42,.04);animation:authAlertIn .25s cubic-bezier(.16,1,.3,1) both}
.auth-alert-error{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239}
.auth-alert-success{background:#f0fdfa;border:1px solid #ccfbf1;color:#0f766e}
.auth-alert-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;flex-shrink:0}
.auth-alert-error .auth-alert-icon{background:#ffe4e6;color:#e11d48}
.auth-alert-success .auth-alert-icon{background:#ccfbf1;color:#0d9488}
.auth-alert-icon svg{width:18px;height:18px;display:block}
.auth-alert-text{flex:1;font-weight:500;min-width:0;word-break:break-word}
@keyframes authAlertIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:559px){.auth-alert{padding:12px 14px;gap:11px;font-size:13.5px;border-radius:12px}.auth-alert-icon{width:30px;height:30px}.auth-alert-icon svg{width:16px;height:16px}.credential-panel{padding:22px 18px;border-radius:20px}.credential-panel h1{font-size:22px}.credential-search>div{flex-wrap:wrap}.credential-search button{min-height:44px;width:100%}.credential-form>.btn-primary{width:100%;align-self:stretch}}
@media(prefers-reduced-motion:reduce){.dropdown-menu.dropdown-portal.is-open,.auth-alert{animation:none}}
