:root{--auth-green:#168a4a;--auth-green-dark:#0f6b39;--auth-ink:#13212b;--auth-muted:#667085;--auth-line:#dce7e1;--auth-bg:#f3f8f5;--auth-panel-width:740px}
*{box-sizing:border-box}.auth-page{margin:0;min-height:100vh;background:linear-gradient(180deg,#f8fbf9,#edf6f1);color:var(--auth-ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.auth-header{display:flex;justify-content:center;padding:28px 20px 8px}.auth-brand img{width:min(220px,60vw);height:auto;display:block}.auth-shell{width:min(var(--auth-panel-width),calc(100% - 32px));margin:22px auto 40px}.auth-card{width:min(520px,100%);margin:0 auto;padding:30px;border:1px solid var(--auth-line);border-radius:24px;background:#fff;box-shadow:0 24px 60px rgba(15,23,42,.08)}.auth-card-wide{width:100%}.auth-card h1{margin:0 0 10px;font-size:clamp(1.65rem,4vw,2.35rem);letter-spacing:-.035em}.auth-card h2{font-size:1.1rem;margin:24px 0 6px}.auth-card p{color:var(--auth-muted);line-height:1.55}.auth-lead{font-size:1.08rem}.auth-kicker{display:inline-flex;margin-bottom:14px;padding:7px 11px;border-radius:999px;background:#ecfdf3;color:#08783f;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.auth-form{display:grid;gap:16px;margin-top:22px}.auth-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-span-2{grid-column:1/-1}.auth-form label{display:grid;gap:7px;font-size:.9rem;font-weight:800;align-self:start;align-content:start}.auth-form input,.auth-form select,.auth-form textarea{width:100%;border:1px solid #cddbd3;border-radius:12px;background:#fff;padding:12px 13px;font:inherit;color:var(--auth-ink);outline:none}.auth-form input:focus,.auth-form select:focus,.auth-form textarea:focus{border-color:#53a979;box-shadow:0 0 0 3px rgba(22,138,74,.12)}.auth-form small,.auth-optional{font-weight:500;color:#7b8794}.auth-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:10px!important;font-weight:600!important}.auth-check input{width:18px;height:18px;margin-top:2px}.auth-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 20px;border-radius:12px;border:1px solid transparent;font-weight:850;text-decoration:none;cursor:pointer;font-size:.96rem}.auth-btn-primary{background:var(--auth-green);color:#fff}.auth-btn-primary:hover{background:var(--auth-green-dark)}.auth-btn-secondary{background:#fff;color:var(--auth-green-dark);border-color:#b7d7c5}.auth-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.auth-links{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-top:18px;font-size:.92rem}.auth-links a,.auth-footer a,.auth-link-button,.auth-check a{color:var(--auth-green-dark);font-weight:750}.auth-inline-form{margin-top:15px}.auth-link-button{border:0;background:transparent;padding:0;text-decoration:underline;cursor:pointer}.auth-flashes{display:grid;gap:8px;margin:0 auto 14px;width:min(520px,100%)}.auth-flash{border-radius:12px;padding:11px 13px;font-size:.92rem;line-height:1.4}.auth-flash-error{background:#fff1f2;color:#9f1239;border:1px solid #fecdd3}.auth-flash-success{background:#ecfdf3;color:#166534;border:1px solid #bbf7d0}.auth-flash-info{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.auth-flash-warning{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.auth-code{font-size:1.45rem!important;letter-spacing:.28em;text-align:center;font-weight:800}.auth-note{font-size:.9rem}.auth-footer{display:flex;justify-content:center;gap:8px;padding:0 20px 28px;color:#7b8794;font-size:.84rem}.auth-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}.auth-status-dot{display:block;width:14px;height:14px;border-radius:50%;background:#f59e0b;margin-bottom:16px}.auth-legal{line-height:1.6}.auth-legal p{max-width:74ch}.auth-legal strong{color:var(--auth-ink)}
@media(max-width:640px){.auth-card{padding:22px;border-radius:18px}.auth-form-grid{grid-template-columns:1fr}.auth-span-2{grid-column:auto}.auth-actions{display:grid}.auth-btn{width:100%}}
.auth-nav-logout{display:inline-flex;margin:0}.auth-nav-user{border:1px solid #d4e3da;background:#fff;color:#355044;border-radius:999px;padding:.48rem .72rem;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer;white-space:nowrap}.auth-nav-user:hover{border-color:#9dc5ad;color:#0f6b39}

/* V51.37 — autenticação discreta e formulários alinhados. */
.home-access-locked{overflow:hidden}
.access-gate-overlay{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:24px;background:rgba(239,247,243,.58);backdrop-filter:blur(6px) saturate(.72);-webkit-backdrop-filter:blur(6px) saturate(.72)}
.access-gate-card{width:min(var(--auth-panel-width),calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;padding:30px;border:1px solid rgba(205,219,211,.96);border-radius:24px;background:rgba(255,255,255,.96);box-shadow:0 28px 80px rgba(15,23,42,.18)}
.access-gate-card h1{margin:0 0 10px;font-size:clamp(1.7rem,4vw,2.25rem);letter-spacing:-.035em;color:var(--auth-ink)}
.access-gate-card p{color:var(--auth-muted);line-height:1.55}
.access-gate-card .auth-actions{margin-bottom:18px}
.access-gate-legal{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;font-size:.86rem;color:#7b8794}
.access-gate-legal a{color:var(--auth-green-dark);font-weight:750}
@media(max-width:640px){.access-gate-overlay{padding:16px}.access-gate-card{padding:22px;border-radius:18px}.access-gate-card .auth-actions{display:grid}.access-gate-card .auth-btn{width:100%}}
