/* auth.css - custom styles for centered card UI */ * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; text-decoration: none; } /* Page background and centering */ .page-center { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: #f8fafc; /* light gray */ padding: 24px; box-sizing: border-box; } /* Card */ .auth-card { width: 100%; max-width: 420px; background: #ffffff; border-radius: 12px; box-shadow: 0 8px 24px rgba(16, 24, 40, 0.06); padding: 28px; box-sizing: border-box; border: 1px solid rgba(15, 23, 42, 0.04); } /* Header area */ .auth-header { text-align: center; margin-bottom: 18px; } .auth-icon { font-size: 40px; display: inline-block; line-height: 1; margin-bottom: 8px; } .auth-title { font-size: 20px; font-weight: 600; color: #0f172a; margin: 6px 0; } .auth-sub { color: #6b7280; font-size: 13px; } /* Alerts */ .alert { padding: 10px 12px; border-radius: 8px; font-size: 13px; margin-bottom: 14px; border: 1px solid transparent; } .alert-error { background: #fff5f5; color: #b91c1c; border-color: #fca5a5; } .alert-success { background: #f0fdf4; color: #059669; border-color: #86efac; } /* Form controls */ .form-row { margin-bottom: 12px; } .form-input { width: 100%; padding: 12px 14px; border-radius: 8px; border: 1px solid #e6e9ee; background: #fbfbfd; font-size: 14px; color: #0f172a; box-sizing: border-box; transition: box-shadow 0.15s ease, border-color 0.15s ease; } .form-input:focus { outline: none; border-color: #2563eb; /* blue */ box-shadow: 0 0 0 4px rgba(37,99,235,0.08); } /* Buttons */ .btn { display: inline-flex; align-items: center; justify-content: center; width: 100%; padding: 10px 14px; border-radius: 8px; font-weight: 600; font-size: 14px; cursor: pointer; border: 1px solid transparent; transition: transform 0.08s ease, box-shadow 0.12s ease, background-color 0.08s ease; } .btn-primary { background: #000; color: #fff; } .btn-primary:hover { transform: translateY(-1px); background: #111; } .btn-ghost { background: #ffffff; color: #111827; border: 1px solid #e6e9ee; } .btn-ghost:hover { background: #fbfbfb; transform: translateY(-1px); } /* Secondary small link */ .small-link { display: block; text-align: center; margin-top: 12px; font-size: 13px; color: #2563eb; text-decoration: none; } /* Utility */ .text-center { text-align: center; } .mb-4 { margin-bottom: 16px; } .mt-4 { margin-top: 16px; } /* Responsive tweaks */ @media (max-width: 480px) { .auth-card { padding: 20px; border-radius: 10px; } .auth-icon { font-size: 36px; } .auth-title { font-size: 18px; } }