/* Login aprovado em docs/redesign/login-v1.html. Só apresentação: preserva MFA, captcha e sessão. */
@font-face{font-family:Inter;src:url('/fonts/inter.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Outfit;src:url('/fonts/outfit.woff2') format('woff2');font-weight:600;font-display:swap}
:root{--auth-bg:#F1F5EC;--auth-surface:#fff;--auth-muted:#F5F8F1;--auth-ink:#16211E;--auth-secondary:#4F655B;--auth-line:#DDE5DA;--auth-signal:#2F7D68;--auth-badge:#EEF9CC;--auth-error:#B4472F;--auth-error-bg:#F8E5DF;--auth-shadow:0 1px 2px rgb(12 59 52/.04),0 8px 24px -12px rgb(12 59 52/.14);--auth-grad:radial-gradient(120% 140% at 100% 0%,#1E6B58 0%,transparent 55%),linear-gradient(150deg,#12564A,#0C3B34 70%)}
:root[data-theme="dark"]{--auth-bg:#06110D;--auth-surface:#0D1D18;--auth-muted:#11251E;--auth-ink:#EAF2EC;--auth-secondary:#A3B8AE;--auth-line:#1F362E;--auth-signal:#5FC4A1;--auth-badge:#1D2E12;--auth-error:#F09A86;--auth-error-bg:#2E1914;--auth-shadow:0 1px 0 rgb(255 255 255/.03) inset,0 10px 28px -14px rgb(0 0 0/.6)}
[hidden]{display:none!important}
.topbar-actions{display:flex;align-items:center;gap:16px}
body:has(.auth-screen:not([hidden])){background:var(--auth-bg);color:var(--auth-ink);min-height:100svh}
body:has(.auth-screen:not([hidden]))>.topbar{display:none}
.auth-screen{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;width:min(100%,1800px);margin:0 auto;min-height:100svh;padding:16px;font:400 14px/1.5 Inter,ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.auth-intro{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:48px;min-height:560px;border-radius:24px;padding:40px;background:var(--auth-grad);color:#F1F5EC}
.auth-intro:after{content:"";position:absolute;right:-120px;bottom:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgb(215 248 135/.16),transparent 65%);pointer-events:none}
.auth-brand{position:relative;z-index:1}
.auth-brand .brand{gap:12px}
.auth-brand .mark{width:42px;height:42px}
.auth-brand .brand-name{width:108px}
.auth-brand .brand-name path{fill:#F1F5EC}
.auth-promise{position:relative;z-index:1}
.auth-promise h1{font:600 40px/1.08 Outfit,Inter,sans-serif;letter-spacing:-.02em;max-width:14ch;margin:0;text-wrap:balance}
.auth-promise h1 em{font-style:normal;color:#D7F887}
.auth-promise p{margin:14px 0 0;max-width:42ch;font-size:15px;color:#D1E3D9}
.auth-trust{position:relative;z-index:1;list-style:none;margin:0;padding:0;display:grid;gap:12px}
.auth-trust li{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;color:#D1E3D9}
.auth-trust b{display:block;font-weight:600;color:#F1F5EC}
.auth-trust-icon{width:34px;height:34px;border-radius:10px;background:rgb(255 255 255/.08);color:#D7F887;display:grid;place-items:center;flex:none}
.auth-trust-icon svg{width:18px;height:18px}
.auth-side{align-self:center;justify-self:center;display:flex;flex-direction:column;gap:22px;width:min(420px,100%);padding:24px 0}
.auth-access-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.auth-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:var(--auth-badge);color:var(--auth-signal);font-size:12px;font-weight:600}
.auth-badge svg{width:14px;height:14px;flex:none}
.auth-theme{display:grid;place-items:center;width:38px;min-width:38px;height:38px;padding:0;border-radius:10px;background:transparent;color:var(--auth-secondary);transition:background .18s,transform .18s}
.auth-theme svg{width:18px;height:18px}
.auth-theme:hover{background:var(--auth-surface);transform:translateY(-1px);filter:none}
.auth-box{min-width:0;padding:28px;background:var(--auth-surface);border-radius:20px;box-shadow:var(--auth-shadow)}
.auth-box h2{font:600 24px/1.25 Outfit,Inter,sans-serif;letter-spacing:-.02em;margin:0;color:var(--auth-ink)}
.auth-description{font-size:14px;color:var(--auth-secondary);margin:6px 0 20px}
.auth-steps{display:flex;gap:6px;margin-bottom:18px}
.auth-steps span{height:4px;flex:1;background:var(--auth-line);border-radius:4px}
.auth-steps .auth-step-first,#login-form[data-stage="code"] .auth-step-code{background:var(--auth-grad)}
.auth-fields{display:flex;flex-direction:column;gap:6px}
.auth-fields label{font-size:13px;font-weight:600;color:var(--auth-ink)}
.auth-fields input{height:46px;min-height:46px;margin:0;padding:0 14px;font-size:16px;border:0;border-radius:12px;background:var(--auth-muted);color:var(--auth-ink);box-shadow:inset 0 0 0 1px var(--auth-line);caret-color:var(--auth-signal)}
.auth-fields input:hover{box-shadow:inset 0 0 0 1px var(--auth-secondary)}
.auth-fields input:focus{outline:0;box-shadow:inset 0 0 0 1.5px var(--auth-signal);background:var(--auth-surface)}
.auth-fields input::placeholder{color:var(--auth-secondary);opacity:1}
.auth-fields>label:not(:first-child){margin-top:8px}
.password-control{position:relative}
.password-control input{padding-right:84px}
.password-control button{position:absolute;right:8px;top:7px;height:32px;min-height:32px;padding:0 10px;border-radius:8px;background:transparent;color:var(--auth-signal);font-size:12.5px;font-weight:600}
.password-control button:hover{background:var(--auth-muted);filter:none}
.auth-help{font-size:12px;color:var(--auth-secondary);margin:4px 0 8px;line-height:1.5}
.auth-link{display:inline-flex;align-items:center;padding:8px 0;min-height:40px;font-size:13px;font-weight:600;color:var(--auth-signal);background:transparent;text-align:left;text-decoration:underline;text-underline-offset:4px}
.auth-link:hover{filter:none;text-decoration-thickness:2px}
.auth-status{font-size:13px;line-height:1.45;margin:14px 0;padding:12px 14px;border-radius:12px;color:var(--auth-error);background:var(--auth-error-bg)}
.auth-status:empty{padding:0;margin:20px 0 0}
.auth-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;height:48px;min-height:48px;border-radius:12px;font-size:14.5px;font-weight:600;background:var(--auth-grad);color:#F1F5EC;transition:transform .18s,box-shadow .18s}
.auth-submit svg{width:18px;height:18px}
.auth-submit:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 14px 30px -20px rgb(12 59 52/.5)}
.auth-submit:active:not(:disabled){transform:scale(.98)}
.auth-submit:disabled{opacity:.5;cursor:wait;transform:none}
.auth-footnote{font-size:12px;color:var(--auth-secondary);text-align:center;line-height:1.5;margin:0;padding:0;border:0}
.auth-setup p{font-size:14px;color:var(--auth-secondary)}
.auth-setup code{display:block;font-size:13px;white-space:normal;overflow-wrap:anywhere;color:var(--auth-ink);padding:12px;background:var(--auth-muted);border-radius:10px}
.auth-noscript{padding:16px;text-align:center;color:var(--auth-ink)}
.captcha-slot{width:100%;min-height:0}
.auth-screen :focus-visible{outline:2px solid var(--auth-signal);outline-offset:2px}
.auth-screen ::selection{background:#D7F887;color:#0C3B34}
#login-code{font:600 22px Outfit,Inter,sans-serif;letter-spacing:.3em;text-align:center;padding-left:.3em;font-variant-numeric:tabular-nums}
#login-code[inputmode="text"]{font:400 15px Inter,sans-serif;letter-spacing:normal;text-align:left;padding-left:14px}
@media(max-width:900px){.auth-screen{grid-template-columns:minmax(0,1fr)}.auth-intro{min-height:auto;padding:24px;gap:24px}.auth-promise h1{font-size:28px;max-width:22ch}.auth-trust{display:none}.auth-side{padding:8px 0 24px}.auth-box{padding:22px}}
@media(prefers-reduced-motion:reduce){.auth-screen *{transition:none!important;animation:none!important}.auth-theme:hover,.auth-submit:hover{transform:none}}
