.planet-auth-page { padding: 48px 20px; background: #f5f7fa; color: #041226; letter-spacing: 0; }
.planet-auth-panel { width: 100%; max-width: 500px; margin: 0 auto; padding: 32px; background: #fff; border: 1px solid #dce2e9; border-radius: 8px; box-shadow: 0 6px 20px rgba(4, 18, 38, .04); }
.planet-auth-panel h1 { margin: 0 0 12px; color: #041226; font-size: 28px; line-height: 1.25; font-weight: 700; letter-spacing: 0; overflow-wrap: anywhere; }
.planet-auth-intro { color: #586476; font-size: 14px; line-height: 1.6; margin: 0 0 26px; }
.planet-auth-panel a { color: #041226; text-decoration: underline; text-underline-offset: 3px; }
.planet-auth-panel a:hover { color: #f9070f; }
.planet-auth-panel .form-label { font-size: 14px; font-weight: 600; margin-bottom: 8px; }
.planet-auth-required { color: #c5222b; }
.planet-auth-panel .form-control, .planet-auth-panel .form-select { min-height: 48px; border: 1px solid #cbd3df; border-radius: 6px; background-color: #fff; color: #041226; font-size: 16px; min-width: 0; }
.planet-auth-panel .form-control:focus, .planet-auth-panel .form-select:focus { border-color: #041226; box-shadow: 0 0 0 3px rgba(4, 18, 38, .10); }
.planet-auth-phone { display: grid; grid-template-columns: 148px minmax(0, 1fr); gap: 10px; }
.planet-auth-phone .form-select { font-size: 14px; }
.planet-auth-field { margin-bottom: 20px; }
.planet-auth-panel .invalid-tooltip { position: static; display: none; margin-top: 6px; font-size: 13px; color: #b3212b; }
.planet-auth-panel .was-validated :invalid ~ .invalid-tooltip, .planet-auth-panel .was-validated .planet-auth-phone:has(:invalid) ~ .invalid-tooltip { display: block; }
.planet-auth-panel .password-toggle-button { display: inline-flex; align-items: center; justify-content: center; width: 44px; min-height: 44px; color: #041226; }
.planet-auth-panel .password-toggle-button:focus-within { outline: 2px solid #041226; outline-offset: -3px; border-radius: 6px; }
.planet-auth-panel .btn-primary { min-height: 48px; border-radius: 6px; background: #041226; border-color: #041226; color: #fff; font-weight: 600; }
.planet-auth-panel .btn-primary:hover { background: #f9070f; border-color: #f9070f; color: #fff; }
.planet-auth-panel .form-check { padding-left: 28px; }
.planet-auth-panel .form-check-label { font-size: 13px; line-height: 1.6; }
.planet-auth-panel .form-check-input { margin-left: -28px; border-color: #a5afbd; }
.planet-auth-panel .form-check-input:checked { background-color: #041226; border-color: #041226; }
.planet-auth-switch { margin: 24px 0 0; padding-top: 22px; border-top: 1px solid #e2e6ed; font-size: 14px; text-align: center; }
.planet-auth-business { margin: 22px 0 0; color: #586476; font-size: 13px; line-height: 1.6; }
.planet-auth-footer { padding: 24px 20px 32px; background: #f5f7fa; color: #586476; border-top: 1px solid #e2e6ed; text-align: center; font-size: 12px; }
.planet-auth-footer nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 24px; margin-bottom: 16px; }
.planet-auth-footer a { color: #041226; }
.planet-auth-footer p { margin: 0; }
[data-bs-theme="dark"] .planet-auth-page, [data-bs-theme="dark"] .planet-auth-footer { background: #10161e; color: #edf2f7; }
[data-bs-theme="dark"] .planet-auth-panel { background: #1b2530; border-color: #405064; }
[data-bs-theme="dark"] .planet-auth-panel h1, [data-bs-theme="dark"] .planet-auth-panel a, [data-bs-theme="dark"] .planet-auth-footer a { color: #fff; }
[data-bs-theme="dark"] .planet-auth-intro, [data-bs-theme="dark"] .planet-auth-business, [data-bs-theme="dark"] .planet-auth-footer { color: #c3cdd8; }
[data-bs-theme="dark"] .planet-auth-panel .btn-primary { background: #f9070f; border-color: #f9070f; }
@media (max-width: 575px) {
  .planet-auth-page { padding: 24px 14px; }
  .planet-auth-panel { padding: 24px 20px; }
  .planet-auth-panel h1 { font-size: 25px; }
  .planet-auth-phone { gap: 8px; }
}
@media (max-width: 375px) { .planet-auth-phone { grid-template-columns: 1fr; } }
