* { box-sizing: border-box; }

/* ===== Splash / Landing Animation ===== */
#splash-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    animation: splashFadeIn 0.5s ease forwards;
}
#splash-logo-anim {
    width: 416px; /* 320px × 1.3 — 130% of login logo size */
    max-width: 88vw; /* Samsung S23 Ultra (412px) va kichik ekranlar uchun */
    height: auto;
}
#splash-progress-track {
    width: 416px;
    max-width: 88vw; /* logo bilan teng kenglikda qoladi */
    height: 3px;
    background: #e0e0e0;
    border-radius: 99px;
    margin-top: 28px;
    overflow: hidden;
}
#splash-progress-bar {
    height: 100%;
    width: 0%;
    background: #000000;
    border-radius: 99px;
    transition: width 0.9s linear;
}
@keyframes splashFadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}
/* ===================================== */
#logo {
    width: 320px;
    height: 80px;
    display:block;
}
.subLogo{
    width: 440px;
    height: auto;
    display:block;
    padding: 50px;
}
.subLogoitem{
    width: 100%;
    height: auto;
}
.join-box{
    width: 450px; 
    height: 42px; 
    font-size: 17pt; 
    font-family: 'Pretendard-SemiBold'; 
    margin: 20px;
    margin-left: 0px;
    border: 1px solid #45bdcf; 
    color: #45bdcf; 
    background: repeating-linear-gradient(113deg, #4deaff , #4deaff  0.3px, #eafcff  0, #eafcff  13px);
    cursor: pointer;
}
.login-box{
    display: flex; 
    flex-direction: row; 
    align-items: center; 
    justify-content: center; 
    width: 450px; 
    height: 84px;
}
.id_pw_box{
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
}
.input-box{
    display: flex; 
    flex-direction: row;
    align-items: center; 
    width: 100%;
    height: 100%;
    flex: 1;
    text-align: center;
}
.login-id{
    width : 100%; 
    height:100%; 
    font-size: 12pt;
    font-family: 'Pretendard-Light'; 
    border:1px solid #808080;
    text-align: left;
}
.login-pw{
    width : 100%; 
    height:100%; 
    font-size: 11pt;
    margin-top:-1px;
    font-family: 'Pretendard-Light'; 
    border:1px solid #808080;
    text-align: left;
}
.login-button{
    height: 84px; 
    width: 84px; 
    min-width: 84px;
    font-size: 17pt; 
    font-family: 'Pretendard-SemiBold';
    background-color: #45bdcf; 
    color: white; 
    border: 0px;
    cursor: pointer;
}
.text-box{
    text-align: left; 
    border: 2px dotted #808080; 
    width: 450px; 
    height: 120px; 
}
.text{
    font-family: 'Pretendard-Light';
    color: #808080;
    margin-bottom: 10px; 
    font-size: 11px; 
}
.text-a{
    font-family: 'Pretendard-Light';
    color: #45bdcf;
    margin: 10px; 
    font-size: 11px; 
    text-decoration: none;
}
.mobile #logo {
    width: 320px;
    height: auto;
    display:block;
}
.mobile .join-box{
    width: 100%; 
    max-width: 450px;
    height: 42px; 
    font-size: 17pt; 
    font-family: 'Pretendard-SemiBold'; 
    margin: 20px;
    margin-left: 0px;
    border: 1px solid #45bdcf; 
    color: #45bdcf; 
    background: repeating-linear-gradient(113deg, #4deaff , #4deaff  0.3px, #eafcff  0, #eafcff  13px);
    cursor: pointer;
}
.mobile .login-box{
    display: flex; 
    flex-direction: row; 
    align-items: center; 
    justify-content: center; 
    width: 450px; 
    height: 84px;
}
.mobile .input-box{
    display: flex; 
    flex-direction: row;
    align-items: center; 
    width: 100%;
    height: 100%;
    flex: 1;
    text-align: center;
}
.mobile .login-id{
    width : 100%; 
    height:100%; 
    font-size: 11pt;
    font-family: 'Pretendard-Light'; 
    border:1px solid #808080;
    text-align: center;
    
}
.mobile .login-pw{
    width : 100%; 
    height:100%; 
    font-size: 11pt;
    margin-top:-1px;
    font-family: 'Pretendard-Light'; 
    border:1px solid #808080;
    text-align: center;
}
.mobile .login-button{
    height: 100%; 
    width: 84px; 
    font-size: 17pt; 
    font-family: 'Pretendard-SemiBold';
    background-color: #45bdcf; 
    color: white; 
    border: 0px;
    cursor: pointer;
}
.mobile .text-box{
    text-align: left; 
    border: 2px dotted #808080; 
    width: 450px; 
    height: 120px; 
}
@media (max-width: 550px){
    .mobile #logo {
        width: 100%;
        max-width: 320px;
    }
}
.toggleSwitch {
    width: 50px;
    height: 25px;
    display: block;
    position: relative;
    border-radius: 15px;
    background-color: #fff;
    box-shadow: 0 0 16px 3px rgba(0 0 0 / 15%);
    cursor: pointer;
}
  
.toggleSwitch > .toggleButton {
    width: 20px;
    height: 20px;
    position: absolute;
    top: 50%;
    left: 4px;
    transform: translateY(-50%);
    border-radius: 50%;
    background: #45bdcf;
}

.toggle:checked ~ .toggleSwitch {
    background: #45bdcf;
}

.toggle:checked ~ .toggleSwitch > .toggleButton {
    left: calc(100% - 22px);
    background: #fff;
}

.toggleSwitch, .toggleButton {
    transition: all 0.2s ease-in;
}
    
.checkbox_box{
    display: flex;
}

@media (max-width: 450px){
    #main{
        width: 100%;
    }
    .subLogo{
        width: 100%;
    }
    .mobile .login-box{
        width: 100%;
    }
    .mobile .text-box{
        width: 100%;
        height: 150px;
    }
    #kor_eng_change{
       padding-left: unset !important;
    }
}