 * {
     font-family: 'Poppins', sans-serif;
 }

 html, body {
     margin: 0;
     padding: 0;
     min-height: 100%;
 }

 body {
     overflow-x: hidden;
     background: #eaf2ff;
 }

 /* =========================
           AUTH BACKGROUND
        ========================= */

 .auth-page-bg::before {
     content: "";
     position: absolute;
     inset: 0;
     background: rgba(255, 255, 255, 0.06);
     z-index: 0;
 }

 /* =========================
           AUTH WRAPPER / CARD
        ========================= */
 .auth-wrapper {
     position: relative;
     z-index: 2;
     width: 100%;
     max-width: 900px;
 }

 .auth-card {
     display: flex;
     min-height: 520px;
     border-radius: 10px;
     overflow: hidden;
     box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
     background: #fff;
 }

 .auth-left {
     width: 42%;
     background: #2f84c6;
     color: #fff;
     padding: 55px 38px;
     display: flex;
     flex-direction: column;
     justify-content: center;
 }

 .auth-left h2 {
     font-size: 34px;
     font-weight: 700;
     margin-bottom: 25px;
     text-transform: uppercase;
     letter-spacing: 1px;
 }

 .auth-left p {
     font-size: 14px;
     line-height: 1.9;
     color: rgba(255, 255, 255, 0.88);
     margin-bottom: 18px;
 }

 .account-btn {
     display: inline-block;
     margin-top: 18px;
     background: #fff;
     color: #2f84c6;
     text-decoration: none;
     font-size: 14px;
     font-weight: 600;
     padding: 12px 22px;
     border-radius: 4px;
     width: fit-content;
     transition: 0.3s ease;
 }

 .account-btn:hover {
     background: #f4f8ff;
     color: #256ea8;
 }

 .auth-right {
     width: 58%;
     background: rgba(255, 255, 255, 0.96);
     padding: 45px 38px;
 }

 .auth-title {
     font-size: 34px;
     font-weight: 700;
     color: #2f84c6;
     margin-bottom: 28px;
     text-transform: uppercase;
 }

 /* =========================
           FORM STYLE
        ========================= */
 .form-label {
     font-size: 13px;
     font-weight: 500;
     color: #777;
     margin-bottom: 7px;
 }

 .form-control {
     height: 44px;
     border: 1px solid #e3e3e3;
     border-radius: 3px;
     box-shadow: none !important;
     font-size: 14px;
     padding-left: 12px;
 }

 .form-control:focus {
     border-color: #2f84c6;
     box-shadow: none !important;
 }

 .input-group-text {
     background: #fff;
     border: 1px solid #e3e3e3;
     border-left: none;
     cursor: pointer;
     color: #666;
 }

 .form-check-input {
     box-shadow: none !important;
 }

 .form-check-input:checked {
     background-color: #2f84c6;
     border-color: #2f84c6;
 }

 /* =========================
           BUTTONS / TEXTS
        ========================= */
 .auth-btn {
     background: #2f84c6;
     border: none;
     color: #fff;
     height: 44px;
     padding: 0 28px;
     border-radius: 4px;
     font-size: 15px;
     font-weight: 600;
     transition: 0.3s ease;
     box-shadow: none;
 }

 .auth-btn:hover {
     background: #256ea8;
     color: #fff;
 }

 .bottom-link,
 .login-options,
 .terms-wrap {
     font-size: 13px;
     color: #777;
 }

 .bottom-link {
     margin-top: 18px;
     text-align: center;
 }

 .login-options {
     margin-top: 6px;
     margin-bottom: 18px;
 }

 .terms-wrap {
     margin-top: 10px;
     margin-bottom: 20px;
 }

 .bottom-link a,
 .login-options a,
 .terms-wrap a {
     color: #2f84c6;
     text-decoration: none;
     font-weight: 600;
 }

 .bottom-link a:hover,
 .login-options a:hover,
 .terms-wrap a:hover {
     text-decoration: underline;
 }

 /* =========================
           PASSWORD STATUS
        ========================= */
 .password-valid {
     border-color: #76bf43 !important;
 }

 .password-invalid {
     border-color: #e5c64f !important;
 }

 .helper-text {
     font-size: 12px;
     margin-top: 6px;
 }

 .helper-warning {
     color: #d59d00;
 }

 /* =========================
           PAGE SPECIFIC HELPERS
        ========================= */
 .auth-card.login-card-layout {
     min-height: 500px;
 }

 .auth-card.register-card-layout {
     min-height: 520px;
 }

 /* =========================
           RESPONSIVE
        ========================= */
 @media (max-width: 991px) {
     .auth-page-bg {
         background-attachment: scroll;
     }

     .auth-card {
         flex-direction: column;
     }

     .auth-left,
     .auth-right {
         width: 100%;
     }

     .auth-left {
         padding: 35px 25px;
     }

     .auth-right {
         padding: 35px 25px;
     }
 }

 @media (max-width: 576px) {
     .auth-title {
         font-size: 28px;
     }

     .auth-left h2 {
         font-size: 28px;
     }
 }
