:root { --primary: #ffffff; --bg: #0a0a0a; --card: #161616; --text: #fff; --danger: #ff4d4d; --success: #28a745; --purple: #ccff01; }
* { box-sizing: border-box; }
body { font-family: 'Segoe UI', sans-serif; background: var(--bg); color: var(--text); margin: 0; overflow: hidden; }

.hidden { display: none !important; }

/* ── Wave ── */
.wave-container { position: relative; flex: 1; background: #000; display: flex; justify-content: center; align-items: center; overflow: hidden; pointer-events: none; }
#wave-svg { position: absolute; width: 850px; height: 850px; }
.wave-logo { width: 65px; height: auto; z-index: 10; position: relative; filter: drop-shadow(0 0 15px rgba(255, 255, 255, 0.2)); }

/* ── Desktop auth layout ── */
.auth-overlay { position: fixed; inset: 0; display: flex; align-items: stretch; min-height: 100vh; background: #000; padding: 0; }
.auth-divider { width: 1px; background: #111; flex-shrink: 0; }
.auth-right { width: 40%; flex-shrink: 0; background: #111; display: flex; align-items: center; justify-content: center; padding: 48px 40px; }
.auth-desktop-header { display: flex; }
.auth-mobile-logo { display: none; }

/* ── Toasts ── */
.toast-container { position: fixed; top: 20px; right: 20px; z-index: 99999; display: flex; flex-direction: column; gap: 10px; }
.toast { padding: 14px 20px; border-radius: 10px; font-size: 13px; font-weight: bold; color: #fff; min-width: 250px; max-width: 350px; display: flex; align-items: center; gap: 10px; animation: slideIn 0.3s ease; box-shadow: 0 4px 20px rgba(0,0,0,0.4); }
.toast.success { background: #1a3a2a; border: 1px solid var(--success); }
.toast.error   { background: #3a1a1a; border: 1px solid var(--danger); }
.toast.warning { background: #3a2e1a; border: 1px solid #f59e0b; }
.toast-icon { font-size: 16px; }
.toast-msg { flex: 1; }

/* ── Animations ── */
@keyframes slideIn  { from { opacity: 0; transform: translateX(50px); }  to { opacity: 1; transform: translateX(0); } }
@keyframes slideOut { from { opacity: 1; transform: translateX(0); }      to { opacity: 0; transform: translateX(50px); } }
@keyframes fadeIn   { from { opacity: 0; transform: translateY(5px); }   to { opacity: 1; transform: translateY(0); } }
@keyframes popIn    { from { opacity: 0; transform: scale(0.85); }        to { opacity: 1; transform: scale(1); } }

/* ── Mobile — idêntico ao original ── */
@media (max-width: 768px) {
    body { overflow: auto; }
    .auth-card { padding: 30px 24px; margin: 16px; }
    .toast-container { top: auto; bottom: 90px; right: 12px; left: 12px; }
    .toast { min-width: unset; max-width: 100%; }
    .auth-left { display: none !important; }
    .auth-divider { display: none !important; }
    .auth-right { width: 100% !important; background: #0a0a0a !important; align-items: center !important; justify-content: center !important; padding: 40px 24px !important; }
    .auth-right > div { background: #161616 !important; border-radius: 20px !important; padding: 36px 28px !important; box-shadow: 0 8px 40px rgba(0,0,0,0.6) !important; }
    .auth-desktop-header { display: none !important; }
    .auth-mobile-logo { display: flex !important; }
}
