body{
    background:#f4f6f9;
}

.register-wrapper {
    border-radius:1rem;
    overflow:hidden; /* WAJIB */
    box-shadow:0 15px 35px rgba(0,0,0,.1);
    min-height: 85vh;
}

.left-panel{
    background:linear-gradient(135deg,#0d6efd,#0b5ed7);
    color:#fff;
}

.right-panel {
    max-width: 95%;
    width:100%;
}

/* wrapper */
.iti-fake-floating {
    position: relative;
}

/* input height disamakan dengan form-floating */
.iti-fake-floating .form-control {
    height: 58px;
    line-height: 58px; /* 🔑 INI YANG MEMPERBAIKI */
    padding-top: 1.6rem;
    padding-bottom: .625rem;
    padding-left: 5.7rem !important;
}

.iti--inline-dropdown .iti__dropdown-content {
    z-index: 10;
}

/* label default (di tengah) */
.iti-fake-floating label {
    position: absolute;
    top: 26%;
    left: .5rem;
    transform: translateY(-50%);
    font-size: .775rem;
    color: #6c757d;
    pointer-events: none;
    transition: .2s ease;
    padding: 0 .25rem;
    z-index: 1;
}

/* floating saat focus / ada isi */
.iti-fake-floating .form-control:focus + label,
.iti-fake-floating .form-control:not(:placeholder-shown) + label {
    top: .4rem;
    transform: none;
    font-size: .75rem;
    color: #0d6efd;
}

/* intl-tel-input wajib full height */


.iti-fake-floating .iti__flag-container {
    height: 100%;
    display: flex;
    align-items: center;
}
.iti-fake-floating .iti__selected-country {
    display: flex;
    align-items: center;
    height: 100%;
}
.iti-fake-floating .iti__selected-dial-code {
    position: relative;
    font-size: .875rem;
    line-height: normal;
    top: 0.5rem;
}
.iti-fake-floating .iti__selected-country-primary {
    padding-top: .975rem;
    padding-left: 11px;
}

/* ruang kanan input password */
.password-wrapper .form-control {
    padding-right: 3.5rem !important;
}

/* posisi ikon mata */
.password-wrapper .password-toggle {
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%);
    cursor: pointer;
    z-index: 5;
    color: #6c757d;
}

/* 🔥 geser ikon validasi Bootstrap (KHUSUS password) */
.password-wrapper .form-control.is-valid,
.password-wrapper .form-control.is-invalid {
    background-position: right 3rem center;
}

/* Perbesar ikon validasi KHUSUS gender */
.gender-select.is-valid,
.gender-select.is-invalid {
    background-size: 1.25rem 1.25rem;
    background-position: right 2.5rem center;
}

/* =================================================
   ALERT TICKET/ ALERT
================================================= */

.alert-ticket {
  border: 1px solid #5fd39a;
  border-radius: .8rem;
  padding: 0;
  overflow: hidden;
}

.alert-ticket .icon-box {
  background-color: #5fd39a;
  color: #0f5132;
  width: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
}

.alert-ticket .content {
  padding: .5rem .8rem;
}

/* SUCCESS */
.alert-success {
  border: 1px solid #5fd39a;
}
.alert-success .icon-box {
  background: #5fd39a;
  color: #0f5132;
}
.alert-success .content {
  color: #146c43;
}

/* INFO */
.alert-info {
  border: 1px solid #6edff6;
}
.alert-info .icon-box {
  background: #6edff6;
  color: #055160;
}
.alert-info .content {
  color: #055160;
}

/* WARNING */
.alert-warning {
  border: 1px solid #ffda6a;
}
.alert-warning .icon-box {
  background: #ffda6a;
  color: #664d03;
}
.alert-warning .content {
  color: #664d03;
}

/* DANGER */
.alert-danger {
  border: 1px solid #f1aeb5;
}
.alert-danger .icon-box {
  background: #f1aeb5;
  color: #842029;
}
.alert-danger .content {
  color: #842029;
}

/* SECONDARY */
.alert-secondary {
  border: 1px solid #ced4da;
}
.alert-secondary .icon-box {
  background: #ced4da;
  color: #343a40;
}
.alert-secondary .content {
  color: #343a40;
}

/* GREY (custom) */
.alert-grey {
  border: 1px solid #dee2e6;
}
.alert-grey .icon-box {
  background: #e9ecef;
  color: #495057;
}
.alert-grey .content {
  color: #495057;
}