 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
     font-family: "Poppins", sans-serif;
 }

 body {
     min-height: 100vh;
     background: url("../images/login-bg.png") center/cover no-repeat;
     display: flex;
     justify-content: center;
     align-items: center;
     padding: 20px;
     position: relative;
     overflow: hidden;
 }

 /* BLUR LAYER */
 body::before {
     content: "";
     position: absolute;
     inset: 0;
     background: inherit;
     filter: blur(4px);
     transform: scale(1.1);
     z-index: -1;
 }

 .auth-container {
     background: rgba(255, 255, 255, 0.08);
     backdrop-filter: blur(4px);
     -webkit-backdrop-filter: blur(12px);
 }


 .auth-container {
     width: 100%;
     max-width: 1100px;
     height: 600px;
     border-radius: 16px;
     overflow: hidden;
     display: flex;
     box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
 }

 /* LEFT */
 .image-section {
     flex: 1;
     background: url("../images/login-bg.png") center/cover no-repeat;
     position: relative;
     animation: bgMove 40s ease-in-out infinite alternate;
 }

 @keyframes bgMove {
     from {
         background-position: 10%;
     }

     to {
         background-position: 100%;
     }
 }

 .balloon {
     position: absolute;
     width: 100px;
     left: 0px;
     top: 800px;
     animation: flyAndShrink 30s linear infinite;
 }

 @keyframes flyAndShrink {
     from {
         transform: translate(0, 0) scale(1);
         opacity: 1;
     }

     50% {
         opacity: .8;
     }

     to {
         transform: translate(calc(10vw + 200px), calc(-50vh - 200px)) scale(0.1);
         opacity: .5;
     }
 }



 .overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(to top, rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.2));
     color: #fff;
     padding: 40px;
     display: flex;
     flex-direction: column;
     justify-content: flex-end;
 }

 .overlay h1 {
     font-size: 48px;
     line-height: 1.1;
     margin-bottom: 15px;
 }

 .overlay p {
     font-size: 14px;
     max-width: 400px;
     margin-bottom: 20px;
     opacity: 0.9;
 }

 .learn-btn {
     width: fit-content;
     padding: 10px 22px;
     border: none;
     border-radius: 6px;
     background: white;
     color: #0f4c81;
     font-weight: 600;
     cursor: pointer;
 }

 .more-content {
     max-height: 0;
     overflow: hidden;
     transition: 0.5s ease;
     margin-top: 0;
     opacity: 0;

     transition:
         max-height 1.8s ease-in-out,
         opacity 1.2s ease,
         margin-top 1s ease;
 }

 .more-content.active {
     max-height: 600px;
     margin-top: 20px;
     opacity: 1;
 }

 .more-content ul {
     text-align: left;
     margin: 15px auto;
     max-width: 420px;
 }

 .more-content li {
     margin: 8px 0;
     font-size: 16px;
 }

 /* RIGHT */
 .form-section {
     flex: 1;
     background: #0f4c81;
     display: flex;
     justify-content: center;
     align-items: center;
 }

 .form-box {
     width: 100%;
     max-width: 360px;
     color: #fff;
 }

 .form-box h2 {
     margin-bottom: 20px;
     text-align: center;
 }

 .input-group {
     margin-bottom: 15px;
 }

 .input-group label {
     font-size: 15px;
     opacity: 0.8;
     font-weight: 600;
 }

 .input-group input {
     width: 100%;
     padding: 12px;
     border-radius: 6px;
     border: none;
     outline: none;
     margin-top: 5px;
 }

 .note {
     font-size: 12px;
     opacity: 0.7;
     margin-bottom: 15px;
 }

 .main-btn {
     width: 100%;
     padding: 12px;
     border-radius: 6px;
     border: none;
     background: #fff;
     color: #0f4c81;
     font-weight: 700;
     cursor: pointer;
     margin-bottom: 15px;
 }

 .divider {
     text-align: center;
     opacity: 0.7;
     margin-bottom: 15px;
 }

 .switch-text {
     text-align: center;
     margin-top: 15px;
     font-size: 15px;
     font-weight: bold;
     color: #F2F0EF;
 }

 .switch-text span {
     color: #ffd369;
     cursor: pointer;
     font-weight: 600;
 }

 .welcome-content {
     text-align: center;
     margin-top: 15px;
     font-size: 14px;
     font-weight: bold;
     color: #F2F0EF;
     margin-bottom: 10px;
 }

 /* TWO COLUMN */
 .two-col {
     display: flex;
     gap: 10px;
 }

 .two-col .input-group {
     flex: 1;
 }

 /* REMEMBER ROW */
 .remember-row {
     display: flex;
     justify-content: space-between;
     align-items: center;
     font-size: 13px;
     margin-bottom: 15px;
 }

 .remember-row a {
     color: #ffd369;
     text-decoration: none;
 }

 .logo-box {
     display: flex;
     justify-content: center;
     align-items: center;
     margin-bottom: 15px;
 }

 .logo-box img {
     max-width: 220px;
     width: 100%;
     height: auto;
     object-fit: contain;
 }

 .captcha {
     display: flex;
     gap: 10px;
     position: relative;
 }

 #captcha-img {
     width: 70px;
     height: 38px;
     margin-top: 5px;
     border-radius: 6px;
 }

 #captcha-refresh {
     color: #ffd369;
     position: absolute;
     left: 59px;
     top: -18px;
     font-size: 15px;
     font-weight: bold;
     cursor: pointer;
 }

 #moreContent a {
     text-decoration: none;
     font-size: 15px;
     color: #ffd369;
 }

 .register-info {
     color: #001F3D;
 }

 .toast-close {
     background: red;
     border: 0;
     border-radius: 10px;
     color: white;
     cursor: pointer;
     font-family: inherit;
     font-size: 1em;
     opacity: 1;
     padding: 1px 6px;
     position: absolute;
     top: -9px;
     right: -12px;
 }

 /* RESPONSIVE */
 @media (max-width: 900px) {
     .image-section {
         display: none;
     }

     .auth-container {
         width: 65%;
         /* height: 600px; */
     }

     .form-section {
         background: transparent;
     }

     .register-info {
         max-width: 100%;
         width: 90%;
         margin: 0 2%;
     }

     body::before {
         /* filter: blur(1px); */
         animation: bgMove 50s ease-in-out infinite alternate;
     }

     label,
     #form-title {
         color: #0f4c81;
     }

     .welcome-content {
         color: #0f4c81;
         text-shadow: 2px 0px 7px aliceblue;
     }

     .balloon {
         z-index: -1;
     }
 }

 @media (max-width: 450px) {

     .auth-container {
         width: 100%;
         height: auto;
     }

     .form-box {
         padding: 10px;
     }

     .two-col {
         flex-direction: column;
     }

     .form-section {
         background: transparent;
     }

     body::before {
         filter: blur(1px);
     }

     label,
     #form-title {
         color: #0f4c81;
     }

     .welcome-content {
         color: #0f4c81;
     }

     .register-info {
         max-width: 100%;
         width: 90%;
         margin: 0 2%;
     }

     .input-group {
         margin-bottom: 5px;
     }

     .input-group label {
         text-shadow: 2px 2px 5px whitesmoke;
     }

     .balloon {
         position: absolute;
         z-index: -1;
         width: 50px;
         left: -10px;
         top: 300px;
         animation: flyAndShrink 30s linear infinite;
     }
 }