.auth-dialog{position:fixed;inset:0;margin:auto;width:min(440px,calc(100% - 28px));max-width:none;max-height:calc(100% - 32px);max-height:calc(100dvh - 32px);padding:0;border:1px solid oklch(var(--background-200));border-radius:28px;background:oklch(var(--background-50));color:oklch(var(--foreground-950));box-shadow:0 24px 100px #071a3740;overflow:auto;overscroll-behavior:contain;text-align:right}
.auth-dialog[open]{animation:auth-enter .23s ease-out}
.auth-dialog::backdrop{background:#071a37a6;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.auth-content{position:relative;padding:30px 28px}
.auth-close{position:absolute;top:16px;left:16px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:oklch(var(--background-100));font-size:23px;cursor:pointer}
.auth-brand{display:grid;place-items:center;width:108px;height:50px;margin:0 auto 16px}
.auth-brand img{display:block;width:100%;height:100%;object-fit:contain}
.auth-dialog h2{font-size:20px;font-weight:900;text-align:center;line-height:1.8}
.auth-intro{margin-top:6px;text-align:center;font-size:12px;color:oklch(var(--foreground-500));line-height:1.8}
.auth-tabs{display:flex;gap:5px;margin:24px 0;padding:5px;border:1px solid oklch(var(--background-200));border-radius:15px;background:oklch(var(--background-100))}
.auth-tabs button{flex:1;min-height:42px;border-radius:10px;font-size:13px;font-weight:700;color:oklch(var(--foreground-500));cursor:pointer}
.auth-tabs button[aria-selected="true"]{background:oklch(var(--background-50));color:oklch(var(--primary-700));box-shadow:0 2px 8px #071a3710}
.auth-form{display:flex;flex-direction:column;gap:9px}
.auth-form label{font-size:12px;font-weight:700;margin-top:5px}
.auth-form input{width:100%;min-width:0;height:48px;padding:0 14px;border:1px solid oklch(var(--background-200));border-radius:12px;background:oklch(var(--background-50));color:oklch(var(--foreground-950));font-size:16px;transition:border-color .15s}
.auth-form input::placeholder{color:oklch(var(--foreground-400));font-size:12px}
.auth-password{position:relative}
.auth-password input{padding-left:50px}
.auth-password button{position:absolute;inset:2px auto 2px 2px;width:44px;border-radius:10px;color:oklch(var(--foreground-500));font-size:20px;cursor:pointer}
.auth-submit{display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;margin-top:15px;border-radius:13px;background:oklch(var(--primary-600));color:white;font-size:13px;font-weight:800;cursor:pointer}
.auth-submit:hover{background:oklch(var(--primary-700))}
.auth-status{font-size:12px;line-height:1.9;color:oklch(var(--foreground-600))}
.auth-status:empty{display:none}
.auth-dialog :focus-visible{outline:3px solid oklch(var(--primary-300));outline-offset:2px}
.auth-dialog [hidden]{display:none!important}
@keyframes auth-enter{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:380px){.auth-content{padding:28px 18px}.auth-dialog h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){.auth-dialog[open]{animation:none}.auth-form input{transition:none}}
