/* Connect AI V3.9 — login único com visual Glass; apenas apresentação no cliente. */
html.auth-locked .app, html.auth-locked .glass-dock { display:none!important; }
html:not(.auth-locked) #auth-screen { display:none!important; }
#auth-screen {position:fixed;inset:0;z-index:65;display:grid;place-items:center;overflow-y:auto;padding:clamp(20px,5vw,50px) 18px;background:radial-gradient(ellipse 60% 53% at 14% 8%,rgba(71,110,185,.19),transparent 80%),radial-gradient(ellipse 56% 58% at 90% 83%,rgba(61,120,160,.14),transparent 80%),#080d17;color:#f1f6ff;font-family:Inter,Manrope,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;}
#auth-screen::before {content:'';position:fixed;inset:0;pointer-events:none;opacity:.27;background-image:linear-gradient(90deg,rgba(199,216,255,.06) 1px,transparent 1px),linear-gradient(0deg,rgba(199,216,255,.06) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse at center,#000,transparent 80%)}
.auth-frame{position:relative;width:min(100%,448px);padding:12px 0 4px;}
.auth-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:32px;color:#f7faff;}
.auth-symbol{display:grid;place-items:center;width:47px;height:47px;border-radius:16px;background:linear-gradient(135deg,rgba(203,224,255,.23),rgba(86,116,177,.14));border:1px solid rgba(212,231,255,.29);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 10px 36px #0005;}
.auth-symbol svg{width:28px;height:28px;stroke:#d7e7ff;stroke-width:2.7;fill:none;stroke-linejoin:round;stroke-linecap:round}
.auth-logo strong{font-size:23px;letter-spacing:-.08em;font-weight:760}.auth-logo strong span{color:#a5c6f8;letter-spacing:-.065em}
.auth-card{position:relative;overflow:hidden;border-radius:30px;background:linear-gradient(145deg,rgba(39,51,74,.83),rgba(18,26,43,.91) 65%,rgba(24,34,55,.90));border:1px solid rgba(217,230,255,.20);box-shadow:inset 0 1px 0 rgba(255,255,255,.19),0 30px 85px #0008,0 4px 20px #0005;backdrop-filter:blur(30px) saturate(1.4);-webkit-backdrop-filter:blur(30px) saturate(1.4);padding:clamp(26px,6vw,40px)}
.auth-card::before{content:'';position:absolute;pointer-events:none;inset:0 0 auto;height:145px;background:linear-gradient(175deg,rgba(227,240,255,.10),transparent 75%)}
.auth-overline{position:relative;margin:0 0 13px;color:#a9c6f7;font-weight:720;font-size:10px;letter-spacing:.16em;text-transform:uppercase;}
.auth-title{position:relative;font-size:clamp(28px,6vw,35px);line-height:1.15;letter-spacing:-.06em;font-weight:760;margin:0 0 13px;color:#f7faff}
.auth-subtitle{position:relative;font-size:13px;line-height:1.65;color:#a8b8cc;margin:0 0 27px}
.auth-form{position:relative;display:grid;gap:16px}
.auth-fieldset{display:grid;gap:7px}.auth-fieldset label{font-weight:650;font-size:12px;color:#d1dcef}
.auth-input-wrap{display:flex;align-items:center;position:relative;border-radius:14px;border:1px solid rgba(194,213,244,.20);background:rgba(8,15,30,.55);transition:border-color .2s,box-shadow .2s}
.auth-input-wrap:focus-within{border-color:rgba(157,199,255,.72);box-shadow:0 0 0 3px rgba(119,165,246,.11)}
.auth-input{min-width:0;width:100%;color:#f7fbff;padding:15px 15px;font-size:14px;background:transparent;outline:none;border:0;border-radius:14px;font:inherit}.auth-input::placeholder{color:#6f809b}
.auth-show{flex:none;border:0;background:transparent;color:#b4c9e9;padding:12px;cursor:pointer;font-size:12px;font-weight:650}.auth-show:focus-visible,.auth-submit:focus-visible,.auth-logout:focus-visible{outline:2px solid #a6ccff;outline-offset:3px}
.auth-submit{margin-top:5px;display:flex;align-items:center;justify-content:center;gap:9px;width:100%;border:0;border-radius:14px;padding:16px 22px;background:linear-gradient(130deg,#d5e7ff,#a9c9fa);color:#15243c;font-size:14px;font-weight:760;cursor:pointer;box-shadow:inset 0 1px 0 #fff9,0 10px 27px rgba(89,141,232,.17);transition:transform .2s,filter .2s}.auth-submit:hover{filter:brightness(1.07);transform:translateY(-1px)}.auth-submit:disabled{opacity:.7;cursor:wait;transform:none}
.auth-feedback{min-height:0;color:#ffb4b4;font-size:12px;line-height:1.6;padding:0;margin:0}.auth-feedback:not(:empty){padding:12px 13px;border:1px solid #ffa2a240;background:#ff5f5f12;border-radius:12px}
.auth-footer{display:flex;align-items:center;justify-content:center;gap:8px;margin:24px 0 0;color:#899ab3;font-size:11px;text-align:center}.auth-lock-dot{width:6px;height:6px;border-radius:50%;background:#9cc5ff;box-shadow:0 0 10px #9cc5ff77}
.auth-logout{margin-left:11px;border:1px solid var(--border);background:var(--inset);color:var(--soft);font-size:11px;font-weight:650;border-radius:99px;padding:8px 12px;cursor:pointer;white-space:nowrap}
@media(max-width:690px){.auth-logo{margin-bottom:23px}.auth-card{border-radius:26px}.auth-logout{padding:8px 10px}.auth-frame{max-width:400px}}
@media(prefers-reduced-motion:reduce){.auth-submit{transition:none}}

/* V4.0: recuperação de senha mantém o formulário Glass original. */
#auth-form[hidden],#auth-forgot-form[hidden],#auth-reset-form[hidden]{display:none!important}
.auth-link{width:fit-content;justify-self:end;border:0;background:transparent;color:#bed7fd;font-size:12px;font-weight:650;padding:4px 0;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.auth-link--back{justify-self:center;margin-top:1px;text-decoration:none}
.auth-link:hover{color:#fff}
.auth-link:focus-visible{outline:2px solid #a6ccff;outline-offset:4px;border-radius:2px}
#auth-feedback[data-kind="success"]{color:#c9f6db;background:#3ec67d13;border-color:#62da9a44}
#auth-feedback[data-kind="info"]{color:#cbdffc;background:#7099d51a;border-color:#8fb5f244}
