.auth-page{position: relative; display: flex; flex-direction: column; align-items: center; min-height: 100vh; width: 100vw; overflow-x: hidden; overflow-y: auto; background-color: #000; padding: 28vh 0 40px; box-sizing: border-box;}
.auth-bg{position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0;}
.auth-fader{position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; justify-content: center; align-items: flex-start; padding: 64px 72px; z-index: 1; pointer-events: none;}
.auth-hero{display: flex; flex-direction: column; align-items: center; gap: 16px; max-width: 640px; text-align: center;}
.auth-badge{display: flex; align-items: center; gap: 8px; padding: 6px 12px; background: var(--auth-badge-bg, rgba(43, 127, 255, 0.3)); border: 2px solid var(--auth-badge-border, rgba(43, 127, 255, 0.3)); border-radius: 50px;}
.auth-badge img{width: 14px; height: 14px;}
.auth-badge span{font-family: 'Nunito', sans-serif; font-weight: 600; font-size: 12px; line-height: 16px; color: var(--auth-badge-text, #FFFFFF); margin-top: 2px;}
.auth-heading{font-family: 'Nunito', sans-serif; font-weight: 800; font-size: 48px; line-height: 60px; color: var(--auth-heading-color, #FFFFFF); margin: 0;}
.auth-subtext{font-family: 'Nunito', sans-serif; font-weight: 500; font-size: 14px; line-height: 18px; color: var(--auth-subtext-color, #CAD5E2); margin: 0;}
.auth-card{position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; padding: 32px; gap: 40px; width: 440px; margin-bottom: auto; background: #FFFFFF; box-shadow: 0px 6px 10px 4px rgba(0, 0, 0, 0.15), 0px 2px 3px rgba(0, 0, 0, 0.3); border-radius: 16px; box-sizing: border-box;}
.auth-card-logo{height: 48px;}
.auth-card-title{font-family: 'Nunito', sans-serif; font-weight: 700; font-size: 24px; line-height: 30px; color: #26282D; margin: 0; text-align: center}
.auth-form{display: flex; flex-direction: column; gap: 40px; width: 100%;}
.auth-input-stack{display: flex; flex-direction: column; gap: 24px; width: 100%;}
.auth-password-stack{display: flex; flex-direction: column; gap: 12px; width: 100%;}
.auth-remember-row{display: flex; justify-content: flex-start; align-items: center; width: 100%;}
.auth-remember-row .form-check-label{font-family: 'Nunito', sans-serif; font-weight: 500; font-size: 14px; color: #26282D;}
.auth-submit-btn{width: 100%; height: 40px; background: #26282D; color: #FFFFFF; border: none; border-radius: 8px; font-family: 'Nunito', sans-serif; font-weight: 500; font-size: 14px; cursor: pointer; box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3), 0px 2px 6px 2px rgba(0, 0, 0, 0.15); transition: all 0.3s ease;}
.auth-submit-btn:hover{background: #3F4144;}
.auth-page .alert-error{width: 100%; margin-bottom: 24px; border-radius: 6px; border: none; padding: 8px 16px; background: #FFEBE9; font-size: 14px; font-weight: 600; color: #B42318; text-align: left; line-height: 18px; display: flex; align-items: center; gap: 8px;}

/* Floting Label form */
.form-floating, .input-group{margin-bottom: 20px;}
.form-floating:last-child, .input-group:last-child{margin-bottom: 0;}
.form-floating > label::after{display: none;}
.form-floating > .form-control, .form-floating > .form-control-plaintext{padding: 0 12px;}
.form-floating > .form-control, .form-floating > .form-control-plaintext, .form-floating > .form-select{height: 42px; min-height: 42px; line-height: normal; padding: 0 12px; font-size: 14px; font-weight: 400; color: #26282D; box-shadow: none !important; outline: none !important; border-color: #9E9E9E52; border-radius: 8px; background-color: #ffffff; background-image: none;}
.form-floating > .form-control:disabled{border-color: #E3E3E3; background-color: #EEEEEE; color: #9E9E9E !important;}
.form-floating > .form-control:disabled ~ label, .form-floating > :disabled ~ label{/*background-color: var(--greyLightest);*/ background-color: transparent;}
.form-floating > .form-control-plaintext:focus, .form-floating > .form-control-plaintext:not(:placeholder-shown), .form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown){padding: 0 12px;}
.form-floating > label{top: 2px; left: 12px; height:auto; font-size: 14px; padding: 7px 2px; color: #5F6165; background: #ffffff; border-radius: 8px; max-width: 89%}
.form-floating > .form-control-plaintext ~ label, .form-floating > .form-control:focus ~ label, .form-floating > .form-control:not(:placeholder-shown) ~ label, .form-floating > .form-select ~ label{padding: 0 2px; color: #5F6165; top: 0; transform: scale(.85) translateY(-0.69rem) translateX(0.1rem); width: auto;}
.input-group .form-floating ~ .input-group-text{background: #ffffff; border-color: #9E9E9E52; border-top-right-radius: 8px !important; border-bottom-right-radius: 8px !important;}
.input-group.flex-row-reverse .form-floating > .form-control, .input-group.flex-row-reverse .form-floating > .form-control-plaintext, .input-group.flex-row-reverse .form-floating > .form-select{border-left: none; border-right: 1px solid #9E9E9E52 !important; border-radius: 0 8px 8px 0 !important; padding-left: 0;}
.input-group.flex-row-reverse .form-floating > label{left: 0;}
.input-group.flex-row-reverse .form-floating ~ .input-group-text{padding-right: 8px; background: #ffffff; border-color: #9E9E9E52; border-right: none; border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; border-top-left-radius: 8px !important; border-bottom-left-radius: 8px !important;}
.ruppe-input-group .form-floating > .form-control-plaintext ~ label, .ruppe-input-group .form-floating > .form-control:focus ~ label, .ruppe-input-group .form-floating > .form-control:not(:placeholder-shown) ~ label, .ruppe-input-group .form-floating > .form-select ~ label{left: -28px;}
.asterisk-red-sign{color: #F04438; display: inline-block;}
.info-line{font-size: 12px; color: #5F6165; font-weight: 400; display: block; margin-top: 3px;}

/* Form Validation */
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control{border-right: none;}
.input-group.has-validation > .input-group-text{border-color: #F04438;}
.form-control.is-invalid, .was-validated .form-control:invalid{border-color: #F04438;}
.form-floating > .form-control.is-invalid:not(:placeholder-shown) ~ label{color: #F04438;}
.input-group-error.input-group .form-floating ~ .weight-select .bootstrap-select > .btn{border-color: #F04438; width: auto; min-width: auto; padding-left: 0;}
.input-group-error.input-group .form-floating ~ .weight-select .bootstrap-select > .btn .filter-option{display: none;}
.input-group-error.input-group .form-floating ~ .weight-select .bootstrap-select > .btn::after{opacity: 0;}
.input-group-error .invalid-feedback{display: block;}
.input-group-error2.input-group .form-floating ~ .weight-select .bootstrap-select > .btn{border-color: #F04438; width: auto; min-width: auto; padding-left: 0;}
.input-group-error2 .invalid-feedback{display: block;}
.invalid-feedback{color: #F04438; line-height: 1.1;}
.invalid-feedback img{width: 16px; min-width: 16px; align-self: flex-start;}
.input-group.flex-row-reverse.has-validation .form-floating > .form-control, .input-group.flex-row-reverse.has-validation .form-floating > .form-control-plaintext, .input-group.flex-row-reverse.has-validation .form-floating > .form-select{border-right-color: #F04438 !important;}
.input-group.flex-row-reverse.has-validation .form-floating ~ .input-group-text{border-color: #F04438;}
.form-floating > .bootstrap-select.form-select{width: 100% !important; height: auto; min-height: auto; line-height: normal; padding: 0; font-size: unset; font-weight: 400; color: #26282D; box-shadow: none; outline: none; border: none; border-radius: unset;}
.bs-actionsbox, .bs-donebutton, .bs-searchbox{padding: 5px;}
.bs-searchbox .form-control{height: 36px; min-height: 36px; line-height: normal; padding: 0 12px; font-size: 14px; font-weight: 400; color: #26282D; box-shadow: none; outline: none; border-color: #9E9E9E52; border-radius: 5px; background-color: #ffffff;}
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control{border-right: none;}
.input-group .form-floating{margin-bottom: 0;}
.input-group .form-floating ~ .weight-select .bootstrap-select > .btn{min-width: 70px; width: 70px; height: 42px; min-height: 42px; line-height: normal; padding: 0 10px; font-size: 14px; font-weight: 400; color: #26282D; box-shadow: none; outline: none; border:1px solid #9E9E9E52; border-left: none; border-radius: 0 8px 8px 0; background-color: #ffffff;}
.input-group .form-floating ~ .weight-select .bootstrap-select > .dropdown-toggle::after{margin-left: auto; width: 18px; min-width: 18px;}
.weight-select .bootstrap-select{width: 100% !important;}
.invalid-feedback{color: #F04438; line-height: 1.1;}
.form-check:not(.form-switch) .form-check-input:checked[type="checkbox"]{border-color: #9A130A; background-color: #9A130A; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 19'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.7' d='m6 10 3 3 7-7'/%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: center center; background-size: 24px;}