/* KAICE 인증 폼 스타일 - 탭 구조 - 최강 우선순위 버전 */
/* CSS 우선순위 최고 설정 - 모든 스타일에 html body 접두사와 !important 적용 */
/* 기존 스타일 초기화 및 격리 */

/* CSS 초기화 및 격리 - 모든 KAICE 요소에 적용 */
html body .kaice-auth-container *,
html body .kaice-auth-container *::before,
html body .kaice-auth-container *::after {
    box-sizing: border-box !important;
    font-family: 'S-CoreDream-3', sans-serif !important;
}

/* 기본 표시 속성 복원 */
html body .kaice-auth-container div,
html body .kaice-auth-container span,
html body .kaice-auth-container p,
html body .kaice-auth-container h1,
html body .kaice-auth-container h2,
html body .kaice-auth-container h3,
html body .kaice-auth-container h4,
html body .kaice-auth-container h5,
html body .kaice-auth-container h6 {
    display: block !important;
}

html body .kaice-auth-container button,
html body .kaice-auth-container input,
html body .kaice-auth-container select,
html body .kaice-auth-container textarea {
    display: inline-block !important;
}

html body .kaice-auth-container label {
    display: block !important;
}

/* 약관 아코디언 스타일 - 마케팅 정보 수신과 동일한 스타일로 통일 */
html body div.kaice-auth-container button.kaice-terms-accordion,
html body .kaice-auth-container .kaice-terms-accordion,
html body .kaice-terms-accordion,
button.kaice-terms-accordion {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    text-align: left !important;
    cursor: pointer !important;
    color: #408090 !important;
    text-decoration: none !important;
    font-family: 'S-CoreDream-4', sans-serif !important;
    font-size: 14px !important;
    font-weight: normal !important;
    display: inline !important;
    align-items: center !important;
    justify-content: flex-start !important;
    transition: color 0.2s ease !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    vertical-align: baseline !important;
    line-height: normal !important;
}

/* 약관 버튼과 텍스트 사이 간격 제거 */
html body div.kaice-auth-container div.kaice-checkbox-group label,
html body .kaice-auth-container .kaice-checkbox-group label,
html body .kaice-checkbox-group label,
div.kaice-checkbox-group label {
    margin-bottom: 0 !important;
    cursor: pointer !important;
    display: inline !important;
    align-items: flex-start !important;
    gap: 0 !important;
    font-size: 14px !important;
    font-weight: normal !important;
    font-family: 'S-CoreDream-3', sans-serif !important;
    line-height: normal !important;
}

html body div.kaice-auth-container button.kaice-terms-accordion:hover,
html body .kaice-auth-container .kaice-terms-accordion:hover,
html body .kaice-terms-accordion:hover,
button.kaice-terms-accordion:hover {
    text-decoration: underline !important;
    color: rgba(64, 128, 144, 0.8) !important;
    background: transparent !important;
}

/* accordion-arrow 및 ::after 제거 - ▼ 안 보이게 하기 */
html body div.kaice-auth-container button.kaice-terms-accordion::after,
html body .kaice-auth-container .kaice-terms-accordion::after,
html body .kaice-terms-accordion::after,
button.kaice-terms-accordion::after,
html body div.kaice-form-section .accordion-arrow,
html body .kaice-form-section .accordion-arrow,
.kaice-form-section .accordion-arrow {
    display: none !important;
    content: '' !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* 아코디언 컨텐츠 최강 우선순위 */
html body div.kaice-auth-container div.kaice-terms-content,
html body .kaice-auth-container .kaice-terms-content,
html body .kaice-terms-content,
div.kaice-terms-content {
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.3s ease, padding 0.3s ease, margin 0.3s ease, opacity 0.3s ease !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    background: #f8f9fa !important;
    border-radius: 4px !important;
    border: 1px solid #e9ecef !important;
    opacity: 0 !important;
    visibility: hidden !important;
    display: block !important;
}

html body div.kaice-auth-container div.kaice-terms-content.active,
html body .kaice-auth-container .kaice-terms-content.active,
html body .kaice-terms-content.active,
div.kaice-terms-content.active {
    max-height: 400px !important;
    padding: 16px !important;
    margin-top: 8px !important;
    margin-bottom: 15px !important;
    overflow-y: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
}

/* 마케팅 옵션 섹션 제어 */
html body div.kaice-auth-container div#kaice-marketing-section,
html body .kaice-auth-container #kaice-marketing-section,
html body #kaice-marketing-section,
div#kaice-marketing-section {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.3s ease !important;
}

html body div.kaice-auth-container div#kaice-marketing-section.show,
html body .kaice-auth-container #kaice-marketing-section.show,
html body #kaice-marketing-section.show,
div#kaice-marketing-section.show {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* kaice-terms-content 최강 14px 강제 적용 - 모든 가능한 선택자 사용 */
html body div.kaice-auth-container div.kaice-terms-content *,
html body .kaice-auth-container .kaice-terms-content *,
html body .kaice-terms-content *,
div.kaice-terms-content *,
html body div.kaice-auth-container div.kaice-terms-content.active *,
html body .kaice-auth-container .kaice-terms-content.active *,
html body .kaice-terms-content.active *,
div.kaice-terms-content.active *,
.kaice-auth-container .kaice-terms-content *,
.kaice-terms-content *,
.kaice-terms-content.active *,
/* 추가 강력한 선택자 */
body html div.kaice-auth-container div.kaice-terms-content *,
body html .kaice-auth-container .kaice-terms-content *,
body html .kaice-terms-content *,
body div.kaice-terms-content *,
body .kaice-terms-content * {
    font-size: 14px !important;
    color: #000000 !important;
    font-family: 'S-CoreDream-3', sans-serif !important;
    line-height: 1.5 !important;
}

/* 최대 우선순위 개별 요소 선택자 */
html body div.kaice-auth-container div.kaice-terms-content h1,
html body div.kaice-auth-container div.kaice-terms-content h2,
html body div.kaice-auth-container div.kaice-terms-content h3,
html body div.kaice-auth-container div.kaice-terms-content h4,
html body div.kaice-auth-container div.kaice-terms-content h5,
html body div.kaice-auth-container div.kaice-terms-content h6,
html body div.kaice-auth-container div.kaice-terms-content p,
html body div.kaice-auth-container div.kaice-terms-content div,
html body div.kaice-auth-container div.kaice-terms-content span,
html body div.kaice-auth-container div.kaice-terms-content li,
html body div.kaice-auth-container div.kaice-terms-content ul,
html body div.kaice-auth-container div.kaice-terms-content ol,
html body div.kaice-auth-container div.kaice-terms-content.active h1,
html body div.kaice-auth-container div.kaice-terms-content.active h2,
html body div.kaice-auth-container div.kaice-terms-content.active h3,
html body div.kaice-auth-container div.kaice-terms-content.active h4,
html body div.kaice-auth-container div.kaice-terms-content.active h5,
html body div.kaice-auth-container div.kaice-terms-content.active h6,
html body div.kaice-auth-container div.kaice-terms-content.active p,
html body div.kaice-auth-container div.kaice-terms-content.active div,
html body div.kaice-auth-container div.kaice-terms-content.active span,
html body div.kaice-auth-container div.kaice-terms-content.active li,
html body div.kaice-auth-container div.kaice-terms-content.active ul,
html body div.kaice-auth-container div.kaice-terms-content.active ol {
    font-size: 14px !important;
    color: #000000 !important;
    font-family: 'S-CoreDream-3', sans-serif !important;
    line-height: 1.5 !important;
}

html body div.kaice-auth-container div.kaice-terms-content p,
html body .kaice-auth-container .kaice-terms-content p,
html body .kaice-terms-content p,
div.kaice-terms-content p {
    margin: 0 0 12px 0 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #000000 !important;
    font-family: 'S-CoreDream-3', sans-serif !important;
    display: block !important;
}

html body div.kaice-auth-container div.kaice-terms-content p:last-child,
html body .kaice-auth-container .kaice-terms-content p:last-child,
html body .kaice-terms-content p:last-child,
div.kaice-terms-content p:last-child {
    margin-bottom: 0 !important;
}

html body div.kaice-auth-container div.kaice-terms-content h4,
html body .kaice-auth-container .kaice-terms-content h4,
html body .kaice-terms-content h4,
div.kaice-terms-content h4 {
    margin: 16px 0 8px 0 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #000000 !important;
    font-family: 'S-CoreDream-4', sans-serif !important;
    display: block !important;
}

html body div.kaice-auth-container div.kaice-terms-content h4:first-child,
html body .kaice-auth-container .kaice-terms-content h4:first-child,
html body .kaice-terms-content h4:first-child,
div.kaice-terms-content h4:first-child {
    margin-top: 0 !important;
}

html body div.kaice-auth-container div.kaice-terms-content ol,
html body div.kaice-auth-container div.kaice-terms-content ul,
html body .kaice-auth-container .kaice-terms-content ol,
html body .kaice-auth-container .kaice-terms-content ul,
html body .kaice-terms-content ol,
html body .kaice-terms-content ul,
div.kaice-terms-content ol,
div.kaice-terms-content ul {
    margin: 8px 0 12px 20px !important;
    padding: 0 !important;
    display: block !important;
}

html body div.kaice-auth-container div.kaice-terms-content li,
html body .kaice-auth-container .kaice-terms-content li,
html body .kaice-terms-content li,
div.kaice-terms-content li {
    margin-bottom: 4px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #000000 !important;
    display: list-item !important;
}

/* 전체 동의 스타일 - 배경색과 테두리 제거 */
html body div.kaice-auth-container div.kaice-all-agree,
html body .kaice-auth-container .kaice-all-agree,
html body .kaice-all-agree,
div.kaice-all-agree {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin-bottom: 0 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 1 !important;
}

html body div.kaice-auth-container div.kaice-all-agree div.kaice-checkbox-group,
html body .kaice-auth-container .kaice-all-agree .kaice-checkbox-group,
html body .kaice-all-agree .kaice-checkbox-group,
div.kaice-all-agree div.kaice-checkbox-group {
    margin-bottom: 8px !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
}

html body div.kaice-auth-container div.kaice-all-agree input[type="checkbox"],
html body .kaice-auth-container .kaice-all-agree input[type="checkbox"],
html body .kaice-all-agree input[type="checkbox"],
div.kaice-all-agree input[type="checkbox"] {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #ccc !important;
    border-radius: 3px !important;
    background: #ffffff !important;
    cursor: pointer !important;
    accent-color: #408090 !important;
    -webkit-appearance: checkbox !important;
    -moz-appearance: checkbox !important;
    appearance: checkbox !important;
    z-index: 2 !important;
}

html body div.kaice-auth-container div.kaice-all-agree label,
html body .kaice-auth-container .kaice-all-agree label,
html body .kaice-all-agree label,
div.kaice-all-agree label {
    font-size: 14px !important;
    color: #000000 !important;
    font-family: 'S-CoreDream-4', sans-serif !important;
    cursor: pointer !important;
    margin-bottom: 0 !important;
    display: inline !important;
    font-weight: normal !important;
}

html body div.kaice-auth-container div.kaice-terms-group,
html body .kaice-auth-container .kaice-terms-group,
html body .kaice-terms-group,
div.kaice-terms-group {
    margin-bottom: 0 !important;
    display: block !important;
}

html body div.kaice-auth-container div.kaice-terms-group div.kaice-checkbox-group,
html body .kaice-auth-container .kaice-terms-group .kaice-checkbox-group,
html body .kaice-terms-group .kaice-checkbox-group,
div.kaice-terms-group div.kaice-checkbox-group {
    margin-bottom: 8px !important;
    display: flex !important;
}

/* 이용약관, 개인정보처리방침 체크박스 그룹 - 배경색과 테두리 제거 */
html body div.kaice-auth-container div.kaice-terms-group div.kaice-checkbox-group,
html body .kaice-auth-container .kaice-terms-group .kaice-checkbox-group,
html body .kaice-terms-group .kaice-checkbox-group,
div.kaice-terms-group div.kaice-checkbox-group {
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    border: none !important;
    margin-bottom: 12px !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
}

/* 기본 컨테이너 - 최강 우선순위 */
html body div.kaice-auth-container,
html body .kaice-auth-container,
div.kaice-auth-container {
    min-height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: center !important;
    padding: 20px 16px !important;
    font-family: 'S-CoreDream-3', sans-serif !important;
    position: relative !important;
    z-index: 1 !important;
    background: transparent !important;
}

html body div.kaice-auth-container > div,
html body .kaice-auth-container > div,
div.kaice-auth-container > div {
    width: 100% !important;
    max-width: 448px !important;
}

/* 탭 폼 영역 - 최강 우선순위 */
html body div.kaice-auth-container div.kaice-auth-form,
html body .kaice-auth-container .kaice-auth-form,
html body .kaice-auth-form,
div.kaice-auth-form {
    background: #ffffff !important;
    border: 1px solid #ccc !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    box-shadow: none !important;
    display: block !important;
}

/* 탭 헤더 - 최강 우선순위 */
html body div.kaice-auth-container div.kaice-tabs,
html body .kaice-auth-container .kaice-tabs,
html body .kaice-tabs,
div.kaice-tabs {
    border-bottom: 1px solid #e1e1e1 !important;
    display: block !important;
}

html body div.kaice-auth-container div.kaice-tab-list,
html body .kaice-auth-container .kaice-tab-list,
html body .kaice-tab-list,
div.kaice-tab-list {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    background: #f8f9fa !important;
}

html body div.kaice-auth-container button.kaice-tab-trigger,
html body .kaice-auth-container .kaice-tab-trigger,
html body .kaice-tab-trigger,
button.kaice-tab-trigger {
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 16px 24px !important;
    font-size: 16px !important;
    font-family: 'S-CoreDream-3', sans-serif !important;
    color: #666 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    position: relative !important;
    display: block !important;
    text-align: center !important;
    width: 100% !important;
}

html body div.kaice-auth-container button.kaice-tab-trigger:hover,
html body .kaice-auth-container .kaice-tab-trigger:hover,
html body .kaice-tab-trigger:hover,
button.kaice-tab-trigger:hover {
    background: #e9ecef !important;
    color: #000000 !important;
}

html body div.kaice-auth-container button.kaice-tab-trigger.active,
html body .kaice-auth-container .kaice-tab-trigger.active,
html body .kaice-tab-trigger.active,
button.kaice-tab-trigger.active {
    background: #ffffff !important;
    color: #000000 !important;
    border-bottom: 2px solid #408090 !important;
    border-radius: 0 !important;
    font-weight: 500 !important;
    font-family: 'S-CoreDream-4', sans-serif !important;
}

/* 탭 내용 - 최강 우선순위 */
html body div.kaice-auth-container div.kaice-tab-content,
html body .kaice-auth-container .kaice-tab-content,
html body .kaice-tab-content,
div.kaice-tab-content {
    display: none !important;
    padding: 32px !important;
    text-align: left !important;
}

html body div.kaice-auth-container div.kaice-tab-content.active,
html body .kaice-auth-container .kaice-tab-content.active,
html body .kaice-tab-content.active,
div.kaice-tab-content.active {
    display: block !important;
}

/* 메시지 영역 - 최강 우선순위 (기본 숨김) */
html body div.kaice-auth-container div.kaice-messages,
html body .kaice-auth-container .kaice-messages,
html body .kaice-messages,
div.kaice-messages {
    margin-bottom: 24px !important;
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* 메시지 영역 표시될 때 */
html body div.kaice-auth-container div.kaice-messages[style*="block"],
html body .kaice-auth-container .kaice-messages[style*="block"],
html body .kaice-messages[style*="block"],
div.kaice-messages[style*="block"] {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

html body div.kaice-auth-container div.kaice-message,
html body .kaice-auth-container .kaice-message,
html body .kaice-message,
div.kaice-message {
    padding: 12px 16px !important;
    border-radius: 4px !important;
    margin-bottom: 12px !important;
    font-size: 14px !important;
    animation: fadeIn 0.3s ease !important;
    display: block !important;
}

html body div.kaice-auth-container div.kaice-message.kaice-success,
html body .kaice-auth-container .kaice-message.kaice-success,
html body .kaice-message.kaice-success,
div.kaice-message.kaice-success {
    background: #d4edda !important;
    color: #155724 !important;
    border: 1px solid #c3e6cb !important;
}

html body div.kaice-auth-container div.kaice-message.kaice-error,
html body .kaice-auth-container .kaice-message.kaice-error,
html body .kaice-message.kaice-error,
div.kaice-message.kaice-error {
    background: #f8d7da !important;
    color: #721c24 !important;
    border: 1px solid #f5c6cb !important;
}

/* 폼 스타일 - 최강 우선순위 */
html body div.kaice-auth-container div.kaice-form-section,
html body .kaice-auth-container .kaice-form-section,
html body .kaice-form-section,
div.kaice-form-section {
    margin-bottom: 24px !important;
    display: block !important;
}

html body div.kaice-auth-container div.kaice-form-section h3,
html body .kaice-auth-container .kaice-form-section h3,
html body .kaice-form-section h3,
div.kaice-form-section h3 {
    margin-bottom: 16px !important;
    font-size: 18px !important;
    font-family: 'S-CoreDream-4', sans-serif !important;
    color: #000000 !important;
    border-bottom: 1px solid #ddd !important;
    padding-bottom: 8px !important;
    display: block !important;
}

html body div.kaice-auth-container div.kaice-section-desc,
html body .kaice-auth-container .kaice-section-desc,
html body .kaice-section-desc,
div.kaice-section-desc {
    color: #666 !important;
    font-size: 14px !important;
    margin-bottom: 16px !important;
    display: block !important;
}

html body div.kaice-auth-container div.kaice-form-group,
html body .kaice-auth-container .kaice-form-group,
html body .kaice-form-group,
div.kaice-form-group {
    margin-bottom: 16px !important;
    display: block !important;
}

html body div.kaice-auth-container div.kaice-form-row,
html body .kaice-auth-container .kaice-form-row,
html body .kaice-form-row,
div.kaice-form-row {
    display: block !important;
    gap: 0 !important;
}

html body div.kaice-auth-container div.kaice-form-group.kaice-half,
html body .kaice-auth-container .kaice-form-group.kaice-half,
html body .kaice-form-group.kaice-half,
div.kaice-form-group.kaice-half {
    flex: none !important;
    width: 100% !important;
    margin-bottom: 16px !important;
}

html body div.kaice-auth-container div.kaice-form-group label,
html body .kaice-auth-container .kaice-form-group label,
html body .kaice-form-group label,
div.kaice-form-group label {
    display: inline-block !important;
    margin-bottom: 8px !important;
    font-family: 'S-CoreDream-3', sans-serif !important;
    color: #000000 !important;
    font-size: 14px !important;
    white-space: nowrap !important;
}

/* (필수) 텍스트 빨간색 스타일 */
html body div.kaice-auth-container span.kaice-required,
html body .kaice-auth-container .kaice-required,
html body .kaice-required,
span.kaice-required {
    color: #d4183d !important;
    display: inline !important;
    margin-left: 2px !important;
    font-family: 'S-CoreDream-3', sans-serif !important;
    font-size: 14px !important;
}

html body div.kaice-auth-container div.kaice-form-group input[type="text"],
html body div.kaice-auth-container div.kaice-form-group input[type="email"],
html body div.kaice-auth-container div.kaice-form-group input[type="password"],
html body div.kaice-auth-container div.kaice-form-group input[type="tel"],
html body div.kaice-auth-container div.kaice-form-group input[type="date"],
html body div.kaice-auth-container div.kaice-form-group select,
html body .kaice-auth-container .kaice-form-group input[type="text"],
html body .kaice-auth-container .kaice-form-group input[type="email"],
html body .kaice-auth-container .kaice-form-group input[type="password"],
html body .kaice-auth-container .kaice-form-group input[type="tel"],
html body .kaice-auth-container .kaice-form-group input[type="date"],
html body .kaice-auth-container .kaice-form-group select,
html body .kaice-form-group input[type="text"],
html body .kaice-form-group input[type="email"],
html body .kaice-form-group input[type="password"],
html body .kaice-form-group input[type="tel"],
html body .kaice-form-group input[type="date"],
html body .kaice-form-group select,
div.kaice-form-group input[type="text"],
div.kaice-form-group input[type="email"],
div.kaice-form-group input[type="password"],
div.kaice-form-group input[type="tel"],
div.kaice-form-group input[type="date"],
div.kaice-form-group select {
    width: 100% !important;
    padding: 12px !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    font-size: 16px !important;
    font-family: 'S-CoreDream-3', sans-serif !important;
    background: #ffffff !important;
    color: #000000 !important;
    transition: border-color 0.2s ease !important;
    box-sizing: border-box !important;
}

html body div.kaice-auth-container div.kaice-form-group input:focus,
html body div.kaice-auth-container div.kaice-form-group select:focus,
html body .kaice-auth-container .kaice-form-group input:focus,
html body .kaice-auth-container .kaice-form-group select:focus,
html body .kaice-form-group input:focus,
html body .kaice-form-group select:focus,
div.kaice-form-group input:focus,
div.kaice-form-group select:focus {
    outline: none !important;
    border-color: #408090 !important;
    box-shadow: 0 0 0 1px #408090 !important;
}

/* 체크박스 그룹 - 배경색, 테두리, 패딩 모두 제거 */
html body div.kaice-auth-container div.kaice-checkbox-group,
html body .kaice-auth-container .kaice-checkbox-group,
html body .kaice-checkbox-group,
div.kaice-checkbox-group {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    margin-bottom: 8px !important;
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    border: none !important;
}

html body div.kaice-auth-container div.kaice-checkbox-group input[type="checkbox"],
html body .kaice-auth-container .kaice-checkbox-group input[type="checkbox"],
html body .kaice-checkbox-group input[type="checkbox"],
div.kaice-checkbox-group input[type="checkbox"] {
    margin-top: 2px !important;
    transform: scale(1.1) !important;
    accent-color: #408090 !important;
    display: inline-block !important;
    width: 16px !important;
    height: 16px !important;
    padding: 0 !important;
    -webkit-appearance: checkbox !important;
    -moz-appearance: checkbox !important;
    appearance: checkbox !important;
    border: 1px solid #ccc !important;
    border-radius: 3px !important;
    background: #ffffff !important;
    cursor: pointer !important;
    vertical-align: middle !important;
}

html body div.kaice-auth-container div.kaice-checkbox-group label,
html body .kaice-auth-container .kaice-checkbox-group label,
html body .kaice-checkbox-group label,
div.kaice-checkbox-group label {
    margin-bottom: 0 !important;
    cursor: pointer !important;
    display: inline !important;
    align-items: flex-start !important;
    gap: 0 !important;
    font-size: 14px !important;
    font-weight: normal !important;
    font-family: 'S-CoreDream-3', sans-serif !important;
    line-height: normal !important;
    white-space: normal !important;
}

/* 비밀번호 래퍼 - 최강 우선순위 */
html body div.kaice-auth-container div.kaice-password-wrapper,
html body .kaice-auth-container .kaice-password-wrapper,
html body .kaice-password-wrapper,
div.kaice-password-wrapper {
    position: relative !important;
    display: block !important;
    width: 100% !important;
}

html body div.kaice-auth-container div.kaice-password-wrapper input,
html body .kaice-auth-container .kaice-password-wrapper input,
html body .kaice-password-wrapper input,
div.kaice-password-wrapper input {
    padding-right: 45px !important;
    width: 100% !important;
}

/* 비밀번호 토글 버튼 - 최강 우선순위 및 강제 표시 */
html body div.kaice-auth-container button.kaice-password-toggle,
html body .kaice-auth-container .kaice-password-toggle,
html body .kaice-password-toggle,
button.kaice-password-toggle,
.kaice-password-wrapper button.kaice-password-toggle,
.kaice-password-wrapper .kaice-password-toggle,
div.kaice-password-wrapper button,
div.kaice-password-wrapper button[type="button"] {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    color: #666666 !important;
    padding: 4px !important;
    width: 28px !important;
    height: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 99999 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    outline: none !important;
    box-shadow: none !important;
    margin: 0 !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    font-size: 16px !important;
    line-height: 1 !important;
}

/* 비밀번호 토글 버튼 내부 SVG 아이콘 - 최강 우선순위 */
html body div.kaice-auth-container button.kaice-password-toggle svg,
html body .kaice-auth-container .kaice-password-toggle svg,
html body .kaice-password-toggle svg,
button.kaice-password-toggle svg,
.kaice-password-wrapper button svg,
.kaice-password-wrapper svg,
div.kaice-password-wrapper button svg {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    opacity: 1 !important;
    visibility: visible !important;
    fill: currentColor !important;
    stroke: none !important;
    pointer-events: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 1 !important;
}

/* 호버 효과 */
html body div.kaice-auth-container button.kaice-password-toggle:hover,
html body .kaice-auth-container .kaice-password-toggle:hover,
html body .kaice-password-toggle:hover,
button.kaice-password-toggle:hover,
.kaice-password-wrapper button:hover {
    background: rgba(0, 0, 0, 0.05) !important;
    border-radius: 4px !important;
    color: #333333 !important;
}

/* 활성 상태 */
html body div.kaice-auth-container button.kaice-password-toggle:active,
html body .kaice-auth-container .kaice-password-toggle:active,
html body .kaice-password-toggle:active,
button.kaice-password-toggle:active,
.kaice-password-wrapper button:active {
    background: rgba(0, 0, 0, 0.1) !important;
    transform: translateY(-50%) scale(0.95) !important;
}

/* 눈 감은 아이콘 기본 숨김 */
html body div.kaice-auth-container button.kaice-password-toggle svg.eye-closed,
html body .kaice-auth-container .kaice-password-toggle svg.eye-closed,
html body .kaice-password-toggle svg.eye-closed,
button.kaice-password-toggle svg.eye-closed,
.kaice-password-wrapper svg.eye-closed,
div.kaice-password-wrapper svg.eye-closed {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* 눈 뜬 아이콘 기본 표시 */
html body div.kaice-auth-container button.kaice-password-toggle svg.eye-open,
html body .kaice-auth-container .kaice-password-toggle svg.eye-open,
html body .kaice-password-toggle svg.eye-open,
button.kaice-password-toggle svg.eye-open,
.kaice-password-wrapper svg.eye-open,
div.kaice-password-wrapper svg.eye-open {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* 비밀번호 강도 표시 - 최강 우선순위 */
html body div.kaice-auth-container div.kaice-password-strength,
html body .kaice-auth-container .kaice-password-strength,
html body .kaice-password-strength,
div.kaice-password-strength {
    margin-top: 8px !important;
    font-size: 12px !important;
    display: block !important;
}

html body div.kaice-auth-container div.kaice-password-strength.weak,
html body .kaice-auth-container .kaice-password-strength.weak,
html body .kaice-password-strength.weak,
div.kaice-password-strength.weak {
    color: #d4183d !important;
}

html body div.kaice-auth-container div.kaice-password-strength.medium,
html body .kaice-auth-container .kaice-password-strength.medium,
html body .kaice-password-strength.medium,
div.kaice-password-strength.medium {
    color: #856404 !important;
}

html body div.kaice-auth-container div.kaice-password-strength.strong,
html body .kaice-auth-container .kaice-password-strength.strong,
html body .kaice-password-strength.strong,
div.kaice-password-strength.strong {
    color: #28a745 !important;
}

/* 도움말 텍스트 - 최강 우선순위 */
html body div.kaice-auth-container small.kaice-help-text,
html body div.kaice-auth-container small.kaice-phone-format,
html body .kaice-auth-container .kaice-help-text,
html body .kaice-auth-container .kaice-phone-format,
html body .kaice-help-text,
html body .kaice-phone-format,
small.kaice-help-text,
small.kaice-phone-format {
    display: block !important;
    margin-top: 4px !important;
    font-size: 12px !important;
    color: #666 !important;
    font-family: 'S-CoreDream-3', sans-serif !important;
}

/* 마케팅 옵션 - 배경색 제거 */
html body div.kaice-auth-container div.kaice-marketing-option,
html body .kaice-auth-container .kaice-marketing-option,
html body .kaice-marketing-option,
div.kaice-marketing-option {
    margin-bottom: 12px !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    border: none !important;
    display: block !important;
}

/* 마케팅 옵션 내부 체크박스 그룹도 배경색과 테두리 제거 */
html body div.kaice-auth-container div.kaice-marketing-option div.kaice-checkbox-group,
html body .kaice-auth-container .kaice-marketing-option .kaice-checkbox-group,
html body .kaice-marketing-option .kaice-checkbox-group,
div.kaice-marketing-option div.kaice-checkbox-group {
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    border: none !important;
    margin-bottom: 8px !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
}

html body div.kaice-auth-container p.kaice-option-desc,
html body .kaice-auth-container .kaice-option-desc,
html body .kaice-option-desc,
p.kaice-option-desc {
    margin: 4px 0 0 26px !important;
    font-size: 12px !important;
    color: #666 !important;
    display: block !important;
}

html body div.kaice-auth-container div.kaice-marketing-actions,
html body .kaice-auth-container .kaice-marketing-actions,
html body .kaice-marketing-actions,
div.kaice-marketing-actions {
    margin-top: 16px !important;
    text-align: right !important;
    gap: 8px !important;
    display: flex !important;
    justify-content: flex-end !important;
}

/* 버튼 스타일 - 최강 우선순위 */
html body div.kaice-auth-container button.kaice-btn,
html body div.kaice-auth-container a.kaice-btn,
html body .kaice-auth-container .kaice-btn,
html body .kaice-btn,
button.kaice-btn,
a.kaice-btn {
    padding: 12px 20px !important;
    border: none !important;
    border-radius: 4px !important;
    font-size: 16px !important;
    font-family: 'S-CoreDream-3', sans-serif !important;
    cursor: pointer !important;
    text-decoration: none !important;
    display: inline-block !important;
    text-align: center !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
    -webkit-tap-highlight-color: transparent !important;
}

html body div.kaice-auth-container button.kaice-btn-primary,
html body div.kaice-auth-container a.kaice-btn-primary,
html body .kaice-auth-container .kaice-btn-primary,
html body .kaice-btn-primary,
button.kaice-btn-primary,
a.kaice-btn-primary {
    background: #408090 !important;
    color: white !important;
}

html body div.kaice-auth-container button.kaice-btn-primary:hover,
html body div.kaice-auth-container a.kaice-btn-primary:hover,
html body .kaice-auth-container .kaice-btn-primary:hover,
html body .kaice-btn-primary:hover,
button.kaice-btn-primary:hover,
a.kaice-btn-primary:hover {
    background: rgba(64, 128, 144, 0.9) !important;
}

html body div.kaice-auth-container button.kaice-btn-large,
html body div.kaice-auth-container a.kaice-btn-large,
html body .kaice-auth-container .kaice-btn-large,
html body .kaice-btn-large,
button.kaice-btn-large,
a.kaice-btn-large {
    width: 100% !important;
    padding: 16px 20px !important;
    font-size: 16px !important;
}

html body div.kaice-auth-container button.kaice-btn:disabled,
html body div.kaice-auth-container a.kaice-btn:disabled,
html body .kaice-auth-container .kaice-btn:disabled,
html body .kaice-btn:disabled,
button.kaice-btn:disabled,
a.kaice-btn:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
}

html body div.kaice-auth-container button.kaice-btn-link,
html body div.kaice-auth-container a.kaice-btn-link,
html body .kaice-auth-container .kaice-btn-link,
html body .kaice-btn-link,
button.kaice-btn-link,
a.kaice-btn-link {
    background: none !important;
    color: #408090 !important;
    padding: 4px 0 !important;
    font-size: 12px !important;
    text-decoration: underline !important;
}

/* 폼 링크 스타일 - 최강 우선순위 */
html body div.kaice-auth-container div.kaice-form-links,
html body .kaice-auth-container .kaice-form-links,
html body .kaice-form-links,
div.kaice-form-links {
    text-align: center !important;
    margin-top: 24px !important;
    font-size: 14px !important;
    display: block !important;
}

html body div.kaice-auth-container div.kaice-form-links a,
html body .kaice-auth-container .kaice-form-links a,
html body .kaice-form-links a,
div.kaice-form-links a {
    color: #408090 !important;
    text-decoration: none !important;
    font-family: 'S-CoreDream-3', sans-serif !important;
    display: inline !important;
}

html body div.kaice-auth-container div.kaice-form-links a:hover,
html body .kaice-auth-container .kaice-form-links a:hover,
html body .kaice-form-links a:hover,
div.kaice-form-links a:hover {
    text-decoration: underline !important;
}

/* 로딩 스피너 - 최강 우선순위 */
html body div.kaice-auth-container div.kaice-loading-spinner,
html body .kaice-auth-container .kaice-loading-spinner,
html body .kaice-loading-spinner,
div.kaice-loading-spinner {
    width: 16px !important;
    height: 16px !important;
    border: 2px solid white !important;
    border-top: 2px solid transparent !important;
    border-radius: 50% !important;
    animation: spin 1s linear infinite !important;
    display: inline-block !important;
    margin-right: 8px !important;
}



/* 뒤로 가기 링크 스타일 */
html body .kaice-back-link,
a.kaice-back-link {
    color: #408090 !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-family: 'S-CoreDream-4', sans-serif !important;
    display: inline !important;
}

html body .kaice-back-link:hover,
a.kaice-back-link:hover {
    text-decoration: underline !important;
}

/* 회원 정보 찾기 섭션 스타일 - 로그인 탭에서만 표시 */
html body .kaice-auth-container .kaice-back-to-login,
html body .kaice-back-to-login,
.kaice-back-to-login {
    padding: 20px 30px !important;
    text-align: center !important;
    border-top: 1px solid #e1e1e1 !important;
    background: #f8f9fa !important;
    margin: 0 !important;
    display: block !important;
}

/* 반응형 디자인 - 최강 우선순위 */
@media (max-width: 768px) {
    html body div.kaice-auth-container,
    html body .kaice-auth-container,
    div.kaice-auth-container {
        padding: 16px !important;
    }
    
    html body div.kaice-auth-container div.kaice-tab-content,
    html body .kaice-auth-container .kaice-tab-content,
    html body .kaice-tab-content,
    div.kaice-tab-content {
        padding: 24px !important;
    }
    
    html body div.kaice-auth-container div.kaice-form-row,
    html body .kaice-auth-container .kaice-form-row,
    html body .kaice-form-row,
    div.kaice-form-row {
        flex-direction: column !important;
        gap: 0 !important;
    }
    
    html body div.kaice-auth-container div.kaice-form-group.kaice-half,
    html body .kaice-auth-container .kaice-form-group.kaice-half,
    html body .kaice-form-group.kaice-half,
    div.kaice-form-group.kaice-half {
        flex: none !important;
    }
}

@keyframes fadeIn {
    from { 
        opacity: 0; 
        transform: translateY(10px); 
    }
    to { 
        opacity: 1; 
        transform: translateY(0); 
    }
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* 강제 표시 스타일 - 주요 요소들이 숨겨지지 않도록 */
html body div.kaice-auth-container input[type="checkbox"],
html body .kaice-auth-container input[type="checkbox"],
input[type="checkbox"] {
    opacity: 1 !important;
    visibility: visible !important;
    display: inline-block !important;
    width: 16px !important;
    height: 16px !important;
    -webkit-appearance: checkbox !important;
    -moz-appearance: checkbox !important;
    appearance: checkbox !important;
}

html body div.kaice-auth-container button.kaice-password-toggle,
html body .kaice-auth-container .kaice-password-toggle,
button.kaice-password-toggle {
    opacity: 1 !important;
    visibility: visible !important;
    display: flex !important;
    z-index: 999 !important;
}

html body div.kaice-auth-container button.kaice-terms-accordion,
html body .kaice-auth-container .kaice-terms-accordion,
button.kaice-terms-accordion {
    opacity: 1 !important;
    visibility: visible !important;
    display: inline !important;
}

/* S-CoreDream 폰트 임포트 - 필요한 폰트만 사용 */
@font-face {
    font-family: 'S-CoreDream-3';
    font-weight: normal; 
    font-style: normal;
    src: url(https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-3Light.woff) format('woff2'),
         url(https://cdn.jsdelivr.net/gh/webfontworld/SCoreDream/SCoreDream3.woff) format('woff');
    font-display: swap;
}

@font-face {
    font-family: 'S-CoreDream-4';
    font-weight: normal; 
    font-style: normal;
    src: url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-4Regular.woff) format('woff2'),
         url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-4Regular.woff) format('woff');
    font-display: swap;
}

@font-face {
    font-family: 'S-CoreDream-6';
    font-weight: normal; 
    font-style: normal;
    src: url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-6Bold.woff) format('woff2'),
         url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-6Bold.woff) format('woff');
    font-display: swap;
}

/* 추가 최강 우선순위 - 약관 아코디언 내용 14px 강제 */
.kaice-terms-content * {
    font-size: 14px !important;
}

.kaice-terms-content.active * {
    font-size: 14px !important;
}

/* 최종 백업 - 어떤 선택자라도 14px 적용 */
*[class*="terms-content"] * {
    font-size: 14px !important;
}

[id*="terms-accordion-content"] *,
[id*="privacy-accordion-content"] *,
[id*="marketing-accordion-content"] * {
    font-size: 14px !important;
}

/* 정확한 선택자로 14px 강제 적용 */
div#terms-accordion-content.kaice-terms-content.active * {
    font-size: 14px !important;
    line-height: 1.5 !important;
    font-family: 'S-CoreDream-3', sans-serif !important;
    color: #000000 !important;
}

/* 텍스트 노드 직접 스타일 적용 - p 태그 없는 경우 */
div#terms-accordion-content.kaice-terms-content.active {
    font-size: 14px !important;
    line-height: 1.5 !important;
    font-family: 'S-CoreDream-3', sans-serif !important;
    color: #000000 !important;
}

div#privacy-accordion-content.kaice-terms-content.active * {
    font-size: 14px !important;
    line-height: 1.5 !important;
    font-family: 'S-CoreDream-3', sans-serif !important;
    color: #000000 !important;
}

/* 텍스트 노드 직접 스타일 적용 - p 태그 없는 경우 */
div#privacy-accordion-content.kaice-terms-content.active {
    font-size: 14px !important;
    line-height: 1.5 !important;
    font-family: 'S-CoreDream-3', sans-serif !important;
    color: #000000 !important;
}

div#marketing-accordion-content.kaice-terms-content.active * {
    font-size: 14px !important;
    line-height: 1.5 !important;
    font-family: 'S-CoreDream-3', sans-serif !important;
    color: #000000 !important;
}

/* 텍스트 노드 직접 스타일 적용 - p 태그 없는 경우 */
div#marketing-accordion-content.kaice-terms-content.active {
    font-size: 14px !important;
    line-height: 1.5 !important;
    font-family: 'S-CoreDream-3', sans-serif !important;
    color: #000000 !important;
}
