/* Standalone login palette kept deliberately separate from the administration application. */ body { font-family: Arial, sans-serif; background-color: #111519; } /* Centred credential card with enough contrast to survive a late-night publishing session. */ .login-container { width: 350px; margin: 100px auto; padding: 40px; background-color: #212529; border-radius: 8px; box-shadow: 0 4px 10px rgb(0, 0, 0); } /* Form typography and labels follow the same light-on-dark visual hierarchy. */ .login-container h2 { text-align: center; margin-bottom: 30px; color: #dee2e6; } .login-container label { display: block; margin-bottom: 8px; color: #dee2e6; } /* Inputs use border-box so their declared width includes padding and borders. */ .login-container input[type="text"], .login-container input[type="password"] { width: 100%; padding: 12px; margin-bottom: 20px; border: 1px solid #1a1a1a; border-radius: 4px; box-sizing: border-box; background: #2b3035; color: #dee2e6; } /* The single primary action spans the card and receives a clear hover state. */ .login-container button { width: 100%; padding: 12px; background-color: #0066cc; border: none; border-radius: 4px; color: #ffffff; font-size: 16px; cursor: pointer; } .login-container button:hover { background-color: #005bb5; } /* Authentication failures remain visible without exposing sensitive detail. */ .error-message { color: #ff4d4d; margin-bottom: 20px; text-align: center; } /* Brand artwork centres independently of its source image dimensions. */ .logo { display: block; margin: auto; } /* Low-contrast project credit: present, but not competing with the login form. */ .shamelessPlug { margin: 12px 0 -30px 0; padding: 0; display: block; text-align: center; color: #111519; font-size: 0.8em; }