/* The same palette and controls as the signed-in portal. */
.auth-body { min-height: 100vh; display: grid; place-items: center; padding: 80px 20px 40px; background: var(--sky); }
.auth-container { width: 100%; max-width: 440px; }
.auth-card { padding: 32px; border: 1px solid var(--panel-line); border-radius: var(--radius-card); background: white; }
.auth-header { text-align: center; margin-bottom: 28px; }
.auth-mark { display: block; width: 44px; height: 44px; color: var(--instrument-blue); margin: 0 auto 16px; }
.auth-header h1 { font-size: 1.65rem; margin-bottom: 8px; }
.auth-header p { color: var(--text-muted); font-size: 0.9rem; }
.auth-form { text-align: left; }
.auth-form .form-group { margin-bottom: 20px; }
.auth-form label { display: block; font-weight: 500; font-size: 0.85rem; margin-bottom: 8px; }
.auth-form input { width: 100%; padding: 10px 12px; border: 1px solid var(--panel-line); border-radius: var(--radius-control); font: inherit; }
.auth-form .form-help { display: block; margin-top: 8px; color: var(--text-muted); font-size: 0.8rem; line-height: 1.5; }
.auth-form input:focus { border-color: var(--instrument-blue); }
.auth-button { width: 100%; margin-top: 4px; }
.auth-links { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--panel-line); text-align: center; font-size: 0.875rem; }
.auth-links a { text-decoration: none; }
.auth-links a:hover { text-decoration: underline; }
.auth-tabs > button { flex: 1; }
.error-message { margin-top: 16px; padding: 12px 16px; color: var(--port-red); background: var(--danger-soft); border-radius: var(--radius-control); font-size: 0.9rem; }
.success-message { margin-top: 16px; padding: 12px 16px; color: var(--starboard-green); background: var(--success-soft); border-radius: var(--radius-control); }
.auth-button.loading::after { content: ""; width: 14px; height: 14px; border: 2px solid #ffffff50; border-top-color: white; border-radius: 50%; animation: auth-spin 1s linear infinite; }
@keyframes auth-spin { to { transform: rotate(360deg); } }
@media (max-width: 480px) { .auth-card { padding: 24px; } }

.auth-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
