/* Final shared access theme. Loaded after legacy styles to keep authentication screens light. */
body.auth-body { color: #172744; background: radial-gradient(circle at 12% 8%, rgba(40, 105, 223, .14), transparent 30%), radial-gradient(circle at 87% 90%, rgba(140, 184, 255, .16), transparent 28%), #f4f8fc !important; }
.auth-shell { border-color: #d8e4f2; background: #fff; box-shadow: 0 24px 64px rgba(27, 55, 98, .12); }
.auth-body .brand-panel { color: #fff; background: linear-gradient(140deg, #17345f, #245293 57%, #2d67b9); }
.auth-body .brand-panel h1 { color: #fff; }
.auth-body .brand-panel p, .auth-body .muted-text { color: #dce9fc; }
.auth-body .brand-panel .eyebrow, .auth-body .brand-panel .pill { color: #e7f1ff; border-color: rgba(220, 235, 255, .36); background: rgba(255, 255, 255, .07); }
.auth-body .feature-list li { color: #f3f7ff; }
.auth-body .feature-list li::before { background: #b9d6ff; box-shadow: 0 0 0 5px rgba(185, 214, 255, .13); }
.auth-body .info-chip { border-color: rgba(220, 235, 255, .2); background: rgba(255, 255, 255, .08); }
.auth-body .login-card { color: #172744; border: 1px solid #e2ebf6; border-radius: 20px; background: #fff !important; box-shadow: 0 12px 30px rgba(27, 55, 98, .06) !important; }
.auth-body .login-header h2 { color: #172744; }
.auth-body .login-header p { color: #5f718d; }
.auth-body .login-card label { color: #344159; }
.auth-body .login-card input { color: #172744 !important; border-color: #d8e4f2 !important; background: #fff !important; }
.auth-body .login-card input::placeholder { color: #7b8ca5; }
.auth-body .login-card input:focus { border-color: #2869df !important; box-shadow: 0 0 0 3px rgba(40, 105, 223, .15) !important; }
.auth-body .login-card button { color: #fff; background: linear-gradient(135deg, #2869df, #1f59bd) !important; box-shadow: 0 10px 20px rgba(40, 105, 223, .18); }
.auth-body .tab-actions, .auth-body .auth-switch { border-color: #d8e4f2; background: #f3f7fc; }
.auth-body .login-card .tab-actions button:not(.password-visibility-toggle) { color: #36506f !important; background: #fff !important; box-shadow: none !important; }
.auth-body .auth-switch a { color: #5f718d; background: transparent !important; box-shadow: none; }
.auth-body .tab-actions button:hover, .auth-body .auth-switch a:hover { color: #245ab0; background: #fff !important; }
.auth-body .auth-switch a.is-current { color: #fff; background: #2869df !important; box-shadow: 0 4px 12px rgba(40, 105, 223, .18); }
.auth-body .auth-links a { color: #2869df; }
.auth-body .error-text { color: #a12424; background: #fff0f0; }
.auth-body .success-text { color: #176743; background: #eafaf1; }
.auth-body .password-visibility-toggle { color: #2869df !important; }
.auth-body .login-card .password-visibility-toggle { width: auto !important; min-width: 76px; min-height: 42px !important; padding: 0 10px !important; border: 0 !important; border-radius: 9px !important; background: #eef5ff !important; box-shadow: none !important; }
@media (max-width: 820px) { .auth-body .login-card { margin: 0; border: 0; border-radius: 0; box-shadow: none !important; } }
