.admin-login-page { display: flex; justify-content: center; align-items: center; min-height: 70vh; padding: var(--space-8) var(--space-3); } .admin-login-card { width: 100%; max-width: 420px; background: var(--color-bg-card); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-6); box-shadow: var(--shadow-sm); } h1 { margin: 0; font-size: 1.5rem; } p { margin: var(--space-2) 0 var(--space-5); color: var(--color-text-muted); } form { display: flex; flex-direction: column; gap: var(--space-3); } label { font-weight: 600; } input { border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-3); font-size: 1rem; } button { border: 0; border-radius: var(--radius-md); background: var(--color-brand); color: var(--color-neutral-900); padding: var(--space-3) var(--space-4); font-weight: 600; cursor: pointer; transition: background-color 0.2s ease; } button:hover:not(:disabled) { background: var(--color-brand-hover); } button:disabled { opacity: 0.65; cursor: default; } .error { margin-top: var(--space-4); margin-bottom: var(--space-2); color: var(--color-danger-500); } .hint { margin: 0; color: var(--color-text-muted); } @media (max-width: 520px) { .admin-login-page { min-height: 64vh; padding: var(--space-5) var(--space-2); } .admin-login-card { padding: var(--space-4); } h1 { font-size: 1.25rem; } }