
body.auth-locked { padding:0; overflow:auto; }
body.auth-locked > :not(#authRoot):not(script) { display:none!important; }
#authRoot:empty { display:none; }
#authRoot { min-height:100dvh; display:grid; place-items:center; padding:32px 20px; background:#f1f2f6; }
.auth-card { position:relative; width:100%; max-width:420px; padding:28px 28px 22px; background:white; border:1px solid #eee; border-radius:28px; box-shadow:0 20px 70px #0a214f0d; color:#333; }
.auth-art { position:relative; height:250px; display:grid;place-items:center;overflow:hidden; }
.auth-orbit { position:absolute;width:220px;height:220px;border:1px solid var(--primary-border);border-radius:50%; }
.auth-orbit::before,.auth-orbit::after { content:"";position:absolute;inset:30px;border:1px solid var(--primary-border);border-radius:50%; }
.auth-orbit::after { inset:65px; }
.auth-symbol { position:absolute;display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:var(--primary-bg);font-size:23px; }
.auth-symbol:nth-child(2){left:45px;top:40px}.auth-symbol:nth-child(3){right:42px;top:65px}.auth-symbol:nth-child(4){left:35px;bottom:48px}.auth-symbol:nth-child(5){right:55px;bottom:30px}
.auth-logo { position:relative;width:130px;max-height:60px;object-fit:contain; }
.auth-card h1 { font-size:23px;line-height:1.3;margin:14px 0;text-align:center;color:#161a23; }
.auth-intro { text-align:center;color:#999;font-size:14px;line-height:1.6;margin:0 0 22px; }
.auth-company { display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;background:white;border:1px solid #eee;border-radius:16px;text-align:left;cursor:pointer; }
.auth-dot { width:28px;height:28px;flex-shrink:0;border-radius:50%;background:var(--primary); }
.auth-company small { display:block;color:#999;font-size:12px;margin-bottom:3px; }
.auth-company strong { font-size:14px; }.auth-chevron { margin-left:auto;color:#999; }
.auth-primary { width:100%;height:48px;border:0;border-radius:99px;background:var(--primary);color:white;font-weight:600;cursor:pointer;margin-top:16px; }
.auth-primary:disabled { opacity:.45;cursor:default; }
.auth-note { text-align:center;font-size:12px;line-height:1.5;color:#999;margin:20px 0 0; }
.auth-back { border:0;background:var(--primary-bg);color:var(--primary);width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:20px; }
.auth-card h2 { margin:28px 0 18px;font-size:20px; }
.auth-label { display:block;color:#666;font-size:13px;margin-bottom:8px; }
.auth-input { width:100%;height:52px;border:1px solid #ddd;border-radius:14px;padding:0 14px;font-size:17px;outline:none;background:#fff;color:#333; }
.auth-input:focus { border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg); }
.auth-error { color:#c53030;font-size:13px;min-height:20px;margin:9px 0 0; }
.auth-choices { display:flex;flex-direction:column;gap:10px;margin:20px 0; }.auth-choices button[aria-pressed="true"]{border-color:var(--primary);background:var(--primary-bg)}
.auth-session-exit { display:block;width:100%;border:0;border-top:1px solid var(--border);background:none;color:var(--text);padding:14px 0 0;margin-top:16px;text-align:left;cursor:pointer; }
@media(max-width:600px){#authRoot{padding:16px;}.auth-card{padding:22px 20px;box-shadow:none;border-radius:24px}.auth-art{height:235px}.auth-card h1{font-size:21px}}

.auth-card .auth-code-title { text-align:center; margin:30px 0 12px; }
.auth-code { display:flex; justify-content:center; gap:8px; margin:28px 0 8px; }
.auth-code-digit { width:46px; min-width:0; height:56px; border:1px solid #eee; background:#f1f2f6; border-radius:12px; text-align:center; font:500 24px Inter,Arial,sans-serif; color:#333; outline:none; caret-color:var(--primary); padding:0; transition:border-color .15s,box-shadow .15s; }
.auth-code-digit:focus { border-color:var(--primary); box-shadow:0 0 0 3px var(--primary-bg); background:white; }
.auth-code-digit[aria-invalid="true"] { border-color:#f04438; background:#fff5f4; }
.auth-resend { display:block; margin:20px auto 0; padding:6px; border:0; background:none; color:var(--primary); cursor:pointer; font-size:14px; }
@media(max-width:380px) { .auth-code { gap:6px; } .auth-code-digit { flex:1; width:36px; height:52px; } }

.auth-company-dropdown { position:absolute; z-index:5; left:28px; right:28px; margin-top:4px; padding:4px; border:1px solid #eee; border-radius:8px; background:white; box-shadow:0 6px 20px rgba(0,0,0,.12); }
.auth-company-option { display:block; width:100%; border:0; border-radius:4px; padding:10px 12px; text-align:left; background:white; color:#333; font-size:14px; cursor:pointer; }
.auth-company-option:hover,.auth-company-option:focus-visible { background:#f5f5f5; outline:none; }
.auth-company-option[aria-selected="true"] { color:var(--primary); background:var(--primary-bg); }
@media(max-width:600px){.auth-company-dropdown{left:20px;right:20px}}
