/* Light visual refinement, scoped to the existing login page. */
.login-page { min-height: 100vh; min-height: 100svh; }
.login-page > .row { min-height: 100vh; min-height: 100svh; }
.login-page .login-panel { position: relative; z-index: 1; box-shadow: 8px 0 32px rgba(30, 67, 110, .05); }
.login-page .login { min-height: 100vh; min-height: 100svh; padding: 36px 16px !important; }
.login-page .main-logo1 { color: #2c6bc7; font-weight: 700; letter-spacing: 0; font-size: 21px !important; line-height: 1.8; text-align: right; width: 100%; direction: rtl; }
.login-page .main-logo1 small { display: block; font-size: 11px; color: #6b81a7; font-weight: 400; }
.login-page .login-welcome { display: block; margin-top: 5px; color: #7589a7; font-size: 12px; font-weight: 400; }
.login-page .card-sigin > .mb-5 { padding-bottom: 16px; margin-bottom: 28px !important; border-bottom-color: #e2ecf7 !important; }
.login-page .main-signup-header { color: #344b63; text-align: right; direction: rtl; }
.login-page .main-signup-header h5 { font-size: 16px; line-height: 1.9; margin-bottom: 24px !important; }
.login-page .main-signup-header .form-group { margin-bottom: 18px; }
.login-page .main-signup-header label { font-size: 13px; font-weight: 600; color: #40556c; margin-bottom: 8px; }
.login-page .main-signup-header .form-control { height: 46px; padding: 10px 13px; background: #fbfcfe; border: 1px solid #dce5ef; border-radius: 8px; color: #243b53; font-size: 14px; box-shadow: none; transition: border-color .15s, box-shadow .15s, background-color .15s; }
.login-page .main-signup-header .form-control:hover { border-color: #b5c9df; }
.login-page .main-signup-header .form-control:focus { border-color: #224d9b; background: #fff; box-shadow: 0 0 0 3px rgba(34,77,155,.12); outline: none; }
.login-page #username, .login-page #password { direction: ltr; text-align: left; }
.login-page .main-signup-header form br { display: none; }
.login-page .main-signup-header .btn-primary { min-height: 46px; margin-top: 8px; border: 1px solid #224d9b; border-radius: 8px; background: linear-gradient(110deg,#2c6bc7,#224d9b); font-size: 14px; font-weight: 600; box-shadow: 0 4px 12px rgba(34,77,155,.16); transition: background-color .15s, box-shadow .15s; }
.login-page .main-signup-header .btn-primary:hover { box-shadow: 0 5px 15px rgba(34,77,155,.22); }
.login-page .main-signup-header .btn-primary:focus-visible { outline: 3px solid #8bc9cf; outline-offset: 3px; }
.login-page .alert { border-radius: 8px; font-size: 13px; line-height: 1.8; }
.login-page .login-visual { border-right: 0 !important; background: radial-gradient(ellipse at 20% 15%,rgba(255,255,255,.07),transparent 55%),linear-gradient(145deg,#2c6bc7,#224d9b); color: #fff; }
.login-page .login-visual-brand { text-align: center; padding: 35px 10px; }
.login-page .login-brand-icon { width: 82px; height: 94px; display: flex; justify-content: center; align-items: center; margin: 0 auto 25px; border: 1px solid rgba(255,255,255,.25); border-radius: 19px; background: rgba(255,255,255,.08); color: #d6e5ff; font-size: 43px; }
.login-page .login-visual-brand h2 { font-size: 28px; color: #fff; font-weight: 700; line-height: 1.8; margin-bottom: 18px; }
.login-page .login-license { display: inline-block; padding: 7px 17px; border: 1px solid rgba(255,255,255,.23); border-radius: 7px; color: #e6efff; font-size: 12px; }
.login-page .login-visual-brand p { margin-top: 24px; margin-bottom: 0; color: #c8dbfa; font-size: 14px; }
@media (max-width: 767.98px) {
  .login-page .login { padding: 28px 20px !important; }
  .login-page .login-panel { box-shadow: none; }
}
@media (prefers-reduced-motion: reduce) {
  .login-page .form-control, .login-page .btn-primary { transition: none; }
}
