* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Inter', sans-serif; background: linear-gradient(135deg, #1e3a5f 0%, #0f2027 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; }
.auth-wrapper { width: 100%; max-width: 420px; padding: 1rem; }
.auth-card { background: #fff; border-radius: 20px; padding: 2.5rem; box-shadow: 0 24px 64px rgba(0,0,0,0.3); }
.auth-logo { width: 64px; height: 64px; background: linear-gradient(135deg, #3b82f6, #1d4ed8); border-radius: 16px; display: flex; align-items: center; justify-content: center; margin: 0 auto 1.25rem; }
.auth-logo i { font-size: 28px; color: #fff; }
.auth-title { text-align: center; font-size: 1.75rem; font-weight: 700; color: #111827; }
.auth-subtitle { text-align: center; color: #6b7280; font-size: 0.9rem; margin-bottom: 2rem; }
.auth-form .form-label { font-size: 0.85rem; font-weight: 500; color: #374151; margin-bottom: 0.4rem; display: block; }
.auth-form .form-control { border: 1.5px solid #e5e7eb; border-radius: 10px; padding: 0.65rem 0.9rem; font-size: 0.95rem; transition: border-color 0.2s; }
.auth-form .form-control:focus { border-color: #3b82f6; outline: none; box-shadow: 0 0 0 3px rgba(59,130,246,0.15); }
.input-password { position: relative; }
.toggle-pass { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); background: none; border: none; color: #9ca3af; cursor: pointer; padding: 0; }
.toggle-pass:hover { color: #374151; }
.btn-auth { width: 100%; padding: 0.75rem; background: linear-gradient(135deg, #3b82f6, #1d4ed8); color: #fff; border: none; border-radius: 10px; font-size: 1rem; font-weight: 600; cursor: pointer; margin-top: 0.5rem; transition: opacity 0.2s, transform 0.1s; }
.btn-auth:hover { opacity: 0.92; transform: translateY(-1px); }
.btn-auth:active { transform: translateY(0); }
.form-group { margin-bottom: 1.1rem; }
