  /* =============================================================
     LOGIN / REGISTER PAGE  —  Brand: #0075bc
     ============================================================= */

  .scholar-section {
    background: #e8f4fb;
    min-height: 100vh;
    position: relative;
    padding-top: 0;
    padding-bottom: 56px;
    font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', Roboto, sans-serif;
    overflow: hidden;
  }

  /* ---- Override fixed 1240px container width — scoped to login page only ---- */
  .loginbanner .container,
  .scholar-section .container {
    width: auto !important;
    max-width: 100% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    box-sizing: border-box !important;
  }

  /* ---- Very subtle background blobs — echoing card hero, very low opacity ---- */
  .scholar-section::before {
    content: '';
    position: fixed;
    top: -140px;
    left: -120px;
    width: 480px;
    height: 480px;
    border-radius: 62% 38% 44% 56% / 56% 48% 52% 44%;
    background: rgba(0, 117, 188, 0.07);
    pointer-events: none;
    z-index: 0;
  }

  .scholar-section::after {
    content: '';
    position: fixed;
    bottom: -120px;
    right: -100px;
    width: 380px;
    height: 380px;
    border-radius: 38% 62% 58% 42% / 44% 52% 48% 56%;
    background: rgba(0, 160, 220, 0.04);
    pointer-events: none;
    z-index: 0;
  }

  /* Card + banner sit above background blobs */
  .loginbanner,
  .jrp-main {
    position: relative;
    z-index: 1;
  }

  .scholar-title {
    margin: 0 0 20px 0 !important;
    padding: 20px 0 !important;
    text-align: center;
    color: #0075bc !important;
    font-size: 22px;
    font-weight: 400;
    position: relative;
    top: -10px;
    letter-spacing: 0.3px;
  }

  .scholar-card .padded {
    padding-top: 0px !important;
  }

  .jrp-div {
    border-bottom: 3px solid rgba(255, 255, 255, 0.2);
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }

  /* Fallback banner without .loginbanner */
  .page-banner.jrp-div {
    background: #e8f4fb !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }

  .page-banner h1,
  .jrp-h1 {
    text-align: center;
    font-size: 16px;
    color: #0075bc;
    font-weight: 400;
    margin: 0 !important;
    letter-spacing: 0.4px;
  }

  /* ===== LOGIN BANNER ===== */
  .loginbanner,
  .loginbanner.jrp-div,
  .page-banner.loginbanner {
    background: #e8f4fb !important;
    min-height: unset !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(0, 117, 188, 0.15) !important;
  }

  .loginbanner .jrp-h1 {
    font-size: 17px !important;
    font-weight: 600 !important;
    letter-spacing: 1.2px;
    color: #0075bc !important;
    margin: 0 !important;
    text-transform: uppercase;
  
  }

  .loginbanner .container {
    padding-top: 0;
    padding-bottom: 0;
  }

  .jrp-main {
    margin-top: 0 !important;
    position: relative;
    z-index: 2;
    padding-top: 32px;
    padding-bottom: 56px;
  }

  #showLogin {
    font-size: 12.5px;
    color: #0075bc;
    font-weight: 500;
    float: none !important;
    display: inline-flex;
    align-items: center;
    gap: 4px;
  }

  .top_label {
    font-size: 0.75rem;
    font-weight: 600;
    color: #4b5563;
    margin-bottom: 5px;
    display: block;
    letter-spacing: 0.5px;
    text-transform: uppercase;
  }

  .login-form,
  .register-form {
    font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', Roboto, sans-serif !important;
    color: #374151 !important;
    font-size: 14px;
  }


  .login-form.padded,
  .register-form.padded {
    padding: 0 0px 16px !important;
    margin-bottom: 16px;
  }

 
  .login-form .col-sm-10.col-sm-offset-1,
  .register-form .col-sm-10.col-sm-offset-1 {
    width: 100% !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .login-form .row,
  .register-form .row {
    margin-left: 0;
    margin-right: 0;
  }

  /* Subtext */
  .login-container p,
  .register-container p {
    font-size: 13px;
    color: #6b7280;
    line-height: 1.5;
    margin-top: 2px;
  }

  /* "New scholar?" text below Login button */
  .login-form .text-center > p:not(.card-footer-link) {
    color: #9ca3af;
    font-size: 12.5px;
    margin-top: 8px;
  }

  .login-container {
    border-radius: 6px;
  }

  @media (max-width: 767px) {
    .scholar-section {
      padding-bottom: 32px;
    }
    .scholar-section .main-content{
      width: 90% !important;
    }

    .scholar-title {
      font-size: 22px;
    }

    .loginbanner,
    .loginbanner.jrp-div,
    .page-banner.loginbanner {
      padding-top: 14px !important;
      padding-bottom: 14px !important;
    }

    .loginbanner .jrp-h1 {
      font-size: 15px !important;
    }

    .jrp-h2 {
      font-size: 17px !important;
    }

    .jrp-main {
      padding-top: 20px;
      padding-bottom: 28px;
    }

    .jrp-div-a,
    .right-style-1 {
      max-width: 100%;
      border-radius: 6px;
      background-size: 100% 210px, auto !important;
    }

    .login-form.padded,
    .register-form.padded {
      padding: 0 0px 12px !important;
    }

    .top_label {
      font-size: 0.7rem;
    }

    .form-control {
      height: 40px;
    }

    .btn-primary.jrp-btn-a,
    .btn-primary.jrp-btn-b {
      padding: 11px 16px !important;
    }
  }

  @media (max-width: 400px) {
    .jrp-div-a,
    .right-style-1 {
      border-radius: 0;
      border-left: none;
      border-right: none;
    }

    .login-form.padded,
    .register-form.padded {
      padding: 16px 14px 8px !important;
    }
  }

  /* ===== CARD ===== */
  .jrp-div-a,
  .right-style-1 {
    max-width: 420px;
    width: 100%;
    float: none !important;
    margin: 0 auto;
    padding: 0;
    border-radius: 6px;
    border: none;
    box-shadow:
      0 1px 3px rgba(0,0,0,0.08),
      0 4px 12px rgba(0,0,0,0.10);
    overflow: hidden;
    position: relative;
    /* Split: gradient hero top 210px, white below */
    background:
      linear-gradient(140deg, #004a99 0%, #0075bc 52%, #2ea8d5 100%) 0 0 / 100% 210px no-repeat,
      #ffffff;
  }

  /* ---- Blob 1: top-left organic shape ---- */
  .jrp-div-a::before,
  .right-style-1::before {
    content: '';
    position: absolute;
    top: -70px;
    left: -60px;
    width: 230px;
    height: 230px;
    border-radius: 62% 38% 44% 56% / 56% 48% 52% 44%;
    background: rgba(255, 255, 255, 0.12);
    z-index: 1;
    pointer-events: none;
  }

  /* ---- Blob 2: top-right organic shape ---- */
  .jrp-div-a::after,
  .right-style-1::after {
    content: '';
    position: absolute;
    top: 50px;
    right: -50px;
    width: 160px;
    height: 160px;
    border-radius: 38% 62% 58% 42% / 44% 52% 48% 56%;
    background: rgba(255, 255, 255, 0.05);
    z-index: 1;
    pointer-events: none;
  }

  /* ---- Avatar icon circle on h2::before ---- */
  .login-container .login_h2::before,
  .register-container .login_h2::before {
    font-family: FontAwesome;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    background: rgba(255, 255, 255, 0.20);
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-radius: 50%;
    margin: 0 auto 12px;
    font-size: 22px;
    color: #ffffff;
    position: relative;
    z-index: 3;
  }
  .login-container .login_h2::before  { content: '\f007'; } /* fa-user        */
  .register-container .login_h2::before { content: '\f234'; } /* fa-user-plus  */

  /* ---- Heading + subtext white on gradient ---- */
  .login-container .jrp-h2,
  .register-container .jrp-h2 {
    color: #ffffff !important;
    position: relative;
    z-index: 3;
    margin-top: 0;
    margin-bottom: 0 !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    letter-spacing: -0.2px;
    text-align: center;
  }
  .warninglabel{
  margin-top: 45px !important;
  }

  .login-form .col-sm-12.text-center > p,
  .register_set legend + p,
  .register_set legend ~ .signupsublevel {
    color: rgba(255, 255, 255, 0.98) !important;
    font-size: 14px;
    margin-top: 12px;
    position: relative;
    z-index: 3;
    padding: 0 16px;
  }

  /* ---- All form content above pseudo-elements ---- */
  .login-form .row,
  .register-form .row,
  .login-form > div,
  .register_set > legend,
  .register_set > p,
  .login-form .col-sm-12,
  .register-form .col-sm-12 {
    position: relative;
    z-index: 3;
  }

  /* ---- Heading area padding ---- */
  .login-form .col-sm-12.text-center {
    padding-top: 30px;
    padding-bottom: 22px;
  }

  @media (max-width: 767px) {
    .login-form .col-sm-12.text-center {
      padding-top: 26px;
      padding-bottom: 18px;
    }

    .register_set legend {
      padding-top: 22px;
      padding-bottom: 4px;
    }

    .login-form .col-sm-12.text-center > p,
    .register_set legend ~ .signupsublevel {
      font-size: 13px;
      line-height: 1.55;
    }
  }

  .register_set legend {
    border: none;
    padding-top: 20px;
    padding-bottom: 0px;
    width: 100%;
    text-align: left;
  }

  /* ---- Hide <br> inside legend ---- */
  .register_set legend br {
    display: none;
  }

  /* ---- Back to login & required note on white area ---- */
  .register-container .forgot-label {
    color: #0075bc;
    font-size: 13px;
    font-weight: 500;
  }

  .register-container .signupsublevel {
    color: #6b7280 !important;
    font-size: 13px;
  }

  .btn-primary.jrp-btn-a,
  .btn-primary.jrp-btn-b {
    display: block;
    width: 100%;
    max-width: none;
    margin: 18px auto 0;
    padding: 11px 20px !important;
    background: #0075bc !important;
    border: none !important;
    color: #ffffff !important;
    border-radius: 6px !important;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.3px;
    box-shadow: 0 2px 8px rgba(0, 117, 188, 0.22);
    transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.1s ease;
  }

  .btn-primary.jrp-btn-a:hover,
  .btn-primary.jrp-btn-a:focus,
  .btn-primary.jrp-btn-b:hover,
  .btn-primary.jrp-btn-b:focus {
    background: #005e96 !important;
    border: none !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(0, 117, 188, 0.32) !important;
    transform: translateY(-1px);
    outline: none !important;
  }

  .btn-primary.jrp-btn-a:active,
  .btn-primary.jrp-btn-b:active {
    transform: translateY(0);
    background: #004d7a !important;
    box-shadow: 0 1px 4px rgba(0, 117, 188, 0.18) !important;
  }

  /* Register hidden on load */
  .right-style-1 {
    display: none;
  }

  .card-heading {
    text-align: center;
    font-weight: 500;
    font-size: 26px;
    margin-top: 0px;
    padding: 0px 0px 0px;
  }

  .card-subheading {
    text-align: center;
    font-size: 14px;
    margin-bottom: 25px;
  }

  .required-fields-note {
    display: inline;
    text-align: left;
    margin-top: 0;
  }

  .register-form .form-group.req .top_label {
    display: block;
  }

  .register-form .form-group.req #student_id.maskStudentId {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    margin-top: 6px;
  }



  .form-control {
    height: 42px;
    font-size: 14px;
    border-radius: 8px;
    border: 1.5px solid #d1dae6;
    background: #f8fafc;
    color: #111827;
    padding: 0 13px;
    transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
  }

  .form-control:focus {
    background: #ffffff;
    border-color: #0075bc;
    box-shadow: 0 0 0 3px rgba(0, 117, 188, 0.13);
    outline: none;
  }

  .form-group {
    margin-bottom: 14px;
  }

  .forgot-link {
    float: right;
    font-size: 13px;
    padding: 10px 0px;
  }

  .float-right {
    float: right!important;
    font-size: small!important;
  }

  .forgot-label {
    margin-top: 8px;
  }



  .btn-login,
  .btn-login-b {
    width: 100%;
    background: #0075bc;
    color: #ffffff;
    padding: 11px;
    border-radius: 8px !important;
    font-weight: 600;
    border: none;
    margin-top: 14px;
  }

  .btn-login:hover,
  .btn-login:focus,
  .btn-login-b:hover,
  .btn-login-b:focus {
    color: #ffffff !important;
    background: #005e96 !important;
    border-color: #005e96 !important;
  }

  .jrp-btn-b {
    border-radius: 8px !important;
  }

  .btn-primary.jrp-btn-b {
    background: #0075bc !important;
  }

  .text-center .btn {
    margin-top: 18px;
  }

  .divider {
    display: flex;
    align-items: center;
    margin: 16px 0;
  }

  .divider::before,
  .divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #e5eaf1;
  }

  .divider span {
    padding: 0 10px;
    font-size: 11px;
    font-weight: 600;
    color: #9ca3af;
    letter-spacing: 0.5px;
    text-transform: uppercase;
  }

  .login-footer-line p {
    text-align: center;
    font-size: 14px;
  }

  /* ==== Create Account ICON BUTTON (FIRST IMAGE MATCH) ==== */

  .create-account-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 10px auto 0;
    padding: 10px 16px;
    border: 1.5px solid #b8cfe8;
    border-radius: 8px;
    background: #f0f7ff;
    color: #0075bc;
    font-weight: 600 !important;
    font-size: 13.5px !important;
    text-decoration: none;
    letter-spacing: 0.15px;
    transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
  }

  .create-account-btn i {
    margin-right: 7px;
    font-size: 14px;
  }

  .create-account-btn:hover {
    background: #daedf9;
    border-color: #0075bc;
    box-shadow: 0 2px 8px rgba(0, 117, 188, 0.12);
    text-decoration: none;
    color: #0075bc;
  }

  .create-account-btn:focus,
  .create-account-btn:active,
  .create-account-btn:focus:active {
    background: #f0f7ff;
    border-color: #0075bc;
    color: #0075bc;
    box-shadow: none;
    outline: none;
    text-decoration: none;
  }

  .no-close .ui-dialog-titlebar-close {
    display: none;
  }



  /* Divider label */
  .divider span {
    color: #aaa;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.5px;
  }

  /* Forgot password */
  .float-right.forgot-label {
    font-size: 12px !important;
    color: #0075bc;
    font-weight: 500;
    padding-bottom: 12px;
  }

  /* Required note */
  .required-fields-note {
    font-size: 11.5px;
    color: #c0392b;
    font-weight: 500;
    letter-spacing: 0.1px;
    display: inline;
    text-align: left;
    margin-top: 0;
  }

  /* ---- "All fields required" + "Back to Login" on same line ---- */
  .register_set .signupsublevel {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
    margin-bottom: 4px;
    gap: 0px;
  }
.register-form.padded{
  padding-top: 10px !important;
}
  .register_set .signupsublevel .warninglabel {
    order: 1;
  }

  .register_set p.text-right {
    display: none !important; /* hidden — Back to Login moved into signupsublevel via CSS trick */
  }

  /* Re-show Back to Login by injecting it next to required note using CSS sibling workaround */
  .register_set .signupsublevel + p.text-right {
    display: block !important;
    margin-top: -30px;
    margin-bottom: 10px;
    text-align: right;
    padding-left: 50%;
    position: relative;
    z-index: 5;
    padding-right: 16px;
  }

  /* Back to login */
  #showLogin {
    font-size: 12.5px;
    color: #0075bc;
    font-weight: 500;
    float: none !important;
    display: inline-flex;
    align-items: center;
    gap: 4px;
  }

  /* Alert banners */
  .alert {
    border-radius: 8px;
    font-size: 13px;
    border: none;
    padding: 10px 14px;
  }

  .alert-warning {
    background: #fffbeb;
    color: #92600a;
  }

  .alert-success {
    background: #f0fdf4;
    color: #166534;
  }

  .login-container,
  .register-container {
    border-radius: 6px !important;
  }

  .login_h2 strong {
    text-transform: none;
    font-weight: 700;
  }

  /* Extra decorative line inside hero heading — login & register */
  .login-container .login_h2::after,
  .register_set legend::after {
    content: '';
    display: block;
    width: 80px;
    height: 3px;
    background: rgba(255, 255, 255, 0.30);
    border-radius: 2px;
    margin: 10px auto 0;
    position: relative;
    z-index: 3;
  }

  /* Separator between hero and form fields */
  .login-form .col-sm-12:not(.text-center):first-of-type,
  .register-form .col-sm-12:first-of-type {
    padding-top: 10px;
  }

  .scholar-section .main-content{
    margin-bottom: 0 !important;
  }

  .login-container  .form-group label,
   .register-container  .form-group label{
    text-transform: none !important;
   }

  .scholar-section .form-control{
    min-height: 36px !important;
    box-shadow: none !important;
    font-weight: normal !important;
  }