.auth-button { margin-left:30px; border:0; color:#333; background:transparent; font:600 1.25rem 'Poppins',sans-serif; padding:10px 24px; border-radius:30px; cursor:pointer; transition:all .3s cubic-bezier(.25,.8,.25,1); }
.auth-button:hover { color:#fff; background:linear-gradient(135deg,#0077ff,#00bfff); box-shadow:0 5px 15px rgba(0,119,255,.35); transform:translateY(-3px); }
.auth-profile { display:grid; place-items:center; width:44px; height:44px; margin-left:30px; overflow:hidden; border-radius:50%; color:#fff; background:linear-gradient(135deg,#0077ff,#00bfff); font-weight:800; box-shadow:0 4px 12px rgba(0,119,255,.25); }
.auth-profile img { width:100%; height:100%; object-fit:cover; }
.auth-modal { position:fixed; inset:0; z-index:40; display:grid; place-items:center; padding:20px; background:rgba(0,0,0,.58); }
.auth-modal[hidden] { display:none; }
.auth-panel { width:min(420px,100%); padding:34px; border-radius:12px; background:#fff; box-shadow:0 24px 70px rgba(0,0,0,.3); }
.auth-close { float:right; width:34px; height:34px; border:0; border-radius:50%; color:#222; background:#f1f4f8; font-size:1.5rem; cursor:pointer; }
.auth-eyebrow { display:block; margin-bottom:9px; color:#0077ff; font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.auth-panel h2 { margin-bottom:18px; color:#222; font-size:1.8rem; }
.auth-message { min-height:22px; margin-bottom:8px; color:#0077ff; font-size:.84rem; }
.auth-message.error { color:#c0394b; }
.auth-form { display:grid; gap:14px; }
.auth-form label { display:grid; gap:6px; color:#53647a; font-size:.78rem; font-weight:600; }
.auth-form input { width:100%; border:1px solid #dce4ed; border-radius:7px; padding:12px; color:#222; background:#fff; font:500 .95rem 'Poppins',sans-serif; outline:none; }
.auth-form input:focus { border-color:#0077ff; box-shadow:0 0 0 3px rgba(0,119,255,.14); }
.auth-submit { border:0; border-radius:7px; padding:13px; color:#fff; background:#0077ff; font-weight:700; cursor:pointer; }
.auth-submit:hover { background:#005fcc; }
.auth-submit:disabled { cursor:wait; opacity:.65; }
.auth-divider { display:flex; align-items:center; gap:10px; margin:16px 0; color:#9aa7b6; font-size:.8rem; }
.auth-divider::before,.auth-divider::after { content:""; height:1px; flex:1; background:#e5eaf0; }
.auth-google { width:100%; border:1px solid #dce4ed; border-radius:7px; padding:12px; color:#222; background:#fff; font:700 .88rem 'Poppins',sans-serif; cursor:pointer; }
.auth-google:hover { border-color:#0077ff; box-shadow:0 4px 12px rgba(0,119,255,.14); }
.auth-google:disabled { cursor:wait; opacity:.65; }
.auth-switch { margin-top:18px; border:0; color:#0077ff; background:transparent; font:600 .84rem 'Poppins',sans-serif; cursor:pointer; }
@media (max-width:768px) { .auth-button { margin-left:0; padding:10px 24px; font-size:14px; } .auth-profile { margin-left:0; } }
