.page { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #dce8ff 0%, #f1f5f9 100%); padding-bottom: 32px; /* reserve space for the fixed SecurityFooter bar */ } .card { background: #fff; border-radius: 14px; box-shadow: 0 8px 40px rgba(30,79,168,.15); padding: 48px 44px 40px; width: 360px; display: flex; flex-direction: column; align-items: center; gap: 24px; } .logo { height: 52px; width: auto; object-fit: contain; } .title { font-size: 1.15rem; font-weight: 700; color: #1e293b; margin: 0; } .form { display: flex; flex-direction: column; gap: 12px; width: 100%; } .error { font-size: .83rem; color: #dc2626; text-align: center; margin: 0; } .btn { background: #1e4fa8; color: #fff; font-weight: 700; font-size: .95rem; padding: 11px; border-radius: 8px; margin-top: 4px; border: none; cursor: pointer; transition: background .15s; } .btn:hover:not(:disabled) { background: #163d86; } .btn:disabled { opacity: .6; cursor: not-allowed; } .langToggle { display: flex; align-items: center; gap: 4px; } .langToggle button { background: transparent; border: none; cursor: pointer; font-size: .8rem; font-weight: 700; color: #94a3b8; padding: 3px 8px; border-radius: 4px; letter-spacing: .04em; } .langToggle button:hover { color: #1e4fa8; background: #eff4ff; } .activeLang { color: #1e4fa8 !important; background: #dce8ff !important; } .langSep { color: #cbd5e1; font-size: .75rem; }