﻿/* Protegido.Digital - Auth CSS */
.auth-page { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 100px 28px 60px; background: var(--c-bg); position: relative; overflow: hidden; }
.auth-page::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse 60% 60% at 50% 0%, rgba(73,235,211,0.07) 0%, transparent 60%); pointer-events: none; }
.auth-card { position: relative; z-index: 2; width: 100%; max-width: 440px; background: var(--c-bg3); border: 1px solid var(--c-border); border-radius: var(--r); padding: 44px; }
.auth-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--g-main); border-radius: var(--r) var(--r) 0 0; }
.auth-logo { display: flex; justify-content: center; margin-bottom: 32px; }
.auth-logo img { height: 48px; }
.auth-title { font-size: 1.6rem; font-weight: 800; text-align: center; margin-bottom: 6px; }
.auth-sub { color: var(--c-muted); font-size: 0.88rem; text-align: center; margin-bottom: 28px; }
.auth-social { display: flex; flex-direction: column; gap: 10px; margin-bottom: 24px; }
.auth-social-btn { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 12px 20px; border-radius: 50px; background: var(--c-bg); border: 1px solid var(--c-border); color: var(--c-white); font-family: "Inter", sans-serif; font-size: 0.88rem; font-weight: 600; cursor: pointer; transition: all var(--t) var(--ease); text-decoration: none; }
.auth-social-btn:hover { border-color: var(--c-border-a); background: var(--c-logo); transform: translateY(-1px); }
.auth-social-btn i { font-size: 1rem; }
.auth-divider { display: flex; align-items: center; gap: 12px; margin: 20px 0; color: var(--c-dim); font-size: 0.78rem; }
.auth-divider::before, .auth-divider::after { content: ""; flex: 1; height: 1px; background: var(--c-border); }
.auth-form { display: flex; flex-direction: column; gap: 16px; }
.auth-field { display: flex; flex-direction: column; gap: 6px; }
.auth-field label { font-size: 0.78rem; font-weight: 600; color: var(--c-muted); letter-spacing: 0.03em; }
.auth-input-wrap { position: relative; }
.auth-input-wrap i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--c-dim); font-size: 0.85rem; pointer-events: none; }
.auth-input { width: 100%; background: rgba(255,255,255,0.03); border: 1px solid var(--c-border); border-radius: var(--r-xs); color: var(--c-white); font-family: "Inter", sans-serif; font-size: 0.92rem; padding: 12px 16px 12px 40px; transition: all var(--t); outline: none; }
.auth-input::placeholder { color: var(--c-dim); }
.auth-input:focus { border-color: rgba(73,235,211,0.4); background: rgba(73,235,211,0.03); box-shadow: 0 0 0 3px rgba(73,235,211,0.08); }
.auth-input--error { border-color: rgba(239,68,68,0.5); }
.auth-toggle-pass { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); background: none; border: none; color: var(--c-dim); cursor: pointer; padding: 4px; transition: color var(--t); }
.auth-toggle-pass:hover { color: var(--c-white); }
.auth-strength { height: 3px; border-radius: 2px; margin-top: 6px; transition: all var(--t); }
.auth-strength--fraca { background: #ef4444; width: 25%; }
.auth-strength--media { background: #f59e0b; width: 50%; }
.auth-strength--forte { background: #22c55e; width: 75%; }
.auth-strength--muito-forte { background: var(--g-main); width: 100%; }
.auth-criteria { display: flex; flex-direction: column; gap: 4px; margin-top: 8px; }
.auth-criteria-item { display: flex; align-items: center; gap: 6px; font-size: 0.75rem; color: var(--c-dim); transition: color var(--t); }
.auth-criteria-item.ok { color: #22c55e; }
.auth-criteria-item i { font-size: 0.65rem; }
.auth-error { display: flex; align-items: center; gap: 8px; padding: 12px 14px; background: rgba(239,68,68,0.08); border: 1px solid rgba(239,68,68,0.25); border-radius: var(--r-xs); font-size: 0.82rem; color: #ef4444; }
.auth-links { display: flex; justify-content: space-between; align-items: center; margin-top: 4px; }
.auth-link { color: var(--c-accent); font-size: 0.82rem; text-decoration: none; transition: opacity var(--t); }
.auth-link:hover { opacity: 0.8; }
.auth-footer { text-align: center; margin-top: 20px; font-size: 0.82rem; color: var(--c-dim); }
.auth-footer a { color: var(--c-accent); text-decoration: none; }
.auth-verify { text-align: center; padding: 20px 0; }
.auth-verify i { font-size: 3rem; color: var(--c-accent); margin-bottom: 16px; }
.auth-verify h3 { font-size: 1.2rem; font-weight: 700; margin-bottom: 8px; }
.auth-verify p { color: var(--c-muted); font-size: 0.88rem; line-height: 1.6; }
@media (max-width: 480px) { .auth-card { padding: 28px 20px; } }