* {
  font-family: "Pretendard JP", "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
  -webkit-tap-highlight-color: transparent; /* iOS Safari용 */
  -webkit-touch-callout: none; /* iOS Safari용 */
  -webkit-user-select: none; /* Safari용 */
  -khtml-user-select: none; /* 구형 브라우저용 */
  -moz-user-select: none; /* Firefox용 */
  -ms-user-select: none; /* Internet Explorer/Edge용 */
  user-select: none; /* 표준 문법 */
  outline: none; /* 포커스 아웃라인 제거 */
}

/* html, body {
  width: 100%;
  height: 100vh;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
} */

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0 auto; /* 화면 중앙 정렬 */
}

#root {
  display: flex;
  flex-direction: column;
  background-color: #ebffee;
  margin: 0 auto; /* 화면 중앙 정렬 */
  
}

.app-container {
  position: relative;
  width: 100%;
  min-width: 300px; /* !important */
  max-width: 600px;
  background-color: #ffffff;
  margin: 0 auto;
}

/* 입력 필드에는 선택 가능하도록 설정 */
input, textarea {
  -webkit-user-select: text;
  -khtml-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

/* MainPage.css */
.main-page-container {
  width: 100%;
  height: 100vh; /* 전체 화면 높이로 설정 */
  background: white;
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.main-page-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  margin-bottom: 200px;
}

.main-page-title-text {
  color: var(--Common-0, #000);
  font-feature-settings: 'ss10' on;
  font-size: 30px;
  font-style: normal;
  font-weight: 700;
  line-height: 133.4%;
  letter-spacing: -0.972px;
  text-align: center;
  margin: 0; /* margin-left 제거 */
}

.main-page-button-container {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 40px);
  margin-bottom: clamp(20px, 5vh, 40px);
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: white;
  padding-bottom: 20px;
  max-width: 560px;
}

.main-page-preview-button {
  width: calc(250px - 70px);
  margin: 0 auto;
  padding: 10px;
  background-color: white;
  color: #8a8a8a;
  border: none;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
}

.main-page-preview-button:hover {
  background-color: #e2e2e2;
}

.main-page-test-button {
  display: flex;
  font-size: 16px;
  font-weight: 500;
  padding: 12px 28px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  border: none;
  border-radius: 10px;
  background: var(--Primary-Normal, #00BF40);
  color: white;
}

.main-page-login-button {
  width: 100%;
  padding: 10px;
  background-color: white;
  color: #00BF40;
  border: 1px solid #70737C38;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  
}

.main-page-login-text {
  text-align: center;
  background-color: white;
  color: #4b4c529c;
  font-size: 14px;
  margin-top: 8px;
  border: none;
  cursor: pointer;
}

.main-page-logo-container {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
  height: 100%;
}

.main-page-logo {
  width: 180px;
  height: 180px;
  margin-bottom: 50px;
  object-fit: contain;
}

.main-page-preview-gif {
  width: 100%;
  max-width: 300px;
  height: auto;
  aspect-ratio: 9/16;
  object-fit: contain;
  opacity: 0;
  animation: fadeIn 0.5s ease-in forwards;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}/* AcaLoginPage1.css */
.aca-login-page-1-container {
  width: 100%;
  min-height: 100vh;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
}

.aca-login-page-1-header {
  height: 48px;
  display: flex;
  align-items: center;
  background-color: #ffffff;
}
  
.aca-login-page-1-back-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 24px;
  height: 24px;
  left: 16px;
}

.aca-login-page-1-back-icon {
  width: 24px;
  height: 24px; 
}

.aca-login-page-1-header-title {
  width: 100%;
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-feature-settings: 'ss10' on;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%; /* 24px */
  letter-spacing: 0.091px;
  text-align: center;
  align-items: center;
}

.aca-login-page-1-login-container {
  width: calc(100% - 40px);
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 50px;
  margin-left: 20px;
  margin-right: 20px;
}

.aca-login-page-1-logo-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin-top: 65px;
  margin-bottom: 10px;
}

.aca-login-page-1-logo {
  width: 161px;
  height: 161px;
}

.aca-login-page-1-description {
  height: 20px;
  width: 100%;
  margin-left: 0px;
  color: var(--Common-0, #000);
  font-feature-settings: 'ss10' on;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 133.4%; /* 32.016px */
  letter-spacing: -0.552px;
  margin-bottom: 36px;
}


.aca-login-page-1-login-buttons {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.aca-login-page-1-login-buttons button {
  width: 100%;
  height: 48px;
  padding: 16px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 500;
  line-height: 146.7%;
  letter-spacing: 0.144px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  box-sizing: border-box;
}

.aca-login-page-1-kakao-login {
  background-color: #FEE500;
  color: #000000;
  height: 48px;
  border: none;
  gap: 6px;
}

.aca-login-page-1-kakao-icon {
  display: flex;
  height: 18px;
  flex-direction: column;
  justify-content: center;
  align-items: center; 
}

.aca-login-page-1-naver-login {
  background-color: #FFFFFF;
  color: #000000;
  height: 48px;
  border: 1px solid #E5E5E5;
  gap: 6px;
}

.aca-login-page-1-naver-icon {
  display: flex;
  width: 16px;
  height: 16px;
  padding: 3px;
  justify-content: space-between;
  align-items: center;
}

.aca-login-page-1-google-login {
  background-color: #FFFFFF;
  color: #000000;
  height: 48px;
  border: 1px solid #E5E5E5;
  gap: 6px;
}

.google-icon {
  display: flex;
  height: 18px;
  flex-direction: column;
  justify-content: center;
  align-items: center; 
}

.loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.loading-spinner {
  width: 50px;
  height: 50px;
  border: 4px solid rgba(0, 191, 64, 0.3);
  border-radius: 50%;
  border-top-color: #00BF40;
  animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* AcaLoginPage2.css */
.aca-login-page-2-container {
  width: 100%;
  min-height: 100vh;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  padding-top: env(safe-area-inset-top);
  overflow-x: hidden;
  overflow-y: auto;
}

.aca-login-page-2-header {
  width: 100%;
  height: 48px;
  display: flex;
  align-items: center;
  background-color: #ffffff;
  position: sticky;
  top: env(safe-area-inset-top);
  z-index: 100;
}

.aca-login-page-2-back-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute; 
  width: 24px;
  height: 24px;
  left: 16px; 
}

.aca-login-page-2-back-icon {
  width: 24px;
  height: 24px;
}

.aca-login-page-2-header-title {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  text-align: center;
  font-feature-settings: 'ss10' on;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%; /* 24px */
  letter-spacing: 0.091px;
  color: #000000;
  text-align: center;
  position: absolute; 
  left: 50%;
  transform: translateX(-50%);
}

.aca-login-page-2-login-container {
  flex: 1;
  padding-top: 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.aca-login-page-2-logo-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-top: 40px;
  margin-bottom: 40px;
}

.aca-login-page-2-logo {
  width: 161px;
  height: 161px;
}

.aca-login-page-2-description {
  margin-top: 50px;
  color: var(--Common-0, #000);
  text-align: center;
  font-feature-settings: 'ss10' on;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 133.4%; /* 32.016px */
  letter-spacing: -0.552px;
}

.aca-login-page-2-login-buttons {
  width: calc(100% - 40px);
  margin-left: 20px;
  margin-right: 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: auto; /* 하단으로 밀기 */
  margin-bottom: 54px;
}

.aca-login-page-2-login-buttons button {
  width: 100%;
  padding: 16px;
  border-radius: 8px;
  font-family: "Pretendard JP";
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 146.7%; /* 22.005px */
  letter-spacing: 0.144px;
  height: 48px;
}

.aca-login-page-2-old-login {
  color: var(--Semantic-Static-White, var(--Static-White, #FFF));
  font-feature-settings: 'ss10' on;
  display: flex;
  width: 100%;
  padding: 12px 28px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #00BF40;
  border: 1px solid #00BF40;
  border-radius: 10px;
}

.aca-login-page-2-new-login {
  color: var(--Semantic-Primary-Normal, var(--Primary-Normal, #00BF40));
  font-feature-settings: 'ss10' on;
  background-color: #ffffff;
  display: flex;
  width: 100%;
  padding : 12px 28px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border: 1px solid rgba(112, 115, 124, 0.22);
  border-radius: 10px;
}
.aca-login-page-3-container {
    width: 100%;
    min-height: 108vh;
    background-color: #ffffff;
    padding: 20px;
    padding-bottom: calc(34px + 80px);
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
  }
  
  .aca-login-page-3-header {
    width: 100%;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ffffff;
    position: relative;
  }
  
  .aca-login-page-3-header-title {
    font-size: 16px;
    font-weight: 600;
    color: #000000;
    text-align: center;
  }
  
  
  .aca-login-page-3-registration-form {
    box-sizing: border-box;
  }
  
  .aca-login-page-3-form-group {
    margin-top: 30px;
    color: var(--Common-0, #000);
    font-feature-settings: 'ss10' on;
    font-size: 22px;
    font-style: normal;
    font-weight: 700;
    line-height: 133.4%; /* 32.016px */
    letter-spacing: -0.552px;
    margin-left: 15px;
  }
  
  .aca-login-page-3-button-group {
    position: absolute;
    left: 10px;
    right: 0;
    display: flex;
    gap: 12px;
    margin-left: 20px;
    margin-right: 28px;
    background: #ffffff;
    box-sizing: border-box;
    bottom: 0;
    margin-bottom: 40px;
  }
  
  .aca-login-page-3-submit-button,
  .aca-login-page-3-preview-button {
    width: 320px;
    flex: 1;
    height: 48px;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 600;
    border: none;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: "Pretendard JP";
    line-height: 150%;
    letter-spacing: 0.091px;
  }
  
  .aca-login-page-3-submit-button {
    border: 1px solid rgba(112, 115, 124, 0.22);
    background-color: #ffffff;
    color: #030303;
  }
  
  .aca-login-page-3-preview-button {
    border: 1px solid rgba(112, 115, 124, 0.22);
    background-color: #ffffff;
    color: #00BF40;
  }

  .aca-login-page-3-loading {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
  }

  .aca-login-page-3-loading-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid #00BF40;
    border-radius: 50%;
    animation: spin 1s linear infinite;
  }

  @keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
  }/* AcaAuthPage1.css */
.auth-page-1-container {
  width: 100%;
  min-height: 100vh;
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
  overflow-x: hidden;
}

.auth-page-1-header {
  width: 100%;
  height: 48px;
  display: flex;
  align-items: center;
  padding: 0 20px;
  background-color: #ffffff;
  position: sticky; /* 헤더 고정 */
  z-index: 100;
}

.auth-page-1-back-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute; 
  width: 24px;
  height: 24px;
  left: 20px; 
}

.auth-page-1-back-icon {
  width: 24px;
  height: 24px; 
}

.auth-page-1-header-title {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  text-align: center;
  font-feature-settings: 'ss10' on;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%; /* 24px */
  letter-spacing: 0.091px;
  position: absolute;
  text-align: center;
  left: 45%;
  transform: translateX(-50%);
}

.auth-page-1-login-container {
  position: relative;
  padding: 20px;
  display: flex;
  flex-direction: column;
  width: 100%;
}

.auth-page-1-checkbox-group {
  margin-top: 260px; /* 체크박스 그룹 상단 여백 조정 */
}

.auth-page-1-main-checkbox-item {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #000000));
  font-feature-settings: 'ss10' on;
  font-size: 15px;
  font-style: normal;
  font-weight: 600;
  display: flex;
  gap: 8px;
}

.auth-page-1-main-checkbox-item input[type="checkbox"] {
  width: 20px;
  height: 20px;
  border: 1.5px solid #DDD;
  border-radius: 4px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: white;
  cursor: pointer;
  position: relative;
}

.auth-page-1-main-checkbox-item input[type="checkbox"]:checked {
  background-color: #00BF40;
  border-color: #00BF40;
}

.auth-page-1-main-checkbox-item input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 6px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.auth-page-1-checkbox-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 14px;
  color: rgba(55, 56, 60, 0.61);
  font-feature-settings: 'ss10' on;
  margin-top: 12px;
  position: relative;
  padding-right: 30px; /* 화살표 버튼을 위한 여백 */
  width: 100%;
  box-sizing: border-box;
}

.auth-page-1-checkbox-item input[type="checkbox"] {
  width: 20px;
  height: 20px;
  border: 1.5px solid #DDD;
  border-radius: 4px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: white;
  cursor: pointer;
  position: relative;
}

.auth-page-1-checkbox-item input[type="checkbox"]:checked {
  background-color: #00BF40;
  border-color: #00BF40;
}

.auth-page-1-checkbox-item input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 6px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.auth-page-1-divider {
  height: 1px;
  background-color: rgba(112, 115, 124, 0.22);
  margin: 16px 0 8px 0;
  width: 100%;
}

.auth-page-1-arrow-button {
  position: absolute;
  right: 0;
  background: none;
  border: none;
  cursor: pointer;
  padding-top: 8px;
  color: #99a0ac;
}

.auth-page-1-arrow-button img {
  width: 24px;
  height: 24px;
  color: #9CA3AF;
}

.auth-page-1-submit-button {
  width: calc(100% - 40px);
  height: 48px;
  margin: 20px;
  border: none;
  border-radius: 8px;
  background-color: #00C851;
  color: white;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  position: relative; /* fixed에서 relative로 변경 */
  bottom: 0;
}

.auth-page-1-submit-button.disabled {
  background-color: #E6E6E6;
  cursor: not-allowed;
}

.auth-page-1-content {
  flex: 1;
  padding: 20px;
  overflow-y: auto;
  padding-bottom: 37px; /* 버튼 높이만큼 여백 추가 */
}

.auth-page-1-input-group {
  margin-bottom: 12px;
  margin-right: 0px;
}

.auth-page-1-input-label {
  color: var(--Label-Alternative, rgba(55, 56, 60, 0.61));
  font-feature-settings: 'ss10' on;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 142.9%; /* 20.006px */
  letter-spacing: 0.203px;
}

.auth-page-1-input {
  width: 100%;
  padding: 12px;
  border: 1px solid rgba(112, 115, 124, 0.22);
  border-radius: 8px;
  font-feature-settings: 'ss10' on;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 142.9%;
  letter-spacing: 0.203px;
  box-sizing: border-box;
}

.auth-page-1-input::placeholder {
  color: var(--Semantic-Label-Assistive, var(--Label-Assistive, rgba(55, 56, 60, 0.28)));
}

.auth-page-1-phone-group {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
  width: 100%;
}

.auth-page-1-phone-input {
  flex: 1;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(112, 115, 124, 0.22);
  border-radius: 8px;
  font-size: 14px;
  box-sizing: border-box;
}

.auth-page-1-phone-input::placeholder {
  color: var(--Semantic-Label-Assistive, var(--Label-Assistive, rgba(55, 56, 60, 0.28)));
}

.auth-page-1-verification-button {
  padding: 12px 8px;
  width: 110px;
  flex-shrink: 0;
  background: white;
  border: 1px solid #00BF40;
  border-radius: 8px;
  color: #00BF40;
  font-size: 13px;
  white-space: nowrap;
}

.auth-page-1-verification-button.disabled {
  background: #ffffff;
  border-color: #DDD;
  color: #d7dadf;
  cursor: not-allowed;
  padding: 12px 8px;
}

.auth-page-1-verification-input-group {
  position: relative;
  width: 100%;
}

.auth-page-1-verify-button {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #00BF40;
  font-size: 13px;
  cursor: pointer;
  padding: 0;
}

.auth-page-1-verification-input-group .auth-page-1-input {
  width: 100%;
  padding-right: 80px;
  font-feature-settings: 'ss10' on;
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 146.7%; /* 22.005px */
  letter-spacing: 0.144px;
}

.required {
  color: #FF0000;
  margin-left: 2px;
}

.auth-page-1-phone-input.verified {
  background-color: #F4F4F4;
  color: #9CA3AF;
  border-color: #DDD;
}

.auth-page-1-verification-input-group input {
  padding: 10px;
  border: 1px solid rgba(112, 115, 124, 0.22);
  border-radius: 8px;
  font-size: 14px;
}

.auth-page-1-verification-input-group input::-webkit-outer-spin-button,
.auth-page-1-verification-input-group input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.auth-page-1-input.verified {
  background-color: #F4F4F4;
  color: #9CA3AF;
  border-color: #DDD;
}

.auth-page-1-phone-input.verified {
  background-color: #F4F4F4;
  color: #9CA3AF;
  border-color: #DDD;
}
.auth-page-2-container { 
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100vh;
  background-color: white;
  position: relative;
  padding-top: env(safe-area-inset-top);
  overflow-x: hidden;
  overflow-y: auto;
}

.auth-page-2-header {
  width: 100%;
  height: 48px;
  padding: 0 20px;
  display: flex;
  align-items: center;
}

.auth-page-2-content-wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  padding-bottom: 80px;
}

.auth-page-2-back-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 24px;
  height: 24px;
  left: 20px;
}

.auth-page-2-back-icon {
  width: 24px;
  height: 24px;
}

.auth-page-2-header-title {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  text-align: center;
  font-feature-settings: 'ss10' on;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%; /* 24px */
  letter-spacing: 0.091px;
  position: absolute;
  text-align: center;
  left: 50%;
  transform: translateX(-50%);
}

.auth-page-2-registration-form { 
  padding: 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.auth-page-2-form-group {
  width: 100%;
  padding-bottom: 20px;
  color: var(--Label-Alternative, rgba(55, 56, 60, 0.61));
  font-feature-settings: 'ss10' on;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 142.9%;
  letter-spacing: 0.203px;
}

.auth-page-2-form-group label {
  display: block;
  margin-bottom: 8px;
  color: var(--Label-Alternative, rgba(55, 56, 60, 0.61));
  font-feature-settings: 'ss10' on;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 142.9%; /* 20.006px */
  letter-spacing: 0.203px;
}

.auth-page-2-required {
  color: #FF0000;
  margin-left: 2px;
}

.auth-page-2-input-field {
  width: 100%;
  border: 1px solid rgba(112, 115, 124, 0.22);
  border-radius: 8px;
  font-size: 14px;
  display: flex;
  padding: 13px 12px;
  align-items: center;
  box-sizing: border-box;
  margin-bottom: 8px;
}

.auth-page-2-input-field::placeholder {
  color: var(--Semantic-Label-Assistive, var(--Label-Assistive, rgba(55, 56, 60, 0.28)));
}

.auth-page-2-phone-input-group,
.auth-page-2-address-input-group {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
}

.auth-page-2-verification-button,
.auth-page-2-search-button {
  padding: 12px 16px;
  background-color: #ffffff;
  border: 1px solid #e2e5e3;
  font-weight: 600;
  border-radius: 8px;
  color: #272626;
  font-size: 14px;
  white-space: nowrap;
  cursor: pointer;
}

.auth-page-2-button-group {
  margin-bottom: 40px;
  margin-left: 20px;
  width: calc(100% - 40px);
  background: transparent;
  z-index: 100;
}

.auth-page-2-next-button {
  width: 100%;
  height: 48px;
  padding: 12px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
  background: #00BF40;
  color: #FFFFFF;
  font-feature-settings: 'ss10' on;
  border: none;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%; /* 24px */
  letter-spacing: 0.091px;
}

.auth-page-2-next-button.disabled {
  background: #F4F4F4;
  color: var(--Semantic-Label-Assistive, var(--Label-Assistive, rgba(55, 56, 60, 0.28)));
  font-feature-settings: 'ss10' on;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%; /* 24px */
  letter-spacing: 0.091px;
  cursor: not-allowed;
}

.auth-page-2-postal-code {
  width: 100%;  /* 우편번호 입력창 너비 조정 */
  color: var(--Semantic-Label-Assistive, var(--Label-Assistive, rgba(144, 145, 148, 0.28)));
  border: 1px solid rgba(112, 115, 124, 0.22);
  border-radius: 8px;
  font-size: 13px;
  padding: 13px 12px;
  background-color: #F9F9FB;
  color: #171719;
}

.auth-page-2-address-input-group {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
  align-items: center;
  color: var(--Semantic-Label-Assistive, var(--Label-Assistive, rgba(55, 56, 60, 0.28)));
}

.auth-page-2-input-field[readonly] {
  background-color: #F9F9FB;
  color: #171719;
}

.auth-page-2-verification-button.disabled {
  background-color: #F4F4F4;
  color: #9CA3AF;
  cursor: not-allowed;
}

.auth-page-2-search-button:hover {
  opacity: 0.9;
}

.verification-success {
  color: #00BF40;
  font-size: 12px;
  margin-top: 4px;
  margin-bottom: 0;
}

.auth-page-2-input-field:disabled {
  background-color: #F4F4F4;
  cursor: not-allowed;
}

/* Daum 우편번호 서비스 스타일 오버라이드 */
#layer {
  width: 100% !important;
  height: 100% !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  overflow-y: auto !important;
}

#btnCloseLayer {
  position: fixed !important;
  top: 20px !important;
  right: 20px !important;
  width: 24px !important;
  height: 24px !important;
}

.info {
  display: none !important; /* 하단 정보 숨기기 */
}

/* 파일 업로드 관련 스타일 추가 */
.auth-page-2-file-upload-container {
  width: 100%;
  margin-top: 8px;
}

.auth-page-2-file-upload-wrapper {
  width: 100%;
  min-height: 80px;
  display: flex;
  gap: 12px;
  box-sizing: border-box;
}

.auth-page-2-file-upload-button {
  position: relative;
  display: flex;
  width: 103px;
  height: 77px;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  border: 1px dashed rgba(112, 115, 124, 0.22);
  background: #FFF;
  cursor: pointer;
  overflow: hidden;
}

.auth-page-2-plus-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 24px;
  height: 24px;
}

.auth-page-2-preview-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.auth-page-2-remove-file-button {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  z-index: 1;
}

.auth-page-2-remove-file-button:hover {
  background: rgba(0, 0, 0, 0.7);
}

.auth-page-2-file-info-wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.auth-page-2-file-upload-guide,
.auth-page-2-uploaded-title {
  color: rgba(55, 56, 60, 0.61);
  font-family: "Pretendard JP";
  font-size: 12px;
  line-height: 1.5;
}

.auth-page-2-uploaded-filename {
  color: #171719;
  font-family: "Pretendard JP";
  font-size: 12px;
  margin-top: auto;
}

/* 위치 관련 스타일 수정 */
.auth-page-2-location-container {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.auth-page-2-select {
  flex: 1;
  height: 44px;
  padding: 0 16px;
  border: 1px solid #EAEBEC;
  border-radius: 8px;
  font-size: 14px;
  background: white;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2337383C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px 8px;
}

.auth-page-2-select.full-width {
  width: 100%;
  border: 1px solid rgba(112, 115, 124, 0.22);
  border-radius: 8px;
  font-size: 14px;
  display: flex;
  padding: 13px 12px;
  align-items: center;
  box-sizing: border-box;
}

.auth-page-2-select:disabled {
  background-color: #ffffff;
  color: #9ea5b1;
  cursor: not-allowed;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%239CA3AF' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.auth-page-2-input-field {
  width: 100%;
  border: 1px solid rgba(112, 115, 124, 0.22);
  border-radius: 8px;
  font-size: 14px;
  display: flex;
  padding: 13px 12px;
  align-items: center;
  box-sizing: border-box;
}

.auth-page-2-input-field label {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-feature-settings: 'ss10' on;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
}

.auth-page-2-input-field::placeholder {
  color: var(--Semantic-Label-Assistive, var(--Label-Assistive, rgba(55, 56, 60, 0.28)));
}

.auth-page-2-input-field[readonly] {
  background-color: #F9F9FB;
  color: #171719;
}

/* 드롭다운 화살표 스타일 */
.auth-page-2-select {
  appearance: none;
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 16px;
}

.auth-page-2-select option {
  padding: 8px;
}

/* 필수 입력 표시 스타일 */
.auth-page-2-required {
  color: #FF0000;
  margin-left: 2px;
}

/* 폼 그룹 스타일 */
.auth-page-2-form-group {
  width: 100%;
  padding:0;
  /* padding-bottom: 12px; */
  color: var(--Label-Alternative, rgba(55, 56, 60, 0.61));
  font-feature-settings: 'ss10' on;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 142.9%;
  letter-spacing: 0.203px;
}

.auth-page-2-form-group label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #171719;
}

.loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.loading-spinner {
  width: 50px;
  height: 50px;
  border: 4px solid rgba(0, 191, 64, 0.3);
  border-radius: 50%;
  border-top-color: #00BF40;
  animation: spin 1s ease-in-out infinite;
}
.auth-page-4-container { 
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100vh;
  background-color: white;
  position: relative;
  padding-top: env(safe-area-inset-top);
  overflow-x: hidden;
}

.auth-page-4-header {
  width: 100%;
  height: 48px;
  padding: 0 20px;
  display: flex;
  align-items: center;
}

.auth-page-4-back-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 24px;
  height: 24px;
  left: 20px;
}

.auth-page-4-back-icon {
  width: 24px;
  height: 24px;
}

.auth-page-4-header-title {
  font-size: 16px;
  font-weight: 600;
  color: #000000;
  text-align: center;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.auth-page-4-registration-form {
  padding: 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
  margin-left: 5px;
  }

  .auth-page-4-form-group {
    width: 100%;
    padding-bottom: 20px;
    color: var(--Label-Alternative, rgba(55, 56, 60, 0.61));
    font-feature-settings: 'ss10' on;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 142.9%; /* 20.006px */
    letter-spacing: 0.203px;
  }

.auth-page-4-form-group label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #171719;
}

.auth-page-4-required {
  color: #FF0000;
}

.auth-page-4-images-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 16px;
}

.auth-page-4-upload-box {
  aspect-ratio: 4/3;
  border: 1px dashed rgba(112, 115, 124, 0.22);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: #FFF;
  position: relative;
}

.auth-page-4-image-preview-box {
  position: relative;
  aspect-ratio: 4/3;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(112, 115, 124, 0.22);
}

.auth-page-4-preview-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.auth-page-4-remove-image-button {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  z-index: 1;
}

.auth-page-4-remove-image-button:hover {
  background: rgba(0, 0, 0, 0.7);
}

.auth-page-4-plus-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 24px;
  height: 24px;
}

.auth-page-4-upload-guide {
  margin-top: 16px;
  color: rgba(55, 56, 60, 0.61);
  font-size: 12px;
  line-height: 1.5;
}

.auth-page-4-upload-guide p {
  margin: 4px 0;
  color: rgba(55, 56, 60, 0.61);
  font-family: "Pretendard JP";
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 18px;
}

.auth-page-4-button-group {
  /* flex: 1; */
  position: flex;
  bottom: 80px;
  left: 0;
  right: 30px;
  padding: 16px 24px; 
  background: white;
  display: flex;
  gap: 12px;
}

.auth-page-4-next-button {
  position: absolute;
  height: 48px;
  bottom: 40px; /* 하단으로부터의 거리 */
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 40px); /* 좌우 여백 20px씩 */
  padding: 12px 28px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
  background: #00BF40; /* 활성화 상태의 초록색 배경 */
  color: var(--Semantic-Static-White, var(--Static-White, #FFF));
  font-feature-settings: 'ss10' on;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%; /* 24px */
  letter-spacing: 0.091px;
  border: none;
}

.auth-page-4-next-button.disabled {
  background: #F4F4F4;
  color: #9CA3AF; /* 비활성화 상태의 텍스트 색상 */
  cursor: not-allowed;
  color: var(--Semantic-Label-Assistive, var(--Label-Assistive, rgba(55, 56, 60, 0.28)));
  font-feature-settings: 'ss10' on;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%; /* 24px */
  letter-spacing: 0.091px;
}

.loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.loading-spinner {
  width: 50px;
  height: 50px;
  border: 4px solid rgba(0, 191, 64, 0.3);
  border-radius: 50%;
  border-top-color: #00BF40;
  animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.auth-page-4-thumbnail-container {
  display: flex;
  gap: 16px;
  margin-top: 8px;
}

.auth-page-4-thumbnail-preview-box {
  width: calc((100% - 16px) * 0.3);  /* 컨테이너의 40% 너비 */
  aspect-ratio: 3/4;  /* 3:4 비율로 수정 */
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  background-color: #f5f5f5;
}

.auth-page-4-thumbnail-preview {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 3/4;  /* 3:4 비율로 수정 */
}

/* 썸네일용 업로드 박스 */
.auth-page-4-thumbnail-container .auth-page-4-upload-box {
  width: calc((100% - 16px) * 0.3);  /* 컨테이너의 30% 너비 */
  aspect-ratio: 3/4;  /* 3:4 비율로 수정 */
}.aca-category-container {
  padding: 20px;
  max-width: 600px;
  margin: 0 auto;
}

.aca-category-highlight-message {
  background-color: #F8F9FA;
  border-radius: 8px;
  padding: 16px;
  margin: 20px 0;
  color: #495057;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.aca-category-header {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 48px;
    margin-top: 10px;
    width: 100%;
    position: sticky;
    background-color: #ffffff;
    z-index: 100;
    position: relative;
}

.aca-category-back-button {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    position: absolute;
    left: 0;
    visibility: hidden;
}

.aca-category-back-button img {
  width: 24px;
  height: 24px;
}

.aca-category-header span {
    margin-left: 0;
    color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
    text-align: center;
    font-feature-settings: 'ss10' on;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 150%;
    letter-spacing: 0.091px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.aca-category-content h1 {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-feature-settings: 'ss10' on;
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 135.8%; /* 38.024px */
  letter-spacing: -0.661px;
  margin-bottom: 8px;
}

.aca-category-content p {
  color: var(--Semantic-Label-Alternative, var(--Label-Alternative, rgba(55, 56, 60, 0.61)));
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 144.5%; /* 26.01px */
  letter-spacing: -0.004px;
  margin: 0;
}

.aca-category-buttons {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 138px;
  margin-bottom: 33px;
}

.aca-category-button {
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  width: 100%;
}

.aca-category-button-image {
  width: 100%;
  height: auto;
  border-radius: 16px;
}

/* 호버 효과 (선택사항) */  
.aca-category-button:hover {
  opacity: 0.9;
}

.aca-category-button img {
  border-radius: 10px;
  border: none;
}

.aca-category-icon {
  width: 48px;
  height: 48px;
  margin-right: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.aca-category-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.aca-category-info {
  flex: 1;
}

.aca-category-info h3 {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 4px;
}

.aca-category-info p {
  font-size: 14px;
  color: #666;
  margin: 0;
}
.TestModule-registration-page {
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background-color: white;
  position: relative;
  padding-top: env(safe-area-inset-top);
  overflow-x: hidden;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.TestModule-registration-page::-webkit-scrollbar {
  display: none;
}


.TestModule-header {
  position: absolute;
  height: 48px;
  background: white;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 600px;
}

.TestModule-back-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 24px;
  height: 24px;
  left: 20px;
}

.TestModule-back-icon {
  width: 24px;
  height: 24px;
}


.TestModule-header-title {
  flex: 1;
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  text-align: center;
  font-feature-settings: 'ss10' on;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%; /* 24px */
  letter-spacing: 0.091px;
}


.TestModule-progress-bar {
  position: absolute;
  top: 36px;
  align-items: center;
  justify-content: center;
  height: 5px;
  width: 100%;
  background: var(--Line-Solid-Neutral, #EAEBEC);
  border-radius: 10px;
  margin-top: 12px;
  max-width: 600px;
}


.TestModule-progress-fill {
  height: 100%;
  width: 33%;
  background-color: #40e088;
  transition: width 0.3s ease;
  border-radius: 10px;
}

.TestModule-registration-form {
  flex: 1;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 20px;
  padding-bottom: 100px;
  margin-top: 48px;
  display: flex;
  flex-direction: column;
}

.TestModule-form-group {
  width: 100%;
  color: var(--Label-Alternative, rgba(55, 56, 60, 0.61));
  font-feature-settings: 'ss10' on;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 146.7%; /* 22.005px */
  letter-spacing: 0.144px;
  box-sizing: border-box;
  margin-bottom: 20px;
}

.TestModule-form-group label {
  margin-bottom: 4px;
  color: var(--Label-Alternative, rgba(55, 56, 60, 0.61));
  font-feature-settings: 'ss10' on;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 142.9%; /* 20.006px */
  letter-spacing: 0.203px;

}

.TestModule-required {
  color: #FF0000;
}


.TestModule-button-wrapper {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 600px;
  padding: 20px 16px 40px;
  background: white;
  z-index: 9;
  box-sizing: border-box;
}

.TestModule-next-button {
  width: 100%;
  height: 48px;
  background-color: #00BF40;
  color: white;
  border: none;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  z-index: 10;
  max-width: 600px;
  margin: 0 auto;
}

.TestModule-next-button.disabled {
  background-color: #cccccc;
  cursor: not-allowed;
  opacity: 0.4;
}


.TestModule-options-grid {
  display: grid;
  gap: 6px;
}


.grid-cols-2 {
  grid-template-columns: repeat(2, 1fr);
}

.TestModule-option-button {
  width: 100%;
  height: 48px;
  border: 1px solid rgba(112, 115, 124, 0.22);
  border-radius: 8px;
  background: white;
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-feature-settings: 'ss10' on;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 146.7%; /* 22.005px */
  letter-spacing: 0.144px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.TestModule-option-button.selected {
  background: #E6F7EC;
  border-color: #00BF40;
  color: #00BF40;
}


.TestModule-option-button:hover {
  border-color: #00BF40;
}

.TestModule-textarea-field {
  width: 100%;
  height: 48px;
  border: 1px solid rgba(112, 115, 124, 0.22);
  border-radius: 8px;
  padding: 13px 12px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  resize: none;
  font-family: inherit;
  box-sizing: border-box;
  text-align: left;
  background: white;
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.TestModule-textarea-field::placeholder {
  color: rgba(55, 56, 60, 0.61);
  text-align: left;
}

.TestModule-textarea-field:focus {
  outline: none;
  border-color: #00BF40;
}

.TestModule-textarea-field.large1 {
  height: 130px;
}

.TestModule-textarea-field.large2 {
  height: 180px;
}

.TestModule-date-range {
  display: flex;
  align-items: center;
  gap: 7px;
  width: 100%;
}

.TestModule-date-range input {
  width: 100%;
  padding: 12px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  cursor: pointer;
  background-color: #fff;
}

.TestModule-date-separator {
  color: #666;
}

.TestModule-date-modal-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: flex-end;
  z-index: 1000;
  height: 100%;
  max-width: 600px;
  margin: 0 auto;
}

.TestModule-date-modal {
  background: white;
  width: 100%;
  border-radius: 16px 16px 0 0;
  padding: 20px;
  max-height: 80vh;
  margin: 0 auto;
}

.TestModule-date-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.TestModule-date-modal-header h3 {
  font-size: 16px;
  font-weight: 600;
}

.TestModule-date-modal-confirm {
  color: #1EC800;
  background: none;
  border: none;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
}

.TestModule-date-modal-content {
  display: flex;
  gap: 20px;
}

.TestModule-date-column {
  flex: 1;
  text-align: center;
}

.TestModule-date-column h4 {
  font-size: 14px;
  color: #666;
  margin-bottom: 12px;
  text-align: left;
}

.TestModule-date-options {
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 200px;
  overflow-y: auto;
  scroll-behavior: smooth;
  padding: 4px 0;
}

.TestModule-date-option {
  padding: 12px;
  border: none;
  background: none;
  text-align: center;
  font-size: 14px;
  cursor: pointer;
  white-space: nowrap;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.TestModule-date-option.selected {
  color: #1EC800;
  font-weight: 500;
}

.TestModule-date-options::-webkit-scrollbar {
  width: 4px;
}

.TestModule-date-options::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.TestModule-date-options::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 2px;
}

.TestModule-date-options::-webkit-scrollbar-thumb:hover {
  background: #555;
}

.TestModule-date-options::before,
.TestModule-date-options::after {
  content: '';
  height: 4px;
}

.aca-search-page-1-container { 
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    height: 100vh;
    background-color: white;
    position: relative;
    padding-top: env(safe-area-inset-top);
    overflow-x: hidden;
    overflow-y: hidden;
}

.aca-search-page-1-header {
    width: 100%;
    max-width: 560px;
    height: 50px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    background: white;
    z-index: 1000;
    left: 50%;
    transform: translateX(-50%);
}

.aca-search-page-1-back-button {
    position: absolute;
    left: 30px;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    z-index: 1;
}

.aca-search-page-1-back-icon {
    width: 24px;
    height: 24px;
}

.aca-search-page-1-header-title {
    font-size: 16px;
    font-weight: 600;
    color: #000000;
    text-align: center;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
}

.aca-search-page-1-content-wrapper {
    flex: 1;
    padding: 0;
    margin-top: 100px;
    background: white;
    overflow-y: auto;
    height: calc(100vh - 100px);
}

.aca-search-page-1-registration-form {
    width: 100%;
}

.aca-search-page-1-form-group {
    position: relative;
}

.aca-search-page-1-input-wrapper {
    position: absolute;
    top: 40px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 560px;
    background: white;
    z-index: 999;
    padding: 12px 20px;
    box-sizing: border-box;
}

.aca-search-page-1-search-icon {
    position: absolute;
    left: 35px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    pointer-events: none;
}

.aca-search-page-1-input-field {
    width: calc(100% - 40px);
    padding: 12px 40px;
    border: 1px solid #EAEBEC;
    border-radius: 8px;
    font-size: 14px;
    box-sizing: border-box;
}

.aca-search-page-1-input-field::placeholder {
    color: #d1d1d1;
    font-feature-settings: 'ss10' on;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 142.9%; /* 20.006px */
    letter-spacing: 0.203px;
}

.aca-search-page-1-next-button {
    position: fixed;
    bottom: 20px;
    left: 20px;
    right: 20px;
    padding: 14px;
    border-radius: 8px;
    background: #00BF40;
    color: #FFFFFF;
    border: none;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
}

.aca-search-page-1-next-button.disabled {
    background: #F4F4F4;
    color: #9CA3AF;
}

.aca-search-page-1-results {
    padding: 0;
    background: white;
    margin-top: 12px;
}

.aca-search-page-1-result-item {
    padding: 10px 20px;
    border-bottom: 1px solid #EAEBEC;
    cursor: pointer;
}

.aca-search-page-1-result-item.selected {
    background-color: #F5F5F5;
}

.aca-search-page-1-result-item:hover {
    background-color: #F5F5F5;
}

/* 상단 행 (ID와 이름을 포함하는 컨테이너) */
.aca-search-page-1-top-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.aca-search-page-1-academy-id {
    background-color: #F5F5F5;
    padding: 2px 5px;
    border-radius: 8px;
    color: var(--Semantic-Label-Neutral, var(--Label-Neutral, rgba(46, 47, 51, 0.88)));
    font-feature-settings: 'ss10' on;
    font-size: 13px;
    font-style: normal;
    font-weight: 600;
    line-height: 138.5%; /* 18.005px */
    letter-spacing: 0.252px;
}

.aca-search-page-1-academy-name {
    color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
    font-feature-settings: 'ss10' on;
    font-size: 13px;
    font-style: normal;
    font-weight: 600;
    line-height: 138.5%; /* 18.005px */
    letter-spacing: 0.252px;
    margin-bottom: 2px;
}

.aca-search-page-1-academy-address {
    color: var(--Semantic-Label-Alternative, var(--Label-Alternative, rgba(55, 56, 60, 0.61)));
    font-feature-settings: 'ss10' on;
    font-size: 13px;
    font-style: normal;
    font-weight: 400;
    line-height: 138.5%; /* 18.005px */
    letter-spacing: 0.252px;
}

.aca-search-page-1-detail-modal {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: white;
    border-radius: 20px 20px 0 0;
    box-shadow: 0px -4px 10px rgba(0, 0, 0, 0.1);
    max-width: 600px;
    margin: 0 auto;
}

.aca-search-page-1-detail-content {
    padding: 20px;
}

.aca-search-page-1-detail-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-bottom: 16px;
}

.aca-search-page-1-bar-icon {
    width: 40px;
    height: 4px;
    margin-bottom: 16px;
}

.aca-search-page-1-detail-header h3 {
    font-size: 16px;
    font-weight: 600;
    margin: 0;
    text-align: center;
}

.aca-search-page-1-detail-preview {
    width: 100%;
    padding: 14px;
    background: #ffffff;
    color: rgb(0, 0, 0);
    border: 1px solid #d4d4d4;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    margin-bottom: 8px;
}

.aca-search-page-1-detail-confirm {
    width: 100%;
    padding: 14px;
    background: #00BF40;
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
}

/* 검색 버튼 스타일 추가 */
.aca-search-page-1-search-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    padding: 8px 16px;
    cursor: pointer;
    color: #292929;
    font-feature-settings: 'ss10' on;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 142.9%; /* 20.006px */
    letter-spacing: 0.203px;
}

.aca-search-page-1-search-button img {
    width: 20px;
    height: 20px;
}

/* 미디어 쿼리 추가 */
@media (max-width: 560px) {
    .aca-search-page-1-container,
    .aca-search-page-1-header,
    .aca-search-page-1-input-wrapper {
        max-width: 100%;
    }

    .aca-search-page-1-input-field {
        width: calc(100% - 50px);
    }

    .aca-search-page-1-results {
        width: 100%;
    }
}
.aca-search-page-2-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100vh;
    background-color: white;
    position: relative;
    padding-top: env(safe-area-inset-top);
    overflow-x: hidden;
}

.aca-search-page-2-header {
    width: 100%;
    height: 48px;
    padding: 0 20px;
    display: flex;
    align-items: center;
}

.aca-search-page-2-back-button {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 24px;
    height: 24px;
    left: 20px;
}

.aca-search-page-2-back-icon {
    width: 24px;
    height: 24px;
}

.aca-search-page-2-header-title {
    color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
    text-align: center;
    font-feature-settings: 'ss10' on;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 150%; /* 24px */
    letter-spacing: 0.091px;
    position: absolute;
    text-align: center;
    left: 50%;
    transform: translateX(-50%);
}

.aca-search-page-2-content {
    flex: 1;
    padding: 15px;
    display: flex;
    flex-direction: column;
}

.aca-search-page-2-text {
    margin-top: 30px;
    color: var(--Common-0, #000);
    font-feature-settings: 'ss10' on;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 133.4%; /* 32.016px */
    letter-spacing: -0.552px;
    margin-left: 20px;
}

.aca-search-page-2-text h2 {
    color: var(--Common-0, #000);
    font-feature-settings: 'ss10' on;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 133.4%;
    letter-spacing: -0.552px;
    margin: 0;
    margin-bottom: 5px;
}

.aca-search-page-2-text p {
    color: var(--Common-0, #000);
    font-feature-settings: 'ss10' on;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 133.4%;
    letter-spacing: -0.552px;
    margin: 0;
}

.aca-search-page-2-confirm-button {
    position: fixed;
    bottom: 40px;
    left: 20px;
    right: 20px;
    padding: 14px;
    background: #00BF40;
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    max-width: 560px;
    margin: 0 auto;
}.aca-search-page-3-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100vh;
    background-color: white;
    position: relative;
    padding-top: env(safe-area-inset-top);
    overflow-x: hidden;
}

.aca-search-page-3-header {
    width: 100%;
    height: 48px;
    padding: 0 20px;
    display: flex;
    align-items: center;
}

.aca-search-page-3-back-button {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 24px;
    height: 24px;
    left: 20px;
}

.aca-search-page-3-back-icon {
    width: 24px;
    height: 24px;
}

.aca-search-page-3-header-title {
    font-size: 16px;
    font-weight: 600;
    color: #000000;
    position: absolute;
    text-align: center;
    left: 50%;
    transform: translateX(-50%);
}

.aca-search-page-3-content {
    flex: 1;
    padding: 20px;
    display: flex;
    flex-direction: column;
}

.aca-search-page-3-text {
    margin-top: 30px;
    margin-left: 5px;
}

.aca-search-page-3-text h2 {
    color: var(--Common-0, #000);
    font-feature-settings: 'ss10' on;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 133.4%;
    letter-spacing: -0.552px;
    margin: 0;
    margin-bottom: 5px;
}

.aca-search-page-3-text p {
    color: var(--Common-0, #000);
    font-feature-settings: 'ss10' on;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 133.4%;
    letter-spacing: -0.552px;
    margin: 0;
}.aca-my-page-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100vh;
    background-color: #ffffff;
    overflow-x: hidden;
    overflow-y: auto;
}

.aca-my-page-header {
    width: 100%;
    height: 48px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: white;
    position: relative;
    margin-top: 10px;
}

.aca-my-page-header-icon {
    width: 24px;
    height: 24px;
    position: absolute;
    right: 65px;
}
.aca-my-page-back-button {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 24px;
    height: 24px;
}

.aca-my-page-back-icon {
    width: 24px;
    height: 24px;
}

.aca-my-page-header-title {
    font-size: 16px;
    font-weight: 600;
    color: #000000;
    margin-right: 40px;
    margin-top: 10px;
    text-align: center;
}

.aca-my-page-content {
    flex: 1;
    margin-top: 20px;
    padding-bottom: 80px;
}

.aca-my-page-banner {
    width: calc(100% - 40px);
    margin: 0 20px 18px 20px;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    background-color: rgb(247, 246, 246);
    aspect-ratio: 3 / 1;
}

.aca-my-page-banner-image {
    width: 100%;
    object-fit: cover;
    display: block;
}

.aca-my-page-banner-text {
    flex: 1;
}

.aca-my-page-banner-title {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 8px;
    line-height: 1.4;
}

.aca-my-page-banner-link {
    color: #00BF40;
    font-size: 12px;
    font-weight: 500;
}

.aca-my-page-banner-logo {
    width: 48px;
    height: 48px;
    margin-left: 16px;
}

.aca-my-page-section {
    background-color: white;
    border-radius: 12px;
    margin: 0 20px 40px 20px;
    width: calc(100% - 40px);
}

.aca-my-page-section-header {
    align-items: center;
    margin-left: 5px;
    margin-bottom: 20px;
    position: relative;
}

.aca-my-page-section-header h2 {
    color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
    font-feature-settings: 'ss10' on;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 140%; /* 28px */
    letter-spacing: -0.24px;
    margin: 0;
}

.aca-my-page-section-subtitle {
    font-size: 12px;
    color: #666;
    column-gap: 10px;
}

.aca-my-page-arrow-main-icon {
    width: 20px;
    height: 20px;
    position: absolute;
    top: 12px;
    right: 0;
}

.aca-my-page-arrow-icon {
    width: 20px;
    height: 20px;
    position: absolute;
    right: 30px;
}

.aca-my-page-stats {
    padding: 10px 12px;
}

.aca-my-page-stats-label {
    font-size: 14px;
    color: #000;
    font-weight: 600;
    /* margin-bottom: 4px; */
}

.aca-my-page-stats-number {
    font-size: 24px;
    font-weight: 600;
    color: #00BF40;
    margin-bottom: 16px;
}

.aca-my-page-graph {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    height: 140px;
    width: 100%;
    padding: 0 10px;
    box-sizing: border-box;
    margin-bottom: 20px;
}

.aca-my-page-graph-bar-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: calc(100% / 7 - 10px);
    min-width: 20px;
    position: relative;
}

.aca-my-page-graph-bar {
    width: 16px;
    background-color: #3fe777;
    border-radius: 4px;
    transition: height 0.3s ease;
    min-height: 1px;
    max-height: 100px;
}

.aca-my-page-graph-label {
    margin-top: 8px;
    font-size: 12px;
    color: #666;
    position: absolute;
    bottom: -40px;
    width: 100%;
    text-align: center;
}

.aca-my-page-graph-value {
    margin-top: 4px;
    font-size: 12px;
    color: #333;
    position: absolute;
    bottom: -20px;
    width: 100%;
    text-align: center;
}

.aca-my-page-menu {
    background-color: white;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 60px;
}

.aca-my-page-menu-item {
    width: calc(100% - 40px);
    height: 54px;
    margin: 0 20px 10px 20px;
    border-radius: 12px;
    padding: 16px;
    display: flex;
    align-items: center;
    background: #f5f5f5;
    border: none;
    cursor: pointer;
    position: relative;
}

.aca-my-page-menu-item:last-child {
    border-bottom: none;
}

.aca-my-page-menu-icon {
    width: 24px;
    height: 24px;
    margin-right: 12px;
    color: #00BF40;
    background-color: #00BF40;
    border-radius: 5px;
    padding: 2px;
}

.aca-my-page-menu-item span {
    flex: 1;
    text-align: left;
    font-size: 14px;
    font-weight: 500;
}

.aca-my-page-logout-button {
    width: 100px;
    margin: 20px auto;
    padding: 10px 0;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #7c7c7c;
    position: relative;
}

.aca-mypage-modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1000;
}

.aca-mypage-bar-icon {
    width: 40px;
    justify-content: center;
    align-items: center;
    display: flex;
    margin: 0 auto;
    margin-bottom: 10px;
}

.aca-mypage-modal-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: white;
  border-radius: 16px 16px 0 0;
  padding: 20px;
  z-index: 1001;
  animation: slideUp 0.3s ease-out;
  max-width: 600px;
  height: 130px;
  margin: 0 auto;
}

.aca-mypage-modal-option {
  width: 100%;
  padding: 15px;
  border: 1px solid #dadada;
  border-radius: 10px;
  background: none;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  color: #333;
  cursor: pointer;
  margin-bottom: 10px;
}

.aca-mypage-modal-option:last-child {
  margin-bottom: 0;
}

@keyframes slideUp {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}.stu-test-page-1-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    background-color: white;
    position: relative;
    overflow-x: hidden;
}

.stu-test-page-1-header {
    width: 100%;
    height: 48px;
    display: flex;
    align-items: center;
}

.stu-test-page-1-back-button {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 24px;
    height: 24px;
    left: 20px;
}

.stu-test-page-1-back-icon {
    width: 24px;
    height: 24px;
}

.stu-test-page-1-header-title {
    font-size: 16px;
    font-weight: 600;
    color: #000000;
    position: absolute;
    text-align: center;
    left: 50%;
    transform: translateX(-50%);
}

.stu-test-page-1-content {
    margin-top: 30px;
    margin-left: 20px;
    margin-right: 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.stu-test-page-1-form-group {
    width: 100%;
    padding-bottom: 10px;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 142.9%;
    letter-spacing: 0.203px;
}

.stu-test-page-1-form-group label {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 500;
    color: var(--Label-Alternative, rgba(55, 56, 60, 0.61));
}

.required {
    color: #FF0000;
    margin-left: 2px;
}

.stu-test-page-1-gender-container {
    display: flex;
    gap: 8px;
}

.stu-test-page-1-gender-button {
    width: 50%;
    padding: 10px;
    background-color: #FFFFFF;
    border: 1px solid #DDD;
    border-radius: 8px;
    font-weight: 500;
    font-size: 15px;
}

.stu-test-page-1-gender-button.active {
    background-color: #E6F7EC;
    color: #00BF40;
    border: 1px solid #00BF40;
}

.stu-test-page-1-input {
    width: 100%;
    border: 1px solid rgba(112, 115, 124, 0.22);
    border-radius: 8px;
    font-size: 14px;
    display: flex;
    padding: 13px 12px;
    align-items: center;
    box-sizing: border-box;
    color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
}

.stu-test-page-1-input::placeholder {
  color: var(--Semantic-Label-Assistive, var(--Label-Assistive, rgba(55, 56, 60, 0.28)));
}

.stu-test-page-1-select-wrapper {
  position: relative;
  width: 100%;
}

.stu-test-page-1-select-wrapper::after {
  content: '';
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background: url('/arrow-down.png') no-repeat center;
  background-size: 24px 24px;
  filter: invert(70%) sepia(9%) saturate(100%) hue-rotate(169deg) brightness(93%) contrast(90%);
  pointer-events: none;
}

.stu-test-page-1-select {
  width: 100%;
  padding: 12px;
  padding-right: 40px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: #FFFFFF;
  border: 1px solid #E9ECEF;
  border-radius: 8px;
  cursor: pointer;
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
}

.stu-test-page-1-select option:first-child {
  color: var(--Semantic-Label-Assistive, var(--Label-Assistive, rgba(55, 56, 60, 0.28)));
}

.stu-test-page-1-select option:not(:first-child) {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
}

.stu-test-page-1-phone-verification {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
    color: var(--Semantic-Label-Assistive, var(--Label-Assistive, rgba(55, 56, 60, 0.28)));
}

.stu-test-page-1-input.phone {
    color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
}

.stu-test-page-1-verification-input-group {
    position: relative;
    width: 100%;
}

.stu-test-page-1-verify-button {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: #00BF40;
    font-size: 14px;
    cursor: pointer;
    padding: 0;
}

.stu-test-page-1-verification-button {
    padding: 12px 6px;
    min-width: 106px;
    background: white;
    border: 1px solid #00BF40;
    border-radius: 8px;
    color: #00BF40;
    font-size: 15px;
    font-weight: 400;
    white-space: nowrap;
}

.stu-test-page-1-verification-button.disabled {
    background: #F4F4F4;
    border-color: #DDD;
    color: #9CA3AF;
    cursor: not-allowed;
    padding: 12px 6px;
    min-width: 106px;
}

.stu-test-page-1-next-button {
    margin-top: 16px;
    margin-bottom: 20px;
    display: flex;
    padding: 12px 28px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    align-self: stretch;
    color: var(--Semantic-Label-Assistive, var(--Label-Assistive, rgba(55, 56, 60, 0.28)));
    font-feature-settings: 'ss10' on;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 150%;
    letter-spacing: 0.091px;
    border: none;
    border-radius: 8px;
    background: #00BF40;
    color: white;
    cursor: pointer;
    margin-left: 20px;
    margin-right: 20px;
    height: 48px;
}

.stu-test-page-1-next-button.disabled {
    background: #F4F4F4;
    color: #9CA3AF;
    cursor: not-allowed;
}

.stu-test-page-1-input.verified {
  background-color: #F4F4F4;
  color: #9CA3AF;
  border-color: #DDD;
}

.stu-test-page-1-verification-input-group input {
  padding: 12px;
  border: 1px solid rgba(112, 115, 124, 0.22);
  border-radius: 8px;
  font-size: 14px;
}

/* 숫자 입력 화살표 제거 */
.stu-test-page-1-verification-input-group input::-webkit-outer-spin-button,
.stu-test-page-1-verification-input-group input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* 체크박스 그룹 스타일 수정 */
.stu-test-page-1-checkbox-group {
    margin-top: 84px;
}

/* 메인 체크박스 아이템 (전체 동의) */
.stu-test-page-1-main-checkbox-item {
  display: flex !important;
  align-items: center;
  font-weight: 600;
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  gap: 12px;
  height: 24px;
}

/* 구분선 */
.stu-test-page-1-divider {
    height: 1px;
    background-color: rgba(112, 115, 124, 0.22);
    margin: 16px 0 8px 0;
    width: 100%;
}

.stu-test-page-1-arrow-button-img {
    width: 24px;
    height: 24px;
    filter: brightness(1.5) opacity(0.5);
}

/* 일반 체크박스 아이템 */
.stu-test-page-1-checkbox-item {
    display: flex !important;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: rgba(55, 56, 60, 0.61);
    margin-top: 12px;
    position: relative;
    padding-right: 30px;
    width: 100%;
    box-sizing: border-box;
    height: 20px;
}

/* 체크박스 input 스타일 */
.stu-test-page-1-main-checkbox-item input[type="checkbox"],
.stu-test-page-1-checkbox-item input[type="checkbox"] {
    width: 20px;
    height: 20px;
    border: 1.5px solid #DDD;
    border-radius: 4px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: white;
    cursor: pointer;
    position: relative;
    margin-right: 7px;
    flex-shrink: 0;
}

/* 체크된 상태 스타일 */
.stu-test-page-1-main-checkbox-item input[type="checkbox"]:checked,
.stu-test-page-1-checkbox-item input[type="checkbox"]:checked {
    background-color: #00BF40;
    border-color: #00BF40;
}

/* 체크 마크 스타일 */
.stu-test-page-1-main-checkbox-item input[type="checkbox"]:checked::after,
.stu-test-page-1-checkbox-item input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 6px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* 화살표 버튼 스타일 */
.stu-test-page-1-arrow-button {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    padding: 0;
    margin: 0;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
}

.stu-test-page-1-arrow-button img {
    width: 24px;
    height: 24px;
    color: #c5c6c9;
}

/* 체크박스와 텍스트 정렬 */
.stu-test-page-1-main-checkbox-item,
.stu-test-page-1-checkbox-item {
    display: flex;
    align-items: center;
    gap: 0px;
    height: 24px;
    position: relative;
}

/* 체크박스 텍스트 스타일 */
.stu-test-page-1-main-checkbox-item p,
.stu-test-page-1-checkbox-item p {
    display: inline-flex;
    margin: 0;
}

.stu-test-page-1-location-container {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.stu-test-page-1-select.full-width {
    width: 100%;
    border: 1px solid rgba(112, 115, 124, 0.22);
    border-radius: 8px;
    font-size: 14px;
    display: flex;
    padding: 13px 12px;
    align-items: center;
    box-sizing: border-box;
}

.stu-test-page-1-input[disabled] {
    background-color: #F4F4F4;
    color: #9CA3AF;
    cursor: not-allowed;
  }
  
.stu-test-page-1-gender-button[disabled] {
    background-color: #F4F4F4;
    color: #9CA3AF;
    cursor: not-allowed;
    opacity: 0.7;
  }
  
.stu-test-page-1-verify-button[disabled] {
    color: #9CA3AF;
    cursor: not-allowed;
    opacity: 0.7;
  }.stu-test-module-registration-page {
  width: 100%;
  min-height: 100vh;
  flex-direction: column;
  background-color: white;
  position: relative;
  padding-top: env(safe-area-inset-top);
  overflow-x: hidden;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
  
}

.stu-test-module-registration-page::-webkit-scrollbar {
  display: none;
}

.stu-test-module-header {
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background-color: white;
  display: flex;
  align-items: center;
  height: 58px;
  padding: 0 10px;
  max-width: 560px;
  margin: 0 auto;
}

.stu-test-module-back-button {
  background: none;
  border: none;
  width: 24px;
  height: 24px;
  left: 0;
  margin-left: 10px;
  position: absolute;
}

.stu-test-module-back-icon {
  width: 24px;
  height: 24px;
  margin-left: 10px;
}

.stu-test-module-header-title-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  right: 0;
}

.stu-test-module-header-title {
  text-align: center;
  width: 100%;
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  text-align: center;
  font-feature-settings: 'ss10' on;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%; /* 24px */
  letter-spacing: 0.091px;
}

.stu-test-module-header-description {
  text-align: center;
  width: 100%;
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-feature-settings: 'ss10' on;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
}

.stu-test-module-registration-form {
  margin-left: 10px;
  margin-right: 10px;
  margin-top: 10px;
  padding-bottom: 40px;
}

.stu-test-module-form-group {
  width: 100%;
}

.stu-test-module-form-group p {
  color: var(--Label-Alternative, rgba(55, 56, 60, 0.61));
  font-feature-settings: 'ss10' on;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 142.9%; /* 20.006px */
  letter-spacing: 0.203px;
}

.stu-test-module-button-wrapper {
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20px 20px 20px;
  background: rgb(255, 255, 255);
  z-index: 9;
  max-width: 560px;
  margin: 0 auto;
  position: absolute;
  margin-bottom: 20px;
}

.stu-test-module-next-button {
  width: 100%;
  height: 48px;
  background-color: #00BF40;
  color: white;
  border: none;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 600;
  z-index: 10;
  margin-right: 20px;
  font-feature-settings: 'ss10' on;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%; /* 24px */
  letter-spacing: 0.091px;
  max-width: 560px;
  bottom: 0;
}

.stu-test-module-next-button.disabled {
  background-color: #d4d4d4;
  cursor: not-allowed;
  opacity: 0.4;
}

.stu-test-module-options-grid {
  display: grid;
  gap: 6px;
}

.grid-cols-2 {
  grid-template-columns: repeat(2, 1fr);
}

.stu-test-module-option-button {
  width: 100%;
  height: 48px;
  border: 1px solid rgba(112, 115, 124, 0.22);
  border-radius: 8px;
  background: white;
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-feature-settings: 'ss10' on;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 146.7%; /* 22.005px */
  letter-spacing: 0.144px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.stu-test-module-option-button.selected {
  background: #E6F7EC;
  border-color: #00BF40;
  color: #00BF40;
}

.stu-test-module-option-button:hover {
  border-color: #00BF40;
}

.stu-test-module-progress {
  z-index: 100;
  height: 6px;
  background-color: #ebebeb;
  border-radius: 20px;
  margin-left: 20px;
  margin-right: 20px;
  max-width: 560px;
}

.stu-test-module-progress-bar {
  height: 100%;
  background-color: #40e088;
  border-radius: 20px;
  transition: width 0.3s ease;
}

.stu-test-module-page-indicator {
  text-align: center;
  margin-top: 16px;
  color: #666;
  font-size: 14px;
}

.stu-test-module-content {
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 100px;
}.stu-login-page-1-container {
    width: 100%;
    min-height: 100vh;
    background-color: #ffffff;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
  }
  
  .stu-login-page-1-header {
    padding: 16px;
    display: flex;
    align-items: center;
    background-color: #ffffff;
  }
    
  .stu-login-page-1-back-button {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 24px;
    height: 24px;
    left: 16px;
  }
  
  .stu-login-page-1-back-icon {
    width: 24px;
    height: 24px; 
  }
  
  .stu-login-page-1-header-title {
    width: 100%;
    font-size: 16px;
    font-weight: 700;
    color: #000000;
    text-align: center;
    align-items: center;
  }
  
  .stu-login-page-1-login-container {
    width: calc(100% - 40px);
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 60px 0px;
    gap: 50px;
    margin-left: 20px;
  }
  
  .stu-login-page-1-logo-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding-top: 0px;
  }
  
  .stu-login-page-1-logo {
    width: 161px;
    height: 161px;
  }
  
  .stu-login-page-1-description {
    width: 100%;
    height: 64px;
    color: var(--Common-0, #000);
    font-feature-settings: 'ss10' on;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 133.4%; /* 32.016px */
    letter-spacing: -0.552px;
    margin-left: 20px;
  }
  
  
  .stu-login-page-1-login-buttons {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  
  .stu-login-page-1-login-buttons button {
    width: 100%;
    height: 48px;
    padding: 16px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 500;
    line-height: 146.7%;
    letter-spacing: 0.144px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    box-sizing: border-box;
  }
  
  .stu-login-page-1-kakao-login {
    background-color: #FEE500;
    color: #000000;
    height: 48px;
    border: none;
    gap: 6px;
  }
  
  .stu-login-page-1-kakao-icon {
    display: flex;
    height: 18px;
    flex-direction: column;
    justify-content: center;
    align-items: center; 
  }
  
  .stu-login-page-1-naver-login {
    background-color: #FFFFFF;
    color: #000000;
    height: 48px;
    border: 1px solid #E5E5E5;
    gap: 6px;
  }
  
  .stu-login-page-1-naver-icon {
    display: flex;
    width: 16px;
    height: 16px;
    padding: 3px;
    justify-content: space-between;
    align-items: center;
  }
  
  .stu-login-page-1-google-login {
    background-color: #FFFFFF;
    color: #000000;
    height: 48px;
    border: 1px solid #E5E5E5;
    gap: 6px;
  }
  
  .stu-login-page-1-google-icon {
    display: flex;
    height: 18px;
    flex-direction: column;
    justify-content: center;
    align-items: center; 
  }
  
  .stu-login-page-1-loading {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: white;
    z-index: 1000;
  }
  
  .stu-login-page-1-loading-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid #00BF40;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 20px;
  }
  
  .stu-login-page-1-loading p {
    color: #333;
    font-size: 16px;
    text-align: center;
    padding: 0 20px;
  }
  
  @keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
  }
  
  .stu-test-result-container {
    width: 100%;
    overflow-y: hidden;
    overflow-x: hidden;
  }
  
  .stu-test-result-header {
    height: 48px;
    display: flex;
    padding: 0px 20px;
    justify-content: space-between;
    align-items: center;
  }
  
  .stu-test-result-back-button {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 24px;
    height: 24px;
    left: 20px;
  }
  
  .stu-test-result-back-icon {
    width: 24px;
    height: 24px;
  }
  
  .stu-test-result-header-title {
    width: 100%;
    color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
    text-align: center;
    font-feature-settings: 'ss10' on;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 150%; /* 24px */
    letter-spacing: 0.091px;
    text-align: center;
    align-items: center;
  }
  
  
  .stu-test-result-content {
    margin-top: 30px;
    margin-left: 20px;
    font-feature-settings: 'ss10' on;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 133.4%; /* 32.016px */
    letter-spacing: -0.552px;
  }
  
  .stu-test-result-buttons {
    width: 100%;
    position: absolute;
    bottom: 40px; /* 하단으로부터의 거리 */
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 40px); /* 좌우 여백 20px씩 */
    max-width: 560px;
    margin: 0 auto;
  }
  
  .stu-test-result-confirm-button {
    width: 100%;
    height: 48px;
    border-radius: 8px;
    background-color: #00BF40;
    border: none;
    cursor: pointer;
    color: var(--Semantic-Static-White, var(--Static-White, #FFF));
    font-feature-settings: 'ss10' on;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 150%; /* 24px */
    letter-spacing: 0.091px;
  }
  
  .stu-test-result-animation {
    margin-top: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 20px 0;
  }
  
  .stu-test-result2-container {
    width: 100%;
    min-height: 100vh;
    background-color: #ffffff;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    overflow-y: hidden;
  }
  
  .stu-test-result2-header {
    padding: 16px;
    display: flex;
    align-items: center;
    background-color: #ffffff;
  }
  
  .stu-test-result2-back-button {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 24px;
    height: 24px;
    left: 24px;
  }
  
  .stu-test-result2-back-icon {
    width: 24px;
    height: 24px;
  }
  
  .stu-test-result2-header-title {
    width: 100%;
    font-family: 'Noto Sans KR', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #000000;
    text-align: center;
    align-items: center;
  }
  
  .stu-test-result2-search-button {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 24px;
    height: 24px;
    right: 24px;
  }
  
  .stu-test-result2-search-icon {
    width: 24px;
    height: 24px;
  }
  
  .stu-test-result2-content {
    flex: 1;
    padding: 20px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  
  .stu-test-result2-image-container {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background-color: #ffffff;
    border: 1px solid #E5E7EB;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 20px 0;
    overflow: hidden;
  }
  
  .stu-test-result2-character {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  
  .stu-test-result2-type {
    font-size: 24px;
    font-weight: 700;
    color: #000000;
    margin: 20px 0 12px 0;
    text-align: center;
  }
  
  .stu-test-result2-description {
    font-size: 16px;
    color: #666666;
    text-align: center;
    line-height: 1.5;
    margin-bottom: 40px;
  }
  
  .stu-test-result2-section {
    width: 100%;
    margin-bottom: 24px;
  }
  
  .stu-test-result2-section-title {
    font-size: 16px;
    font-weight: 600;
    color: #000000;
    margin-bottom: 12px;
  }
  
  .stu-test-result2-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  
  .stu-test-result2-list li {
    font-size: 14px;
    color: #666666;
    line-height: 1.5;
    margin-bottom: 8px;
    padding-left: 12px;
    position: relative;
  }
  
  .stu-test-result2-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #00BF40;
  }
  
  .stu-test-result2-buttons {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 12px;
    right: 20px;
    left: 20px;
    margin-top: auto;
  }
  
  .stu-test-result2-retry-button {
    width: 100%;
    height: 48px;
    border-radius: 8px;
    background-color: #FFFFFF;
    color: #00BF40;
    border: 1px solid #dcdddc;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
  }
  
  .stu-test-result2-confirm-button {
    width: 90%;
    height: 48px;
    margin-left: 20px;
    margin-bottom: 30px;
    border-radius: 8px;
    background-color: #00BF40;
    color: #FFFFFF;
    border: none;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
  }.stu-reco-container {
    width: 100%;
    min-height: 100vh;
    background-color: #ffffff;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
  }
  
  .stu-reco-header {
    padding: 16px;
    display: flex;
    align-items: center;
    background-color: #ffffff;
  }
  
  .stu-reco-back-button {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 24px;
    height: 24px;
    left: 16px;
  }
  
  .stu-reco-back-icon {
    width: 24px;
    height: 24px;
  }
  
  .stu-reco-header-title {
    width: 100%;
    font-family: 'Noto Sans KR', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #000000;
    text-align: center;
  }
  
  .stu-reco-content {
    flex: 1;
    padding: 20px;
  }
  
  .stu-reco-title {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 8px;
  }
  
  .stu-reco-subtitle {
    font-size: 14px;
    color: #666;
    margin-bottom: 24px;
  }
  
  .stu-reco-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  
  .stu-reco-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px;
    border-radius: 8px;
    background-color: #f8f8f8;
  }
  
  .stu-reco-item-left {
    display: flex;
    align-items: center;
    gap: 12px;
  }
  
  .stu-reco-check-icon {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #00BF40;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
  }
  
  .stu-reco-academy-image {
    width: 48px;
    height: 48px;
    background-color: #ddd;
    border-radius: 4px;
  }
  
  .stu-reco-academy-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }
  
  .stu-reco-academy-name {
    font-weight: 600;
    font-size: 16px;
  }
  
  .stu-reco-academy-subjects,
  .stu-reco-academy-location {
    font-size: 14px;
    color: #666;
  }
  
  .stu-reco-item-right {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  
  .stu-reco-match-rate {
    color: #00BF40;
    font-weight: 600;
  }
  
  .stu-reco-arrow {
    width: 20px;
    height: 20px;
  }
  
  .stu-reco-buttons {
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  
  .stu-reco-home-button {
    width: 100%;
    height: 48px;
    border: 1px solid #00BF40;
    border-radius: 8px;
    background-color: #FFFFFF;
    color: #00BF40;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
  }
  
  .stu-reco-more-button {
    width: 100%;
    height: 48px;
    border: none;
    border-radius: 8px;
    background-color: #00BF40;
    color: #FFFFFF;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
  }.adm-login-page-1-container { 
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100vh;
    background-color: white;
    position: relative;
    padding-top: env(safe-area-inset-top);
    overflow-x: hidden;
  }
  
  .adm-login-page-1-header {
    width: 100%;
    height: 56px;
    padding: 0 20px;
    display: flex;
    align-items: center;
  }
  
  .adm-login-page-1-back-button {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 24px;
    height: 24px;
    left: 20px;
  }
  
  .adm-login-page-1-back-icon {
    width: 24px;
    height: 24px;
  }
  
  .adm-login-page-1-header-title {
    font-family: 'Noto Sans KR', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #000000;
    position: absolute;
    text-align: center;
    left: 50%;
    transform: translateX(-50%);
  }
  
  .adm-login-page-1-content-wrapper {
    flex: 1;
    padding: 8px 20px;
  }
  
  .adm-login-page-1-registration-form {
    width: 100%;
  }
  
  .adm-login-page-1-form-group {
    position: relative;
    margin-top: 20px;
  }
  
  .adm-login-page-1-label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #171719;
    margin-bottom: 8px;
  }
  
  .adm-login-page-1-input-field {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #EAEBEC;
    border-radius: 8px;
    font-size: 14px;
    box-sizing: border-box;
  }
  
  .adm-login-page-1-input-field::placeholder {
    color: #9CA3AF;
  }
  
  .adm-login-page-1-login-button {
    position: absolute;
    bottom: 40px;
    left: 20px;
    right: 20px;
    padding: 14px;
    border-radius: 8px;
    background: #00BF40;
    color: #FFFFFF;
    border: none;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
  }
  
  .adm-login-page-1-login-button.disabled {
    background: #F4F4F4;
    color: #9CA3AF;
  }.adm-login-page-2-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100vh;
    background-color: #FFFFFF;
    overflow-x: hidden;
  }
  
  .adm-login-page-2-header {
    width: 100%;
    height: 56px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid #EAEBEC;
  }
  
  .adm-login-page-2-header-title {
    font-size: 16px;
    font-weight: 600;
    color: #000000;
  }
  
  .adm-login-page-2-content {
    flex: 1;
    padding: 20px;
  }
  
  .adm-login-page-2-stats {
    display: flex;
    gap: 12px;
    margin-bottom: 24px;
  }
  
  .adm-login-page-2-stat-item {
    flex: 1;
    background: #FFFFFF;
    border-radius: 12px;
    padding: 16px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  }
  
  .adm-login-page-2-stat-label {
    font-size: 14px;
    color: #666666;
    margin-bottom: 8px;
  }
  
  .adm-login-page-2-stat-value {
    font-size: 24px;
    font-weight: 700;
    color: #000000;
    display: flex;
    align-items: baseline;
    gap: 8px;
  }
  
  .adm-login-page-2-stat-increase {
    font-size: 14px;
    color: #00BF40;
  }
  
  .adm-login-page-2-stat-graph {
    height: 40px;
    background: linear-gradient(to top right, #E8F5E9, #00BF40);
    border-radius: 8px;
    margin-top: 12px;
  }
  
  .adm-login-page-2-menu {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  
  .adm-login-page-2-menu-item {
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    padding: 16px;
    background: #F5F5F5;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  }
  
  .adm-login-page-2-menu-icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
    background: #00BF40;
    border-radius: 6px;
  }
  
.adm-login-page-2-icon-image {
  width: 16px;
  height: 16px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

/* 리뷰 관리 아이콘만 흰색 배경 */
.adm-login-page-2-menu-item:nth-child(5) .adm-login-page-2-menu-icon {
  background: #00BF40;
}

.adm-login-page-2-menu-item:nth-child(5) .adm-login-page-2-icon-image {
  filter: none;
}
  
  .adm-login-page-2-menu-title {
    flex: 1;
    font-size: 16px;
    font-weight: 500;
    color: #000000;
  }
  
  .adm-login-page-2-menu-arrow {
    width: 20px;
    height: 20px;
    opacity: 0.3;
  }  .adm-aca-auth-1-container {
    display: flex;
    flex-direction: column;
    height: 100vh;
    background-color: #FFFFFF;
    overflow-x: hidden;
    overflow-y: auto;
  }
  
  .adm-aca-auth-1-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 48px;

  }
  
  .adm-aca-auth-1-back-button {
    border: none;
    background: none;
    padding: 8px;
    margin-left: 20px;
  }
  
  .adm-aca-auth-1-title {
    font-size: 16px;
    font-weight: 600;
    margin-right: 20px;
  }
  
  .adm-aca-auth-1-header-buttons {
    display: flex;
    gap: 8px;
    margin-right: 20px;
  }
  
  .adm-aca-auth-1-search {
    padding: 16px;
    height: 25px;
    display: flex;
    gap: 12px;
    align-items: center;
  }
  
  .adm-aca-auth-1-search-box {
    display: flex;
    align-items: center;
    background: #ffffff;
    border: 1px solid #EAEBEC;
    border-radius: 8px;
    width: 110%;
    height: 25px;
    padding: 8px 16px;
  }

  .adm-aca-auth-1-search-button {
    border: none;
    background: #ffffff;
    color: rgb(27, 27, 27);
    font-size: 14px;
    font-weight: 600;
    border-radius: 4px;
    cursor: pointer;
    height: 45px;
    width: 40px;
    white-space: nowrap;
  }

  .adm-aca-auth-1-search-box input {
    border: none;
    background: none;
    width: 110%;
    padding: 8px;
    font-size: 14px;
  }
  
  .adm-aca-auth-1-filters {
    padding: 0 16px;
    height: 50px;
    border-bottom: 1px solid #EAEBEC;
  }
  
  .adm-aca-auth-1-create-button {
    border: none;
    background: #ffffff;
    color: rgb(27, 27, 27);
    font-size: 14px;
    font-weight: 600;
    padding-top: 6px;
  }

  .adm-aca-auth-1-filter-group {
    margin-bottom: 16px;
    height: 50px;
  }
  
  .adm-aca-auth-1-filter-group h3 {
    font-size: 14px;
    margin-bottom: 8px;
  }
  
  .adm-aca-auth-1-filter-buttons {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 5px;
  }
  
  .adm-aca-auth-1-filter-buttons button {
    border: 1px solid #EAEBEC;
    background: #f5f5f5;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 14px;
    color: #b6b6b6;
  }
  
  .adm-aca-auth-1-filter-buttons button.active {
    background: #00BF40;
    color: #FFFFFF;
    border: none;
  }
  
  .adm-aca-auth-1-list {
    flex: 1;
    overflow-y: auto;
  }
  
  .adm-aca-auth-1-item {
    padding: 16px;
    border-bottom: 1px solid #EAEBEC;
    padding-bottom: 1px;
  }
  
  .adm-aca-auth-1-item-main {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 16px;
  }
  
  .adm-aca-auth-1-item-info {
    flex: 1;
    min-width: 0;
    overflow: hidden;
  }
  
  .adm-aca-auth-1-item-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    width: 100%;
  }
  
  .adm-aca-auth-1-item-left {
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 0;
    overflow: hidden;
  }
  
  .adm-aca-auth-1-item-id {
    color: #666666;
    background-color: #f7f7f7;
    border-radius: 6px;
    border: 1px solid #EAEBEC;
    padding: 2px 5px;
    font-size: 14px;
    white-space: nowrap;
    flex: none;
  }
  
  .adm-aca-auth-1-item-name {
    font-size: 16px;
    margin-left: 10px;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
  }
  
  .adm-aca-auth-1-item-address {
    display: flex;
    align-items: center;
    gap: 4px;
    color: #666666;
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-right: 24px;
  }
  
  .adm-aca-auth-1-item-buttons {
    display: flex;
    gap: 8px;
    justify-content: center;
    width: 100%;
    height: 40px;
  }
  
  
  .approve-button {
    background: #00BF40;
    color: white;
    border: none;
    padding: 12px 0;
    border-radius: 4px;
    cursor: pointer;
    flex: 1;
    max-width: 200px;
  }
  
  .reject-button {
    background: white;
    color: #333;
    border: 1px solid #EAEBEC;
    padding: 12px 0;
    border-radius: 4px;
    cursor: pointer;
    flex: 1;
    max-width: 200px;
  }
  
  .more-button {
    background: none;
    border: none;
    padding: 4px;
    cursor: pointer;
  }
  
  .status-badge {
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    flex-shrink: 0;
  }
  
  .status-badge.대기 {
    background: #FFF3E0;
    color: #FF9800;
  }
  
  .status-badge.승인 {
    background: #E8F5E9;
    color: #00BF40;
  }
  
  .status-badge.정지 {
    background: #FFEBEE;
    color: #F44336;
  }
  
  .status-badge.approved {
    background: #E8F5E9;
    color: #00BF40;
  }
  
  .status-badge.pending {
    background: #FFF3E0;
    color: #FF9800;
  }
  
  .adm-aca-auth-1-item-more {
    border: none;
    background: none;
    padding: 4px;
    margin-left: 8px;
  }

  .adm-aca-auth-1-location-icon {
    width: 20px;
    height: 20px;
  }

  .adm-aca-auth-1-more-icon {
    width: 24px;
  }

  .status-icon {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 14px;
  }

  .status-icon.approved {
    color: #00BF40;
  }

  .status-icon.approved::before {
    display: inline-block;
    width: 10px;
    height: 10px;
    background-color: #00BF40;
    border-radius: 50%;
    margin-right: 4px;
  }

  .status-icon.pending {
    color: #FF9800;
  }

  .status-icon.pending::before {
    display: inline-block;
    width: 8px;
    height: 8px;
    background-color: #FF9800;
    border-radius: 50%;
    margin-right: 4px;
  }

  .modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: flex-end;
    z-index: 1000;
    max-width: 600px;
    margin: 0 auto;
  }

  .modal-content {
    background: white;
    width: 100%;
    border-radius: 16px 16px 0 0;
    padding: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .modal-content::before {
    content: '';
    width: 40px;
    height: 4px;
    background-color: #a5a5a5;
    border-radius: 2px;
    margin-bottom: 1px;
  }

  .modal-content h3 {
    margin-bottom: 16px;
    font-size: 18px;
    font-weight: 600;
  }

  .modal-button {
    width: 100%;
    padding: 14px;
    margin: 6px 0;
    border: 1px solid #E5E5E5;
    border-radius: 12px;
    background: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    color: #171719;
  }

  .modal-button img {
    width: 20px;
    height: 20px;
    margin-right: 8px;
  }

  .modal-button.preview {
    background: #ffffff;
    color: rgb(82, 219, 105);
    border: 1px solid rgb(82, 219, 105);
  }

  .modal-button.delete {
    background: #ffffff;
    color: rgb(219, 82, 82);
    border: 1px solid rgb(219, 82, 82);
  }

  .loading-indicator {
    text-align: center;
    padding: 20px;
    color: #00C471;
    font-size: 14px;
  }

  .no-more-data, .no-data {
    text-align: center;
    padding: 20px;
    color: #666;
    font-size: 14px;
  }

  .delete-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: flex-end;
    z-index: 1000;
    max-width: 600px;
    margin: 0 auto;
  }.stu-home-container-not-real {
  width: 100%;
  background-color: #ffffff;
  flex-direction: column;
  overflow-x: hidden;
  opacity: 0;
  transition: opacity 0.2s ease-in;
  height: 100vh;
}

.stu-home-container-not-real.css-loaded {
  opacity: 1;
}

.stu-home-location-logo {
  width: 24px;
  height: 24px;
  margin-top: 4px;
}

.stu-home-dropdown-icon {
  width: 30px;
  height: 30px;
  margin-top: 2px;
}

.stu-home-header-not-real {
  display: flex;
  height: 48px;
  padding: 0px 20px;
  align-items: center;
  flex-shrink: 0;
  margin-bottom: 16px;
}

.stu-home-user-info-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 16px;
}

/* 중앙 타이틀 */
.stu-home-header-title {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-feature-settings: 'ss10' on;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%;
  letter-spacing: 0.091px;
  margin-left: 5px;
  margin-top: 5px;
}

/* 오른쪽 그룹 */
.stu-home-header-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 1;
  gap: 8px;
}

.stu-home-assistant-call-button {
  width: 100%;
  height: 40px;
  padding: 10px;
  background-color: #00C853;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.stu-home-assistant-call-icon {
  width: 16px;
  height: 16px;
  margin-right: 4px;
}

.stu-home-kakao-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 40px;
  font-size: 14px;
  padding: 10px;
  background-color: #FEE500;
  color: #000000;
  border: none;
  border-radius: 8px;
  margin-left: 12px;
}

.stu-home-kakao-icon {
  width: 16px;
  height: 16px;
  margin-right: 4px;
}

.stu-home-back-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  width: 24px;
  height: 24px;
}

.stu-home-back-icon {
  width: 24px;
  height: 24px;
}

.stu-home-search-button {
  background: var(--Background-Normal-Alternative, #F7F7F8);
  border: none;
  border-radius: 100px;
  cursor: pointer;
  display: flex;
  align-items: center;
  padding: 8px 12px;
  gap: 4px;
  height: 32px;
  width: 75px;  /* 가로 길이 지정 */
}

.stu-home-search-icon {
  width: 24px;
  height: 24px;
}

.stu-home-search-text {
  font-size: 13px;
  font-weight: 500;
  color: #666666;
  white-space: nowrap;  /* 텍스트 한 줄로 유지 */
  overflow: hidden;     /* 넘치는 텍스트 숨김 */
  text-overflow: ellipsis;  /* 넘치는 텍스트 ... 처리 */
}

.stu-home-user-button{
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  right: 24px;
}

.stu-home-user-icon {
  width: 24px;
  height: 24px;
  right: 24px;
}

.stu-home-banner {
  margin-left: 20px;
  margin-right: 20px;
  width: calc(100% - 40px);
  position: relative;
  overflow: hidden;
  background-color: #ffffff;
  border-radius: 12px;
  aspect-ratio: 3 / 1;  /* 3:1 비율 유지 */
}

.stu-home-banner-content {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background-color: rgb(247, 246, 246);
  aspect-ratio: 3 / 1;
}

.stu-home-banner-logo {
  width: 100%;
  height: 100%;
  aspect-ratio: 3 / 1;
  border-radius: 12px;
}

.stu-home-banner-text {
  display: block;
  position: absolute;
  z-index: 2;
  color: rgb(255, 255, 255);
  padding: 20px;
  margin-top: 20px;
}

.stu-home-banner-text p:first-child {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 4px;
}

.stu-home-banner-text p:last-child {
  font-size: 14px;
}

.stu-home-banner-text p {
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  color: #ffffff;
}

.stu-home-banner-button {
  padding: 8px 16px;
  background: none;
  border: none;
  color: #00BF40;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  padding-left: 0;
}

.stu-home-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-self: stretch;
  margin-left: 20px;
  margin-right: 20px;
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-feature-settings: 'ss10' on;
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%; /* 28px */
  letter-spacing: -0.24px;
}


.stu-home-academy-list {
  margin-left: 20px;
  margin-right: 20px;
}

.stu-home-aca-card {
  background: rgb(247, 246, 246);
  border-radius: 10px;
  padding: 12px 12px;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.stu-home-aca-logo-container {
  position: relative;
  width: 84px;
  height: 111px;
}

.stu-home-aca-badge-container {
  position: absolute;
  top: -6px;
  left: -6px;
  z-index: 2;
}

.stu-home-aca-badge-icon {
  width: 20px;
  height: 20px;
  color: #00C73C;
}

.stu-home-aca-image {
  width: 84px;
  height: 111px;
  border-radius: 8px;
  object-fit: cover;
}

.stu-home-aca-image-end {
  width: 84px;
  height: 111px;
  border-radius: 8px;
  object-fit: cover;
}

.stu-home-matching-badge {
  position: absolute;
  bottom: -6px;
  right: -6px;
  background: #00BF40;
  color: white;
  padding: 2px 6px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: bold;
}

.stu-home-aca-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 111px;  /* 이미지 높이와 동일하게 설정 */
  max-width: calc(100% - 100px); /* 이미지 너비(84px)와 여백을 고려한 최대 너비 설정 */
}

.stu-home-aca-name {
  font-size: 18px;
  font-weight: 600;
  color: #000000;
  margin: 0;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  width: 100%; /* 전체 너비 사용 */
}

/* 별점 및 리뷰 정보 */
.stu-home-rating-info {
  display: flex;
  align-items: center;
  gap: 4px;
}

.stu-home-rating-star {
  color: #FFD700;
  font-size: 14px;
  line-height: 1;
}

.stu-home-rating-number {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-size: 14px;
  font-weight: 600;
}

.stu-home-review-count {
  color: #666;
  font-size: 12px;
  font-weight: 400;
}

/* 학원 이름 텍스트를 위한 새로운 span 스타일 */
.stu-home-aca-name-text {
  white-space: nowrap; /* 줄바꿈 방지 */
  overflow: hidden;    /* 넘치는 텍스트 숨김 */
  text-overflow: ellipsis; /* 말줄임표 표시 */
}

.stu-home-deadline {
  position: static;
  font-size: 12px;
  color: var(--Palette-Orange-40, var(--Orange-40, #d47800));
  background-color: var(--Palette-Orange-40, var(--Orange-40, #ffefda));
  padding: 2px 4px;
  border-radius: 4px;
  white-space: nowrap;
  flex-shrink: 0; /* D-day 크기 유지 */
}

.stu-home-deadline-end {
  position: static;
  font-size: 12px;
  color: var(--Palette-Orange-40, var(--Orange-40, #37383C9C));
  font-weight: 600;
  background-color: var(--Palette-Orange-40, var(--Orange-40, #ffffff));
  padding: 2px 4px;
  border-radius: 6px;
  white-space: nowrap;
  flex-shrink: 0; /* D-day 크기 유지 */
}

.stu-home-aca-keyword {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-end;  /* 태그들을 아래쪽으로 정렬 */
  width: 100%;
  margin-top: auto;  /* 상단 여백을 자동으로 설정하여 아래로 밀기 */
}

.stu-home-aca-keyword div {
  height: 18px;
  padding: 1px 4px;
  margin: 0 6px 4px 0;  /* 아래쪽 마진 추가 */
  background: #ffffff;
  font-size: 13px;
  font-weight: 600;
  color: #666666;
  border-radius: 6px;
  display: flex;
  align-items: center;
  white-space: nowrap;
}

.stu-home-aca-category {
  font-size: 14px;
  color: #818181;
  margin: 0 0 4px 0;
}

.stu-home-aca-location {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #666666;
  font-size: 13px;
  margin: 0;
}

.stu-home-aca-location-icon {
  width: 16px;
  height: 16px;
}

.stu-home-aca-arrow-button {
  background: none;
  border: none;
  padding: 8px;
  cursor: pointer;
}

.stu-home-aca-arrow-button img {
  width: 20px;
  height: 20px;
}

.stu-home-user-modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  z-index: 1000;
  max-width: 600px;
  margin: 0 auto;
}

.stu-home-user-modal {
  background: white;
  border-radius: 20px 20px 0 0;
  padding: 20px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  max-height: 90vh;
  overflow-y: auto;
  max-width: 560px;
  margin: 0 auto;
}

.stu-home-user-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}

.stu-home-user-modal-header h2 {
  color: var(--Semantic-Label-Normal, #171719);
  font-size: 20px;
  font-weight: 600;
  margin: 0;
}

.stu-home-edit-button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}

.stu-home-edit-icon {
  width: 24px;
  height: 24px;
}

.stu-home-user-profile {
  display: flex;
  gap: 16px;
  margin-bottom: 24px;
}

.stu-home-user-profile-img {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  object-fit: cover;
  margin-top: 14px;
}

.stu-home-user-profile-info {
  flex: 1;
}

.stu-home-user-name {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 8px;
}

.stu-home-user-id {
  background: #e3ffe6;
  border-radius: 6px;
  padding: 2px 8px;
  color: #14e225;
  font-size: 14px;
  font-weight: normal;
}

.stu-home-user-type {
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  padding: 10px;
  width: 80%;
  height: 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.stu-home-user-type h3 {
  color: #171719;
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 4px 0;
}

.stu-home-user-type p {
  color: #868686;
  font-size: 14px;
  margin: 0;
}

.stu-home-user-details {
  background: #F7F7F8;
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 24px;
}

.stu-home-user-detail-item {
  display: flex;
  justify-content: space-between;
  margin-bottom: 12px;
}

.stu-home-user-detail-item:last-child {
  margin-bottom: 0;
}

.stu-home-user-detail-label {
  color: #868686;
  font-size: 14px;
}

.stu-home-user-detail-value {
  color: #171719;
  font-size: 14px;
  font-weight: 500;
}

.stu-home-company-info {
  margin-bottom: 24px;
}

.stu-home-company-button {
  width: 100%;
  background: none;
  border: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0;
  color: #868686;
  font-size: 14px;
  cursor: pointer;
}

.stu-home-company-details {
  margin-top: 12px;
  padding: 12px;
  background: #F7F7F8;
  border-radius: 12px;
}

.stu-home-company-details p {
  color: #868686;
  font-size: 14px;
  margin: 8px 0;
}

.stu-home-logout-button {
  width: 100%;
  padding: 16px;
  background: #F7F7F8;
  border: none;
  border-radius: 12px;
  color: #FF4343;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
}

.stu-home-modal-content {
  flex: 1;
  overflow-y: auto;
  padding-bottom: 80px;
}

.stu-home-matching {
  width: 100%;
}

.stu-home-matching-box {
  width: auto;
  height: 34px;
  margin-left: 20px;
  margin-right: 20px;
  border-radius: 10px;
  border: 1px solid #70737C22;
  background: #ffffff;
  padding: 18px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.stu-home-matching-box-content {
  display: flex;
  flex-direction: column;
}

.stu-home-matching-box-title {
  font-size: 14px;
  font-weight: 600;
  color: #000;
  margin: 0;
}

.stu-home-matching-box-subtitle {
  font-size: 13px;
  font-weight: 400;
  color: #666;
  margin: 0 0 12px 0;
}

.stu-home-matching-title {
  font-size: 17px;
  font-weight: 700;
  color: #000;
  margin-bottom: 3px;
  margin-left: 10px;
}

.stu-home-matching-subtitle {
  font-size: 14px;
  color: #666;
  margin-bottom: 16px;
  margin-left: 10px;
}

.stu-home-test-start-button {
  color: #00C73C;
  background: white;
  border: 1px solid #00C73C;
  font-weight: 600;
  border-radius: 6px;
  font-size: 13px;
  padding: 7px 7px;
  cursor: pointer;
  width: 62px;
  height: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 5px;
}

.stu-home-test-start-button-re-test {
  color: #00C73C;
  background: white;
  border: 1px solid #00C73C;
  font-weight: 600;
  border-radius: 6px;
  font-size: 13px;
  padding: 7px 7px;
  cursor: pointer;
  width: 62px;
  height: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.stu-home-test-start-button:disabled,
.stu-home-test-start-button-re-test:disabled {
  opacity: 0.5;
  cursor: default;
  color: #a3a3a3;
  border-color: #a3a3a3;
}

.stu-home-category-grid {
  display: flex;
  overflow-x: auto;
  margin-left: 20px;
  margin-right: 20px;
  -webkit-overflow-scrolling: touch;
  white-space: nowrap;
  scrollbar-width: none;  /* Firefox */
  -ms-overflow-style: none;  /* IE and Edge */
  user-select: none;  /* 드래그 중 텍스트 선택 방지 */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

.stu-home-category-grid::-webkit-scrollbar {
  display: none;
}

/* 드래그 중일 때 버튼 클릭 방지 */
.stu-home-category-grid.dragging .stu-home-category-button,
.stu-home-category-grid.dragging .stu-home-test-start-button,
.stu-home-category-grid.dragging .stu-home-test-start-button-re-test {
  pointer-events: none;
}

/* 카테고리 아이템들이 드래그 중에도 선택되지 않도록 */
.stu-home-category-item {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

/* 별도의 스크롤바 컨테이너 */
.stu-home-scroll-track {
  height: 3px;
  background: #EEEEEE;
  margin: 0 24px;
  position: relative;
  margin-bottom: 10px;
}

.stu-home-scroll-thumb {
  position: absolute;
  height: 100%;
  background: #c4c4c4;
  width: 30%;  /* 스크롤 위치에 따라 동적으로 조절됨 */
  border-radius: 1px;
}

.stu-home-category-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-left: 5px;
  margin-right: 5px;
  margin-bottom: 10px;
  margin-top: 10px;
}

.stu-home-category-button {
  width: 87px;
  height: 87px;
  border: none;  /* 테두리 제거 */
  border-radius: 30px;
  background: none;
  padding: 10px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

/* active 상태의 스타일 제거 */
.stu-home-category-button.active::before {
  display: none;
}

.stu-home-category-icon {
  width: 80px;
  height: 80px;
  position: relative;
  z-index: 1;
}

.stu-home-category-item span {
  font-size: 14px;
  color: #ffffff;
  text-align: center;
}

.stu-home-academy-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 4px 0;
}

.stu-home-category-tag {
  background: #F3F4F6;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 10px;
  color: #666666;
  white-space: nowrap;
}

.stu-home-footer-info {
  padding: 16px;
  margin-top: 20px;
  color: #666666;
  font-size: 13px;
  line-height: 1.5;
  border-top: 1px solid #E5E7EB;
  margin-left: 10px;
}

.stu-home-footer-address {
  margin-bottom: 8px;
}

.stu-home-footer-copyright {
  color: #999999;
}
.stu-home-banner-indicators {
  position: static;
  transform: none;
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 12px;
  margin-bottom: 12px;
}

.stu-home-indicator {
  width: 10px;
  height: 10px;
  margin-right: 5px;
  border-radius: 50%;
  background-color: #E5E7EB;
  cursor: pointer;
  transition: all 0.3s ease;
}

.stu-home-indicator.active {
  background-color: #000000;
  transform: scale(1.2);
}

.stu-home-no-recommendations {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px 20px;
  text-align: center;
  color: #666;
  font-size: 14px;
  margin-left: 20px;
  margin-right: 20px;
}

.stu-home-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px;
  min-height: 200px;
}

.stu-home-loading-spinner {
  width: 40px;
  height: 40px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid #00BF40;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 10px;
}

.stu-home-loading p {
  color: #666;
  font-size: 14px;
}

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

.stu-home-matching-more-icon {
  width: 24px;
  height: 24px;
  margin-right: 6px;
}

.stu-home-matching-more {
  width: 100%;
  background: none;
  border: none;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.stu-home-matching-more p {
  font-size: 14px;
  font-weight: 600;
  color: #868686;
  margin: 0px;
}

.stu-home-community-section {
  height: auto;
  background-color: #fff;
  margin-top: 10px;
  margin-bottom: 40px;
}

.stu-home-community-posts {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.stu-home-post-item {
  display: flex;
  flex-direction: column;  /* 세로 정렬로 변경 */
  align-items: flex-start;  /* 왼쪽 정렬 */
  padding: 12px 20px;
  border-bottom: 1px solid #f0f0f0;
  gap: 4px;  /* 제목과 날짜 사이 간격 */
}

.stu-home-post-type {
  color: #666666;
  background-color: #F3F4F6;
  padding: 2px 8px;
  border-radius: 4px;
  white-space: nowrap;
  color: var(--Semantic-Label-Alternative, var(--Label-Alternative, rgba(55, 56, 60, 0.61)));
  font-feature-settings: 'ss10' on;
  font-size: 13px;
  font-style: normal;
  font-weight: 600;
  line-height: 138.5%; /* 18.005px */
  letter-spacing: 0.252px;
}

.stu-home-post-title {
  color: #333;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-feature-settings: 'ss10' on;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 146.7%; /* 22.005px */
  letter-spacing: 0.144px;
}

.stu-home-post-date {
  font-size: 13px;
  color: #999;
}

.stu-home-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
  margin-left: 20px;
  margin-right: 20px;
}

.stu-home-section-header h2 {
  font-size: 18px;
  margin: 0;
}

.stu-home-more-button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}

.stu-home-arrow-icon {
  width: 20px;
  height: 20px;
}

.stu-home-line-banner {
  width: auto;
  margin: 0 20px 16px;
  position: relative;
  overflow: hidden;
  background-color: #f5f5f5;
  border-radius: 12px;
}

.stu-home-line-banner-content {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background-color: rgb(247, 246, 246);
  aspect-ratio: 7 / 1;
}

.stu-home-line-banner-logo {
  width: 100%;
  aspect-ratio: 7 / 1;
}

.stu-home-categories {
  display: flex;
  overflow-x: auto;
  padding: 15px;
  gap: 16px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none;  /* IE and Edge */
  white-space: nowrap;
}

/* 스크롤바 숨기기 */
.stu-home-categories::-webkit-scrollbar {
  display: none;
}

/* 이미지 슬라이더의 선택 테두리 수정 */
.stu-home-preview-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: all 0.3s ease;
  margin: 0 4px;
}

.stu-home-preview-dot.active {
  background: white;
  transform: scale(1.2);
  box-shadow: 0 0 4px rgba(255, 255, 255, 0.8);
}

.stu-home-dots {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  padding: 8px;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.3);
  z-index: 2;
}

.stu-home-tag-icon {
  width: 16px;  /* 또는 원하는 크기 */
  height: 16px;
  margin-right: 4px;
  vertical-align: middle;
}

.stu-home-aca-keyword > div {
  display: flex;
  align-items: center;
}

.stu-home-shuttle-active {
  color: #2BB673;  /* 초록색 */
}

.stu-home-aca-subname {
  font-size: 0.9em;
  color: #666;
  display: block;
  margin-top: 4px;
}

.stu-home-divider {
  width: 120%;
  height: 8px;
  background: var(--Background-Normal-Alternative, #F7F7F8);
  margin-top: 16px;
  margin-bottom: 16px;
}

/* 커뮤니티 탭 컨테이너 추가 */
.stu-home-community-tabs {
  display: flex;
  gap: 8px;
  margin: 0 20px 12px;
}

/* 탭 버튼 스타일 */
.stu-home-community-tab {
  padding: 8px 16px;
  border-radius: 7px;
  border: none;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  background: var(--Background-Normal-Alternative, #F7F7F8);
  color: var(--Semantic-Label-Alternative, rgba(55, 56, 60, 0.61));
}

/* 활성화된 탭 스타일 */
.stu-home-community-tab.active {
  background: var(--Primary-Normal, #00BF40);
  color: #FFFFFF;
}

.stu-home-company-info-main {
  margin-left: 20px;
  margin-right: 20px;
  margin-top: 40px;
}

.stu-home-company-title {
  font-size: 14px;
  color: #adadad;
  font-weight: 600;
  margin-left: 4px;
}  .filter2-modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  height: 100vh;
}

.filter2-modal {
  background: white;
  width: 90%;
  max-width: 400px;
  border-radius: 12px;
  padding: 20px;
  margin: 20px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  max-height: 90vh;
  overflow-y: auto;
}

.filter2-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 28px;
}

.filter2-modal-header h2 {
  font-size: 18px;
  font-weight: 600;
}

.filter2-modal-close {
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: #666;
}

.filter2-modal-content h3 {
  font-size: 14px;
  color: #666;
}

.filter2-modal-select {
  margin-bottom: 12px;
}

.filter2-modal-select-wrapper {
  position: relative;
}

.filter2-modal-select-arrow {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  pointer-events: none;
  opacity: 0.5;
}

.filter2-modal-dropdown {
  width: 100%;
  padding: 12px;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  font-size: 16px;
  background: white;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.filter2-modal-footer {
  display: flex;
  gap: 12px;
  margin-top: 12px;
}

.filter2-modal-reset {
  padding: 14px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  background: white;
  border: 1px solid #E5E7EB;
  color: #222222;
  width: 40%;
}

.filter2-modal-apply { 
  padding: 14px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  background: #00BF40;
  border: none;
  color: white;
  width: 60%;
} .filter-modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  width: 100%;
  max-width: 600px;
  overflow-y: auto;
}

.filter-modal {
  background: white;
  width: 90%;
  max-width: 400px;
  border-radius: 12px;
  padding: 20px;
  margin: 20px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.filter-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 28px;
}

.filter-modal-header h2 {
  font-size: 18px;
  font-weight: 600;
}

.filter-modal-close {
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: #666;
}

.filter-modal-content h3 {
  font-size: 14px;
  color: #666;
}

.filter-modal-select {
  margin-bottom: 12px;
}

.select-wrapper {
  position: relative;
}

.select-arrow {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  pointer-events: none;
  opacity: 0.5;
}

.filter-modal-dropdown {
  width: 100%;
  padding: 12px;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  font-size: 16px;
  background: white;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.filter-modal-footer {
  display: flex;
  gap: 12px;
  margin-top: 12px;
}

.filter-modal-reset {
  padding: 14px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  background: white;
  border: 1px solid #E5E7EB;
  color: #222222;
  width: 40%;
}

.filter-modal-apply { 
  padding: 14px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  background: #00BF40;
  border: none;
  color: white;
  width: 60%;
} .stu-aca-search1-container {
  background-color: #FFFFFF;
  min-height: 100vh;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow-x: hidden;
}

.stu-aca-search1-header {
  display: flex;
  align-items: center;
  margin-top: 20px;
  width: 100%;
  gap: 12px;
  height: 42px;
  background-color: #FFFFFF;
}

.stu-aca-search1-back-button {
  background: none;
  border: none;
  cursor: pointer;
  margin-left: 10px;
}

.stu-aca-search1-back-icon {
  width: 24px;
  height: 24px;
}

.stu-aca-search1-input-wrapper {
  flex: 1;
  display: flex;
  align-items: center;
  border-radius: 6px;
  border: 1px solid #E5E7EB;
  padding: 8px 12px;
  background-color: #FFFFFF;
}

.stu-aca-search1-search-icon {
  width: 20px;
  height: 20px;
  margin-right: 8px;
}

.stu-aca-search1-input {
  flex: 1;
  border: none;
  background: none;
  font-size: 16px;
  outline: none;
  color: #333333;
  width: 100%;
}

.stu-aca-search1-input::placeholder {
  color: #999999;
}

.stu-aca-search1-filter-icon {
  width: 20px;
  height: 20px;
  opacity: 0.7;
}

.stu-aca-search1-filter-container {
  width: 100%;
  height: 38px;
  display: flex;
  padding: 0px 20px 6px 20px;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.stu-aca-search1-filter-button {
  display: flex;
  padding: 4px 0px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border: none;
  background: none;
  font-size: 14px;
  color: #7a7a7a;
  margin-right: 20px;
}

.stu-aca-search1-filter-button.active {
  border-color: #4B5563;
  color: #4B5563;
}

.stu-aca-search1-search-button {
  background: #ffffff;
  color: rgb(0, 0, 0);
  border: none;

  cursor: pointer;
  font-size: 14px;
  white-space: nowrap;
  height: 100%;
  margin-right: 20px;
}

.stu-aca-search1-search-button:hover {
  color: #333333;
}

.stu-aca-search1-results {
  width: 90%;
}

.stu-aca-search1-item {
  background: rgb(241, 241, 241);
  border-radius: 10px;
  padding: 12px 12px;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
}

.stu-aca-search1-item-content {
  flex: 1;
  min-width: 0;
  margin-right: 12px;
}

.stu-aca-search1-academy-info {
  flex: 1;
  min-width: 0;
}

.stu-aca-search1-academy-name {
  font-size: 18px;
  font-weight: 600;
  color: #000000;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.stu-aca-search1-academy-subname {
  font-size: 0.9em;
  color: #666;
  display: block;
  margin-top: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.stu-aca-search1-academy-keyword {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-end;
  width: 100%;
  height: 93px;
}

.stu-aca-search1-academy-keyword div {
  height: 18px;
  padding: 1px 4px;
  margin: 0 6px 0 0;
  background: #ffffff;
  font-size: 13px;
  font-weight: 600;
  color: #666666;
  border-radius: 6px;
  display: flex;
  align-items: center;
}

.stu-aca-search1-item-left {
  position: relative;
  width: 84px;
  height: 111px;
  flex-shrink: 0;
}

.stu-aca-search1-academy-image {
  width: 84px;
  height: 111px;
  border-radius: 8px;
  object-fit: cover;
}

.stu-aca-search1-match-rate {
  position: absolute;
  bottom: -6px;
  right: -6px;
  background: #00BF40;
  color: white;
  padding: 2px 6px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: bold;
}

.stu-aca-search1-badge-container {
  position: absolute;
  top: -6px;
  left: -6px;
  z-index: 2;
}

.stu-aca-search1-badge-icon {
  width: 20px;
  height: 20px;
  color: #00C73C;
}

.stu-aca-search1-tag-icon {
  width: 16px;
  height: 16px;
  margin-right: 4px;
  vertical-align: middle;
}

.stu-aca-search1-shuttle-active {
  color: #2BB673;
}

.stu-aca-search1-location-icon {
  width: 24px;
  height: 24px;
}

.stu-aca-search1-chevron {
  width: 20px;
  height: 20px;
}

.stu-aca-search1-filter-tags {
  flex: 1;
  display: flex;
  overflow-x: auto;
  gap: 8px;
  padding: 4px 0;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
}

.stu-aca-search1-filter-tags::-webkit-scrollbar {
  display: none;
}

.stu-aca-search1-filter-tag {
  display: inline-flex;
  align-items: center;
  background: #F3F4F6;
  padding: 4px 8px;
  border-radius: 16px;
  font-size: 14px;
  white-space: nowrap;
  flex-shrink: 0;
}

.stu-aca-search1-filter-tag-remove {
  background: none;
  border: none;
  color: #666;
  cursor: pointer;
  padding: 0 2px;
  font-size: 16px;
  line-height: 1;
  margin-left: 4px;
}

/* 로딩 스타일 */
.stu-aca-search1-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 0;
  width: 100%;
}

.stu-aca-search1-loading p {
  color: #666;
  margin-top: 16px;
  font-size: 14px;
}

.stu-aca-search1-loading-spinner {
  width: 40px;
  height: 40px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid #00BF40;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

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

/* 리뷰 정보 스타일 */
.stu-aca-search1-rating-info {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 8px;
}

.stu-aca-search1-rating-star {
  color: #FFD700;
  font-size: 14px;
  line-height: 1;
}

.stu-aca-search1-rating-number {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-size: 14px;
  font-weight: 600;
}

.stu-aca-search1-review-count {
  color: #666;
  font-size: 12px;
  font-weight: 400;
}.stu-reco-more1-container {
    width: 100%;
    min-height: 100vh;
    background-color: #F8F9FA;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
    opacity: 0;
    transition: opacity 0.2s ease-in;
  }
  
  .stu-reco-more1-container.css-loaded {
    opacity: 1;
  }
  
  .stu-reco-more1-header {
    height: 48px;
    padding: 0px 20px;
    display: flex;
    align-items: center;
    background-color: #ffffff;
    position: sticky;
  }
  
  .stu-reco-more1-back-button,
  .stu-reco-more1-search-button,
  .stu-reco-more1-filter-button {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
  }

  .stu-reco-more1-back-icon,
  .stu-reco-more1-search-icon,
  .stu-reco-more1-filter-icon {
    width: 24px;
    height: 24px;
  }
  
  .stu-reco-more1-header-title {
    flex: 1;
    font-size: 16px;
    margin-right: 15px;
    font-weight: 700;
    color: #000000;
    text-align: center;
  }
  
  .stu-reco-more1-banner {
    display: flex;
    width: calc(100% - 40px);  /* 전체 너비에서 좌우 마진 40px 제외 */
    margin: 18px 20px;
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 3 / 1; /* 3:1 비율 강제 적용 */
  }

  /* 배너 컨테이너 추가 */
  .stu-reco-more1-banner-container {
    width: 100%;
    height: 100%;
    position: relative;
  }
  
  .stu-reco-more1-banner-content {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background-color: #ffffff;
  }
  
  .stu-reco-more1-banner-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }
  
  .stu-reco-more1-banner-text {
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    color: white;
    font-size: 16px;
    font-weight: 600;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
  }

  .stu-reco-more1-filter-section {
    width: 100%;
    height: 38px;
  }

  .stu-reco-more1-filter-button {
    width: 50%;
  }

  .stu-reco-more1-location-icon {
    width: 20px;
    height: 20px;
  }

  .stu-reco-more1-academy-list {
    margin-left: 20px;
    margin-right: 20px;
  }
  
  .stu-reco-more1-academy-item {
    background: rgb(255, 255, 255);
    border-radius: 10px;
    padding: 12px 12px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-width: 0;
  }
  
  .stu-reco-more1-academy-logo-container {
    position: relative;
    width: 84px;
    height: 111px;
    flex-shrink: 0;
  }
  
  .stu-reco-more1-academy-badge-container {
    position: absolute;
    top: -6px;
    left: -6px;
    z-index: 2;
  }
  
  .stu-reco-more1-academy-badge-icon {
    width: 20px;
    height: 20px;
    color: #00C73C;
  }
  
  .stu-reco-more1-academy-image {
    width: 84px;
    height: 111px;
    border-radius: 8px;
    object-fit: cover;
  }

  .stu-reco-more1-academy-image-end {
    width: 84px;
    height: 111px;
    border-radius: 8px;
    object-fit: cover;
    filter: grayscale(100%);
    opacity: 0.8;
  }
  
  .stu-reco-more1-matching-badge {
    position: absolute;
    bottom: -6px;
    right: -6px;
    background: #00BF40;
    color: white;
    padding: 2px 6px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: bold;
  }
  
  .stu-reco-more1-academy-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 111px;
    min-width: 0;
    margin-right: 12px;
  }
  
  .stu-reco-more1-academy-name {
    font-size: 18px;
    font-weight: 600;
    color: #000000;
    margin: 0;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
    position: relative;
    width: 100%; /* 전체 너비 사용 */
  }
  
  .stu-reco-more1-academy-keyword {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-end;  /* 태그들을 아래쪽으로 정렬 */
    width: 100%;
    margin-top: auto;  /* 상단 여백을 자동으로 설정하여 아래로 밀기 */
  }
  
  .stu-reco-more1-academy-keyword div {
    height: 18px;
    padding: 1px 4px;
    margin: 0 6px 4px 0;  /* 아래쪽 마진 추가 */
    background: #f7f7f7;
    font-size: 13px;
    font-weight: 600;
    color: #636363;
    border-radius: 6px;
    display: flex;
    align-items: center;
    white-space: nowrap;
  }
  
  .stu-reco-more1-academy-location {
    display: flex;
    align-items: center;
    gap: 4px;
    color: #666666;
    font-size: 13px;
    margin: 0;
  }
  
  .stu-reco-more1-location-icon {
    width: 16px;
    height: 16px;
  }
  
  .stu-reco-more1-academy-arrow {
    background: none;
    border: none;
    padding: 8px;
    cursor: pointer;
  }
  
  .stu-reco-more1-academy-arrow img {
    width: 20px;
    height: 20px;
  }

  .stu-reco-more1-filter-section {
    display: flex;
    justify-content: flex-end;
    background-color: #ffffff;
    border-bottom: 1px solid #F2F2F2;
    width: 100%;
  }

  .stu-reco-more1-filter-button {
    display: flex;
    gap: 10px;
    padding: 4px 0px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 14px;
    color: #666666;
    width: 80px;
    margin-right: 12px;
  }

  .stu-reco-more1-filter-icon {
    width: 16px;
    height: 16px;
  }

  .stu-reco-more1-title {
    font-size: 18px;
    font-weight: 600;
    padding: 16px;
    margin: 0;
  }

  .stu-reco-more1-banner-prev,
  .stu-reco-more1-banner-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.3);
    border: none;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.2s;
  }

  .stu-reco-more1-banner-prev {
    left: 10px;
  }

  .stu-reco-more1-banner-next {
    right: 10px;
  }

  .stu-reco-more1-banner-prev:hover,
  .stu-reco-more1-banner-next:hover {
    background: rgba(255, 255, 255, 0.5);
  }

  .stu-reco-more1-banner-prev img,
  .stu-reco-more1-banner-next img {
    width: 20px;
    height: 20px;
  }

  .stu-reco-more1-banner-dot {
    cursor: pointer;
    transition: background-color 0.2s;
  }

  .stu-reco-more1-banner-slider {
    transition: transform 0.3s ease-in-out;
  }

  .stu-reco-more1-academy-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 4px 0;
  }

  .stu-reco-more1-category-tag {
    background: #F3F4F6;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 12px;
    color: #666666;
    white-space: nowrap;
  }

  .stu-reco-more1-banner-indicators {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 8px;
  }

  .stu-reco-more1-indicator {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #E5E7EB;
    cursor: pointer;
  }

  .stu-reco-more1-indicator.active {
    background-color: #000000;
  }

  .stu-reco-more1-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    min-height: 200px;
  }

  .stu-reco-more1-loading-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid #00BF40;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 10px;
  }

  .stu-reco-more1-loading p {
    color: #666;
    font-size: 14px;
  }

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

  .stu-reco-more1-no-results {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    text-align: center;
    min-height: 200px;
  }

  .stu-reco-more1-no-results p {
    color: #666;
    font-size: 14px;
    margin: 4px 0;
  }

  .stu-reco-more1-loading-more {
    text-align: center;
    padding: 20px;
    color: #666;
  }

  .stu-reco-more1-loading-spinner {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid #f3f3f3;
    border-top: 2px solid #00C73C;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-right: 8px;
  }

  .stu-reco-more1-tag-icon {
    width: 16px;  /* 또는 원하는 크기 */
    height: 16px;
    margin-right: 4px;
    vertical-align: middle;
  }
  
  .stu-reco-more1-academy-keyword > div {
    display: flex;
    align-items: center;
  }
  
  .stu-reco-more1-shuttle-active {
    color: #2BB673;  /* 초록색 */
  }

  .stu-reco-more1-academy-subname {
    font-size: 0.9em;
    color: #666;
    display: block;
    margin-top: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .stu-reco-more1-academy-name-text {
    white-space: nowrap; /* 줄바꿈 방지 */
    overflow: hidden;    /* 넘치는 텍스트 숨김 */
    text-overflow: ellipsis; /* 말줄임표 표시 */
  }

  .stu-reco-more1-deadline {
    position: static;
    font-size: 12px;
    color: var(--Palette-Orange-40, var(--Orange-40, #d47800));
    background-color: var(--Palette-Orange-40, var(--Orange-40, #ffefda));
    padding: 2px 4px;
    border-radius: 4px;
    white-space: nowrap;
    flex-shrink: 0; /* D-day 크기 유지 */
  }

  .stu-reco-more1-deadline-end {
    position: static;
    font-size: 12px;
    color: var(--Palette-Orange-40, var(--Orange-40, #37383C9C));
    font-weight: 600;
    background-color: var(--Palette-Orange-40, var(--Orange-40, #eeeeee));
    padding: 2px 4px;
    border-radius: 6px;
    white-space: nowrap;
    flex-shrink: 0; /* D-day 크기 유지 */
  }

  /* 리뷰 정보 스타일 */
  .stu-reco-more1-rating-info {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 8px;
  }

  .stu-reco-more1-rating-star {
    color: #FFD700;
    font-size: 14px;
    line-height: 1;
  }

  .stu-reco-more1-rating-number {
    color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
    font-size: 14px;
    font-weight: 600;
  }

  .stu-reco-more1-review-count {
    color: #666;
    font-size: 12px;
    font-weight: 400;
  }.aca-roll-container {
  margin-left: 20px;
  margin-right: 20px;
  background-color: #fff;
  height: 100%;
}

.aca-roll-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 48px;
  margin-bottom: 3px;
  width: 100%;
}

.aca-roll-back-button {
    background: none;
    border: none;
    cursor: pointer;
}

.aca-roll-back-button img {
  width: 24px;
  height: 24px;
}

.aca-roll-title {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 4px;
}

.aca-roll-filter {
  border: none;
  background: none;
  padding: 8px;
}

.aca-roll-filter img {
  width: 22px;
  height: 22px;
}

.aca-roll-search {
  margin-bottom: 12px;
}

.aca-roll-search-box {
  display: flex;
  align-items: center;
  background-color: #ffffff;
  border-radius: 8px;
  border: 1px solid #e9e9e9;
  padding: 8px 12px;
}

.aca-roll-search-icon {
  width: 20px;
  height: 20px;
  margin-right: 8px;
}

.aca-roll-search-input {
  border: none;
  background: none;
  width: 100%;
  font-size: 14px;
}

.aca-roll-search-input::placeholder {
  color: #999;
}

.aca-roll-item {
  display: flex;
  flex-direction: column;
  padding: 16px 0;
  border-bottom: 1px solid #eee;
  position: relative;
}

.aca-roll-info {
  display: flex;
  align-items: center;
  margin-bottom: 4px;
}

.aca-roll-name {
  font-size: 16px;
  font-weight: 500;
  margin-right: 8px;
}

.aca-roll-role {
  font-size: 14px;
  padding: 2px 8px;
  border-radius: 4px;
}

.aca-roll-role.pending {
  background-color: #FFF8E6;
  color: #FFB800;
}

.aca-roll-role.super-admin {
  background-color: #E6F2FF;
  color: #0080FF;
}

.aca-roll-role.admin {
  background-color: #F2E6FF;
  color: #8000FF;
}

.aca-roll-role.normal {
  background-color: #F5F5F5;
  color: #666666;
}

.aca-roll-email {
  font-size: 14px;
  color: #999;
  margin-bottom: 8px;
}

.aca-roll-buttons {
  display: flex;
  gap: 8px;
  margin-top: 8px;
}

.aca-roll-approve {
  flex: 1;
  background-color: #00C73C;
  color: white;
  border: none;
  padding: 8px 0;
  border-radius: 4px;
  font-size: 14px;
}

.aca-roll-reject {
  flex: 1;
  background-color: white;
  color: #666;
  border: 1px solid #ddd;
  padding: 8px 0;
  border-radius: 4px;
  font-size: 14px;
}

.aca-roll-more {
  position: absolute;
  right: 0;
  top: 16px;
  border: none;
  background: none;
  padding: 8px;
}

.aca-roll-more img {
  width: 20px;
  height: 20px;
}

.aca-roll-status {
  margin: 20px 0;
  border-bottom: 1px solid #e9e9e9;
  padding-bottom: 12px;
}

.aca-roll-status-label {
  font-size: 14px;
  color: #333;
  margin-bottom: 12px;
}

.aca-roll-status-filters {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding-bottom: 4px;
}

.aca-roll-status-button {
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 14px;
  border: none;
  background-color: #f5f5f5;
  color: #666;
  white-space: nowrap;
}

.aca-roll-status-button.active {
  background-color: #00C73C;
  color: white;
}

/* 스크롤바 숨기기 */
.aca-roll-status-filters::-webkit-scrollbar {
  display: none;
}

.aca-roll-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 1000;
}

.aca-roll-modal,
.aca-roll-delete-modal {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: white;
  padding: 20px 20px;
  z-index: 1001;
  display: flex;
  flex-direction: column;
  gap: 10px;
  border-top-left-radius: 24px;
  border-top-right-radius: 24px;
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1);
  transition: transform 0.2s ease;
  max-width: 560px;
  margin: 0 auto;
}

.aca-roll-modal-bar {
  width: 36px;
  height: 4px;
  background-color: #969696;
  border-radius: 2px;
  margin: 0 auto 0px;
}

.aca-roll-modal-title {
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  color: #333;
  margin-bottom: 2px;
}

.aca-roll-modal-option {
  width: 100%;
  height: 48px;
  border: 1px solid #E5E5E5;
  background: white;
  text-align: center;
  font-size: 17px;
  color: #333;
  border-radius: 12px;
  cursor: pointer;
}

.aca-roll-modal-option.selected {
  background-color: #ffffff;
  border-color: #00C853;
}

.aca-roll-modal-option.cancel {
  background-color: #00C853;
  color: white;
  border: none;
  font-weight: 500;
}

.aca-roll-modal-option.cancel.active {
  background-color: #00C853;
  color: white;
}

.aca-roll-delete-modal {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: white;
  padding: 24px 20px;
  z-index: 1001;
  display: flex;
  flex-direction: column;
  gap: 24px;
  border-top-left-radius: 24px;
  border-top-right-radius: 24px;
  transition: transform 0.2s ease;
}

.aca-roll-delete-message {
  text-align: center;
  font-size: 16px;
  color: #333;
  margin: 8px 0;
}

.aca-roll-delete-button {
  width: 100%;
  height: 56px;
  background-color: #FF3B30;
  color: white;
  border: none;
  border-radius: 12px;
  font-size: 17px;
  font-weight: 500;
  cursor: pointer;
}

.aca-roll-delete-button:active {
  background-color: #e6352b;
} .terms-container {
  width: 100%;
  min-height: 100vh;
  background-color: white;
  display: flex;
  flex-direction: column;
  padding-top: env(safe-area-inset-top);
  overflow-x: hidden;
}

.terms-header {
  width: 100%;
  height: 48px;
  display: flex;
  align-items: center;
  background-color: white;
  border-bottom: 1px solid rgba(112, 115, 124, 0.22);
}

.terms-back-button {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 24px;
    height: 24px;
    left: 10px;
}

.terms-back-icon {
    width: 24px;
    height: 24px;
}

.terms-header h1 {
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #000000;
  position: absolute;
  text-align: center;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
}

.terms-content {
  padding: 20px;
  flex: 1;
}

.terms-content h2 {
  color: #171719;
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 24px;
}

.terms-content section {
  margin-bottom: 24px;
}

.terms-content h3 {
  color: #171719;
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 12px;
}

.terms-content h4 {
  color: #171719;
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 8px;
}

.terms-content p,
.terms-content li {
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(55, 56, 60, 0.61);
  margin-bottom: 8px;
}

.terms-content ol {
  padding-left: 20px;
  margin: 0;
}

.terms-content li {
  margin-bottom: 8px;
}
.terms-privacy-container {
  width: 100%;
  min-height: 100vh;
  background-color: white;
  display: flex;
  flex-direction: column;
  padding-top: env(safe-area-inset-top);
  overflow-x: hidden;
}

.terms-privacy-header {
  width: 100%;
  height: 48px;
  display: flex;
  align-items: center;
  background-color: white;
  border-bottom: 1px solid rgba(112, 115, 124, 0.22);
}

.terms-privacy-back-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 24px;
  height: 24px;
  left: 10px;
}

.terms-privacy-back-icon {
  width: 24px;
  height: 24px;
}

.terms-privacy-header h1 {
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #000000;
  position: absolute;
  text-align: center;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
}

.terms-privacy-content {
  padding: 20px;
  flex: 1;
}

.terms-privacy-content h2 {
  color: #171719;
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 24px;
}

.terms-privacy-intro {
  color: rgba(55, 56, 60, 0.61);
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 24px;
}

.terms-privacy-content section {
  margin-bottom: 24px;
}

.terms-privacy-content h4 {
  color: #171719;
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 8px;
}

.terms-privacy-content h5 {
  color: #171719;
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 8px;
  margin-top: 16px;
}

.terms-privacy-section {
  margin-left: 8px;
}

.terms-privacy-content ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.terms-privacy-content li {
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(55, 56, 60, 0.61);
  margin-bottom: 8px;
}

.terms-privacy-content p {
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(55, 56, 60, 0.61);
  margin-bottom: 8px;
}
.terms-marketing-container {
  width: 100%;
  min-height: 100vh;
  background-color: white;
  display: flex;
  flex-direction: column;
  padding-top: env(safe-area-inset-top);
  overflow-x: hidden;
}

.terms-marketing-header {
  width: 100%;
  height: 48px;
  display: flex;
  align-items: center;
  background-color: white;
  border-bottom: 1px solid rgba(112, 115, 124, 0.22);
}

.terms-marketing-back-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 24px;
  height: 24px;
  left: 10px;
}

.terms-marketing-back-icon {
  width: 24px;
  height: 24px;
}

.terms-marketing-header h1 {
  font-size: 16px;
  font-weight: 600;
  color: #000000;
  position: absolute;
  text-align: center;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
}

.terms-marketing-content {
  padding: 20px;
  flex: 1;
}

.terms-marketing-content h2 {
  color: #171719;
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 24px;
}

.terms-marketing-intro {
  color: #171719;
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 12px;
}

.terms-marketing-desc {
  color: rgba(55, 56, 60, 0.61);
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 24px;
}

.terms-marketing-content section {
  margin-bottom: 24px;
}

.terms-marketing-content h4 {
  color: #171719;
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 8px;
}

.terms-marketing-content h5 {
  color: #171719;
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 8px;
  margin-top: 16px;
}

.terms-marketing-section {
  margin-left: 8px;
}

.terms-marketing-content ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.terms-marketing-content li {
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(55, 56, 60, 0.61);
  margin-bottom: 8px;
}

.terms-marketing-content p {
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(55, 56, 60, 0.61);
  margin-bottom: 8px;
}
.terms-marketing2-container {
  width: 100%;
  min-height: 100vh;
  background-color: white;
  display: flex;
  flex-direction: column;
  padding-top: env(safe-area-inset-top);
  overflow-x: hidden;
}

  .terms-marketing2-header {
  width: 100%;
  height: 48px;
  display: flex;
  align-items: center;
  background-color: white;
  border-bottom: 1px solid rgba(112, 115, 124, 0.22);
}

.terms-marketing2-back-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 24px;
  height: 24px;
  left: 10px;
}

.terms-marketing2-back-icon {
  width: 24px;
  height: 24px;
}

.terms-marketing2-header h1 {
  font-size: 17px;
  font-weight: 600;
  color: #000000;
  position: absolute;
  text-align: center;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
}

.terms-marketing2-content {
  padding: 20px;
  flex: 1;
}

.terms-marketing2-content h2 {
  color: #171719;
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 24px;
}

.terms-marketing2-intro {
  color: #171719;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 12px;
}

.terms-marketing2-desc {
  color: rgba(55, 56, 60, 0.61);
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 24px;
}

.terms-marketing2-content section {
  margin-bottom: 24px;
}

.terms-marketing2-content h4 {
  color: #171719;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 8px;
}

.terms-marketing2-content h5 {
  color: #171719;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 8px;
  margin-top: 16px;
}

.terms-marketing2-section {
  margin-left: 8px;
}

.terms-marketing2-content ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.terms-marketing2-content li {
  font-size: 14px;
  line-height: 1.6;
  color: rgba(55, 56, 60, 0.61);
  margin-bottom: 8px;
}

.terms-marketing2-content p {
  font-size: 14px;
  line-height: 1.6;
  color: rgba(55, 56, 60, 0.61);
  margin-bottom: 8px;
}
.aca-preview-container {
  background-color: #fff;
  margin-left: 20px;
  margin-right: 20px;
}

.aca-preview-header {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 0px 20px;
  height: 48px;
  margin-bottom: 3px;
}

.aca-preview-back-button {
  position: absolute;
  left: 0px;
  background: none;
  border: none;
  padding: 5px;
}

.aca-preview-back-icon {
  width: 24px;
  height: 24px;
}

.aca-preview-header-title {
  font-size: 18px;
  font-weight: 700;
}

.aca-preview-title {
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%; /* 24px */
  letter-spacing: 0.091px;
}

.aca-preview-share-button {
  background: none;
  border: none;
  padding: 8px;
  position: absolute;
  right: 0px;
  color: #00C853;
}

.aca-preview-share-icon {
  width: 24px;
  height: 24px;
}

.aca-preview-image-slider {
  position: relative;
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  touch-action: pan-y pinch-zoom;
  margin-bottom: 20px;
}

.slider-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.3);
  color: white;
  border: none;
  padding: 10px 15px;
  cursor: pointer;
  font-size: 24px;
  z-index: 2;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.slider-button:hover {
  background: rgba(0, 0, 0, 0.5);
}

.slider-button.prev {
  left: 10px;
}

.slider-button.next {
  right: 10px;
}

.aca-preview-image {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  transition: transform 0.3s ease;
  border-radius: 10px;
}

.aca-preview-image-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.3);
  color: white;
  border: none;
  padding: 10px 15px;
  cursor: pointer;
  z-index: 2;
}

.aca-preview-image-nav.prev {
  left: 10px;
}

.aca-preview-image-nav.next {
  right: 10px;
}

.aca-preview-dots {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
}

.aca-preview-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
}

.aca-preview-dot.active {
  background: white;
}

.aca-preview-info {
  margin-bottom: 20px;
  width: 100%;
  min-width: 0;
}

.aca-preview-academy-name {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-feature-settings: 'ss10' on;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 133.4%;
  letter-spacing: -0.552px;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  margin-bottom: 8px;
  width: 100%;
  overflow: hidden;
}

.aca-preview-academy-name-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
}

.aca-preview-verify-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.aca-preview-rating-info {
  display: flex;
  align-items: center;
  gap: 4px;
}

.aca-preview-rating-star {
  color: #FFD700;
  font-size: 18px;
  line-height: 1;
}

.aca-preview-rating-number {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-size: 16px;
  font-weight: 600;
}

.aca-preview-review-count {
  color: #666;
  font-size: 14px;
  font-weight: 400;
}

.aca-preview-copy-icon {
  width: 20px;
  height: 20px;
}

.aca-preview-call-icon {
  width: 24px;
  height: 24px; 
  margin-right: 6px;
}

.aca-preview-assistant-call-icon {
  width: 22px;
  height: 22px;
  margin-right: 6px;
}


.aca-preview-call-buttons {
  display: flex;
  flex-direction: row;
  gap: 6px;
}

.aca-preview-real-call-button {
  width: 100%;
  padding: 10px;
  background-color: #00C853;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}

.aca-preview-youtube-button {
  width: 100%;
  padding: 10px;
  background-color: #ffffff;
  color: #00C853;
  border: none;
  border: 1px solid #00C853;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 15px;
}

.aca-preview-youtube-icon {
  width: 24px;
  height: 24px;
  margin-right: 5px;
  color: white;
}

.aca-preview-address-icon, .aca-preview-phone-icon{
  width: 24px;
  height: 24px;
}

.aca-preview-website-icon {
  width: 24px;
  height: 24px;
  margin-right: 6px;
}

.aca-preview-address {
  color: #666;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.aca-preview-phone, .aca-preview-website {
  color: #666;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  overflow: hidden;
}

.aca-preview-website img {
  flex-shrink: 0;
}

/* .aca-preview-news-text {
  color: #00C853;
  border: 1px solid #00C853;
  border-radius: 10px;
  padding: 5px;
  font-size: 10px;
  font-weight: 500;
  margin-top: 2px;
} */

.aca-preview-news {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  overflow: hidden;
  color: #666;
}

.aca-preview-news-icon {
  width: 24px;
  height: 24px;
  margin-right: 6px;
}

.aca-preview-link-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  margin-bottom: 4px;
}

.aca-preview-website-text {
  /* flex: 1; */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border-bottom: 1px solid #757575;
}

.aca-preview-phone-text, .aca-preview-address-text {
  /* flex: 1; */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.aca-preview-call-button {
  width: 100%;
  padding: 10px;
  background-color: #ffffff;
  color: #00C853;
  border: 1px solid #00C853;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}

.aca-preview-section {
  margin-bottom: 20px;
}

.aca-preview-section-title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 15px;
  padding: 10px 0;
  border-top: 1px solid #eee;
}

.aca-preview-info-grid {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 15px;
  background-color: #f8f9fa;
  padding: 15px;
  border-radius: 8px;
}

.aca-preview-info-label {
  color: #666;
  font-weight: 500;
}

.aca-preview-info-value {
  color: #333;
}

.aca-preview-facility-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.aca-preview-facility-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #333;
}

.aca-preview-facility-status {
  color: #00C853;
}

.aca-preview-facility-status.unavailable {
  color: #999;
}

.aca-preview-category-tag {
  display: flex;
  padding: 0px 8px;
  border-radius: 12px;
  background-color: #eaebea;
  color: rgb(107, 107, 107);
  font-size: 14px;
  font-weight: 500;
  flex-shrink: 0;
}

.aca-preview-strength {
  padding: 10px;
  background-color: #f2fff7;
  border-radius: 8px;
  margin-bottom: 12px;
}

.aca-preview-strength-title {
  font-size: 16px;
  font-weight: bold;
  color: #22a71d;
  margin-bottom: 8px;
}

.aca-preview-strength-content {
  font-size: 14px;
  color: #22a71d;
  line-height: 1.5;
}

.aca-preview-operation {
  border-top: 2px solid #eee;
  padding: 20px 0;
  margin-top: 20px;
}

.aca-preview-operation-title {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-feature-settings: 'ss10' on;
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%; /* 28px */
  letter-spacing: -0.24px;
  margin-bottom: 12px;
}

.aca-preview-operation-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
}

.aca-preview-operation-label {
  color: #666;
  font-size: 14px;
}

.aca-preview-operation-value {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-feature-settings: 'ss10' on;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 146.7%; /* 22.005px */
  letter-spacing: 0.144px;
}

.aca-preview-operation-value.highlight {
  color: #00C73C;
  font-weight: 500;
  font-size: 14px;
}

.aca-preview-facility {
  border-top: 2px solid #eee;
  padding: 20px 0;
}

.aca-preview-facility-title {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-feature-settings: 'ss10' on;
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%; /* 28px */
  letter-spacing: -0.24px;
  margin-bottom: 12px;
}

.aca-preview-facility-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
}

.aca-preview-facility-label {
  color: #666;
  font-size: 14px;
}

.aca-preview-facility-value {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-feature-settings: 'ss10' on;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 146.7%; /* 22.005px */
  letter-spacing: 0.144px;
}

.aca-preview-class {
  border-top: 2px solid #eee;
  padding: 10px 0;
  margin-top: 20px;
}

.aca-preview-class-title {
  font-size: 18px;
  font-weight: bold;
  color: #333;
  margin-bottom: 16px;
}

.aca-preview-class-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

.aca-preview-class-item {
  background-color: #f8f9fa;
  padding: 10px;
  border-radius: 8px;
}

.aca-preview-class-label {
  color: var(--Semantic-Label-Alternative, var(--Label-Alternative, rgba(55, 56, 60, 0.61)));
  font-feature-settings: 'ss10' on;
  font-size: 13px;
  font-style: normal;
  font-weight: 600;
  line-height: 138.5%; /* 18.005px */
  letter-spacing: 0.252px;

}

.aca-preview-class-value {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-feature-settings: 'ss10' on;
  font-size: 15px;
  font-style: normal;
  font-weight: 600;
  line-height: 146.7%; /* 22.005px */
  letter-spacing: 0.144px;
}

.aca-preview-volunteer {
  border-top: 2px solid #eee;
  padding: 20px 0;
}

.aca-preview-volunteer-title {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-feature-settings: 'ss10' on;
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%;
  letter-spacing: -0.24px;
  margin-bottom: 12px;
}

.aca-preview-volunteer-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
}

.aca-preview-volunteer-label {
  color: #666;
  font-size: 14px;
}

.aca-preview-volunteer-value {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-feature-settings: 'ss10' on;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 146.7%;
  letter-spacing: 0.144px;
}

.aca-preview-volunteer-value.highlight {
  color: #00C73C;
  font-weight: 500;
  font-size: 14px;
}

.aca-preview-youtube-container {
  margin-bottom: 16px;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.aca-preview-youtube-container iframe {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 12px;
  aspect-ratio: 16/9;
}

/* 지도 모달 스타일 */
.map-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.map-modal {
  background: white;
  padding: 20px;
  border-radius: 12px;
  width: 90%;
  max-width: 600px;
  max-height: 90vh;
  overflow-y: auto;
}

.map-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.map-modal-header h3 {
  margin: 0;
  font-size: 18px;
  font-weight: bold;
}

.map-modal-close {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}

.map-modal-close img {
  width: 24px;
  height: 24px;
}

/* 지도 컨테이너 스타일 */
.map-preview-container {
  width: 100%;
  height: 305px;
  margin: 0px;
  border: none;
  border-radius: 12px;
  overflow: hidden;
}

.map-preview-button {
  width: 100%;
  height: 32px;
  background-color: #ffffff;
  color: rgb(31, 31, 31);
  border: 1px solid rgb(219, 219, 219);
  border-radius: 6px;
  margin-top: 10px;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
}

.map-preview-button:hover {
  background-color: #f0f0f0;
}

.map-preview-container .map-container {
  margin-top: 0;
  border: none;
  border-radius: 12px;
}

/* 리뷰 섹션 스타일 */
.aca-preview-review-section {
  padding-bottom: 20px;
}

.aca-preview-review-header {
  margin-bottom: 20px;
}

.aca-preview-review-title {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-feature-settings: 'ss10' on;
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%;
  letter-spacing: -0.24px;
  margin-bottom: 12px;
}

.review-count {
  color: #00C853;
  font-weight: 600;
}

.aca-preview-review-rating {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}

.rating-stars,
.review-stars {
  display: flex;
  gap: 2px;
}

.star {
  font-size: 20px;
  line-height: 1;
}

.star.filled {
  color: #FFD700;
}

.star.empty {
  color: #E0E0E0;
}

.rating-number {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-size: 20px;
  font-weight: 700;
}

.aca-preview-write-review-button {
  width: 100%;
  padding: 12px;
  background-color: #00C853;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  cursor: pointer;
  transition: background-color 0.2s;
}

.aca-preview-write-review-button:hover {
  background-color: #00a844;
}

.write-icon {
  width: 20px;
  height: 20px;
  color: white !important;
}

.aca-preview-review-list {
}

.aca-preview-review-item {
  padding: 16px;
  background-color: #ffffff;
  border: 1px solid #E5E5E5;
  border-radius: 12px;
  margin-bottom: 12px;
}

.review-item-header {
  margin-bottom: 16px;
}

.review-rating-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}

.review-stars .star {
  font-size: 18px;
}

.review-rating-number {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-size: 18px;
  font-weight: 600;
}

.review-user-info {
  display: flex;
  align-items: center;
  color: #666;
  font-size: 13px;
}

.review-user-name {
  font-weight: 500;
  color: #333;
}

.review-date {
  color: #999;
}

.review-item-content {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.review-section {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.review-section-horizontal {
  display: flex;
  flex-direction: row;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 8px;
}

.review-section-horizontal:last-child {
  margin-bottom: 0;
}

.review-label {
  font-size: 14px;
  font-weight: 700;
  padding: 0;
  white-space: nowrap;
  flex-shrink: 0;
  min-width: 70px;
}

.review-label.good {
  /* color: #00C853; */
}

.review-label.bad {
  /* color: #FF6B6B; */
}

.review-text {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
  word-break: keep-all;
  word-wrap: break-word;
  flex: 1;
}

.aca-preview-no-review {
  text-align: center;
  padding: 40px 20px;
  color: #999;
  font-size: 14px;
}

.aca-preview-load-more-button {
  width: 100%;
  padding: 12px;
  background-color: #ffffff;
  color: #666;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  cursor: pointer;
  margin-top: 8px;
  transition: background-color 0.2s;
}

.aca-preview-load-more-button:hover {
  background-color: #f5f5f5;
}

.chevron-icon {
  width: 16px;
  height: 16px;
}

.dashboard-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  background-color: #f5f5f5;
  overflow: hidden;
  min-height: 100vh;
}

.dashboard-content-wrapper {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding-bottom: 30px;
  background-color: #f5f5f5;
}

.dashboard-content-wrapper:after {
  content: none;
}

.dashboard-header {
  width: 100%;
  height: 56px;
  padding: 0 20px;
  right: 18px;
  display: flex;
  align-items: center;
  position: relative;
  background-color: #fff;
  border-bottom: 1px solid #eee;
}

.back-button {
  background: none;
  border: none;
  padding: 8px;
  cursor: pointer;
  margin-left: 10px;
}

.back-button img {
  width: 24px;
  height: 24px;
}

.header-title {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  font-size: 16px;
  font-weight: 600;
  color: #171719;
}

.metric-selector {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
  padding: 8px 16px;
  background-color: #fff;
  width: calc(100% - 40px);
  margin: 30px auto 10px;
  border-radius: 10px;
}

.metric-button {
  padding: 9px 12px;
  border-radius: 8px;
  border: none;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  background-color: transparent;
  color: rgba(55, 56, 60, 0.61);
}

.metric-button.active {
  background-color: #00BF40;
  color: white;
}

.metric-button.disabled {
  background-color: #f5f5f5;
  color: #999;
}

.period-selector {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
  padding: 8px 16px;
  background-color: #fff;
  width: calc(100% - 40px);
  margin: 0 auto 10px;
  border-radius: 10px;
}

.period-button {
  flex: 1;
  padding: 9px 20px;
  border-radius: 8px;
  border: none;
  font-size: 14px;
  cursor: pointer;
  background-color: transparent;
  color: rgba(55, 56, 60, 0.61);
}

.period-button.active {
  background-color: #00BF40;
  color: white;
}

.stats-section {
  background-color: #fff;
  margin: 12px auto 30px;
  padding: 16px;
  width: calc(100% - 40px);
  border-radius: 10px;
  padding-bottom: 24px;
}

.date-navigator {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.nav-button {
  border: none;
  background: none;
  font-size: 18px;
  color: #666;
  cursor: pointer;
}

.date-range {
  font-size: 14px;
  font-weight: 500;
}

.stats-summary {
  padding: 0 16px;
}

.stats-total {
  display: flex;
  gap: 8px;
  flex-direction: column; 
  align-items: baseline;
}

.highlight {
  color: #00BF40;
  font-size: 20px;
  font-weight: bold;
}

.stats-graph {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  height: 200px;
  margin: 12px 0;
  padding: 0 18px;
}

/* 월별 그래프를 위한 새로운 스타일 */
.stats-graph.monthly {
  justify-content: flex-start;  /* 좌측 정렬로 변경 */
  overflow-x: auto;  /* 가로 스크롤 추가 */
  padding-bottom: 12px;  /* 스크롤바를 위한 여백 */
}

.stats-graph.monthly .graph-bar-container {
  flex-shrink: 0;  /* 그래프 바가 줄어들지 않도록 설정 */
  margin-right: 8px;  /* 바 사이의 간격 */
}

.stats-graph.monthly .graph-bar-container:last-child {
  margin-right: 0;  /* 마지막 바의 오른쪽 마진 제거 */
}

.graph-bar-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 40px; /* 60px에서 40px로 감소 */
}

.graph-bar {
  width: 32px; /* 40px에서 32px로 감소 */
  background-color: #00BF40;
  border-radius: 8px;
  transition: height 0.3s ease;
  min-height: 1px;
}

.graph-label {
  margin-top: 8px;
  font-size: 12px;
  color: #666;
}

.count-label {
  margin-top: 4px;
  font-size: 14px;
  color: #333;
}

.current-date {
  padding: 16px;
  display: flex;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid #eee;
  font-size: 13px;
  color: #333;
}

.daily-count {
  color: #666;
}

.student-types {
  padding-top: 16px;
}

.student-types h3 {
  margin-bottom: 16px;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 12px;
  color: #333;
}

.student-type-row {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  font-size: 14px;
}

.type-name {
  color: #333;
}

.type-count {
  color: #666;
}

/* stats-title을 stats-section 내부로 이동 
.study-type-section {
  background-color: white;
  border-radius: 12px;
  padding: 20px;
  margin-top: 20px;
  width: 78%;
  margin-left: 20px;
}
*/
.age-section {
  background-color: transparent;  /* 배경색 제거 */
  padding: 0;  /* 패딩 제거 */
  margin: 0;  /* 마진 제거 */
  width: 100%;  /* 너비 100%로 설정 */
}

.age-section {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 12px;
  color: #333;
}

.age-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.age-row {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  font-size: 14px;
}

/* 추가된 부분 */
.age-tabs-section {
  margin-bottom: 10px;
  padding: 0; 
}

.age-tabs-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
  padding: 8px;
  background-color: #fff;
  border-radius: 10px;
  width: 80%;
  margin: 0;  
  position: relative; 
  left: -8px; 
}

.age-tab {
  white-space: nowrap; 
  min-width: fit-content;
  padding: 7px 14px;
  border-radius: 6px;
  border: none;
  font-size: 13px;
  font-weight: 500;
  text-align: center;
  background-color: #f5f5f5;
  color: #999;
  cursor: pointer;
}

.age-tab.active {
  background-color: #00BF40;
  color: white;
}

.age-distribution {
  margin-top: 6px;
}

.age-row {
  display: flex;
  align-items: center;
  padding: 6px 0;
}

.age-label {
  width: 80px;
  font-size: 14px;
  color: rgba(55, 56, 60, 0.61);
}

.progress-bar-container {
  flex: 1;
  height: 6px;
  background-color: #EAEBEC;
  border-radius: 4px;
  margin-right: 12px;
  overflow: hidden;
}

.progress-bar {
  height: 100%;
  background-color: #00BF40;
  border-radius: 4px;
}

.percentage {
  width: 40px;
  font-size: 14px;
  color: rgba(55, 56, 60, 0.61);
  text-align: right;
}

.stats-title {
  font-size: 18px;
  font-weight: 600;
  color: #171719;
  margin-top: 12px;
  margin-bottom: 12px;
}
.stu-age-page-container {
  margin: 20px;
  position: relative;
  overflow-x: hidden;
}

.stu-age-page-header {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 48px;
  width: 100%;
  position: relative;
}

.stu-age-page-back-button {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 24px;
    height: 24px;
    left: 4px;
}

.stu-age-page-back-button img {
  width: 24px;
  height: 24px;
}

.stu-age-page-header span {
  margin-left: 0;
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  text-align: center;
  font-feature-settings: 'ss10' on;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%; /* 24px */
  letter-spacing: 0.091px;
}

.stu-age-page-content h1 {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-feature-settings: 'ss10' on;
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 135.8%; /* 38.024px */
  letter-spacing: -0.661px;
  margin-bottom: 0px;
}

.stu-age-page-content p {
  color: var(--Semantic-Label-Alternative, var(--Label-Alternative, rgba(55, 56, 60, 0.61)));
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 144.5%; /* 26.01px */
  letter-spacing: -0.004px;
  margin-bottom: 122px;
}

.age-category-section {
  margin-bottom: 6px;
}

.age-category-label {
  font-size: 14px;
  color: #666;
  margin-bottom: 10px;
}

.age-select-button {
  width: 100%;
  padding: 10px;
  margin-bottom: 10px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: white;
  text-align: center;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.2s;
}

.age-select-button:hover {
  background-color: #f5f5f5;
}

.age-select-button.selected {
  background-color: #E6F7EC;
  border-color: #00bf40;
  color: #00bf40;
}

.stu-age-page-next-button {
  width: 100%;
  padding: 10px;
  margin-top: 70px;
  margin-bottom: 10px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background-color: #00bf40;
  color: white;
  height: 48px;
  font-feature-settings: 'ss10' on;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%; /* 24px */
  letter-spacing: 0.091px;
}.stu-category-container {
  max-width: 600px;
  margin-left: 20px;
  margin-right: 20px;
  margin-top: 10px;
}

.stu-category-highlight-message {
  background: var(--Background-Normal-Alternative, #F7F7F8);
  border-radius: 10px;
  display: flex;
  padding: 12px;
  align-items: center;
  gap: 6px;
  color: var(--Semantic-Label-Alternative, var(--Label-Alternative, rgba(55, 56, 60, 0.61)));
  font-feature-settings: 'ss10' on;
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  line-height: 138.5%; /* 18.005px */
  letter-spacing: 0.252px;
}

.stu-category-header {
    height: 48px;
    width: 100%;
    margin-bottom: 30px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.stu-category-back-button {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 24px;
    height: 24px;
    left: 4px;
    /* 안보이게 */
    visibility: hidden;
}

.stu-category-back-button img {
  width: 24px;
  height: 24px;
}

.stu-category-header span {
    margin-left: 0;
    font-size: 16px;
    font-weight: 600;
}

.stu-category-content h1 {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-feature-settings: 'ss10' on;
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 135.8%; /* 38.024px */
  letter-spacing: -0.661px;
  margin: 0;
}

.stu-category-content p {
  color: var(--Semantic-Label-Alternative, var(--Label-Alternative, rgba(55, 56, 60, 0.61)));
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 144.5%; /* 26.01px */
  letter-spacing: -0.004px;
  margin: 0;
  margin-bottom: 6px;
}

.stu-category-buttons {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 116px;
  margin-bottom: 33px;
}

.stu-category-button {
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  width: 100%;
}

.stu-category-button-image {
  width: 100%;
  height: auto;
  border-radius: 16px;
}

/* 호버 효과 (선택사항) */
.stu-category-button:hover {
  opacity: 0.9;
}

.stu-category-button img {
  border-radius: 10px;
}
.aca-strength-container {
  padding: 20px;
  max-width: 600px;
  margin: 0 auto;
  background: #fff;
  min-height: 100vh;
  overflow-y: auto;
}

.aca-strength-header {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 50px;
  margin-top: 10px;
  width: 100%;
  position: relative;
}

.aca-strength-back-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  position: absolute;
  left: 0;
}

.aca-strength-back-button img {
  width: 24px;
  height: 24px;
}

.aca-strength-header span {
  margin-left: 0;
  font-size: 17px;
  font-weight: 700;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.aca-strength-highlight-message {
  background-color: #F8F9FA;
  border-radius: 8px;
  padding: 16px;
  margin: 20px 0;
  color: #495057;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.aca-strength-content h1 {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-feature-settings: 'ss10' on;
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 135.8%;
  letter-spacing: -0.661px;
  margin: 0;
  margin-bottom: 0px;
}

.aca-strength-content > p {
  color: var(--Semantic-Label-Alternative, var(--Label-Alternative, rgba(55, 56, 60, 0.61)));
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 144.5%;
  letter-spacing: -0.004px;
  margin: 0;
  margin-bottom: 12px;
}

.aca-strength-component p {
  font-size: 14px;
  font-weight: 600;
  color: #666;
  margin: 0;
  margin-top: 16px;
}

.aca-strength-example {
  background: #F8F9FA;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 24px;
}

.example-list {
  margin-bottom: 16px;
}

.example-list p {
  margin: 8px 0;
  color: #333;
}

.example-detail {
  color: #666;
  font-size: 14px;
  line-height: 1.5;
}

.aca-strength-input {
  width: 94%;
  padding: 10px;
  height: 40px;
  border: 1px solid #E5E5E5;
  border-radius: 12px;
  font-size: 15px;
  line-height: 1.5;
  font-feature-settings: 'ss10' on;
  font-style: normal;
  font-weight: 400;
  line-height: 146.7%;
  letter-spacing: 0.144px;
  align-items: center;
  
  /* 입력된 텍스트 색상 */
  color: #171719;
}

/* placeholder 텍스트 색상 */
.aca-strength-input::placeholder {
  color: rgba(102, 102, 102, 0.28);
  font-feature-settings: 'ss10' on;
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 146.7%;
  letter-spacing: 0.144px;
}

.aca-strength-input:focus {
  outline: none;
  border-color: #00C73C;
}

.aca-strength-next-button {
  width: 100%;
  margin-top: 130px;
  padding: 16px;
  background: #00C73C;
  color: white;
  border: none;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 500;
  height: 48px;
  cursor: pointer;
}

.aca-strength-next-button.disabled {
  background: #E5E5E5;
  cursor: not-allowed;
  color: var(--Semantic-Label-Assistive, var(--Label-Assistive, rgba(55, 56, 60, 0.28)));
  font-feature-settings: 'ss10' on;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%; /* 24px */
  letter-spacing: 0.091px;
}

.aca-strength-write-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 16px;
  font-weight: 600;
  width: 100%;
  height: 40px;
  margin-top: 12px;
  border-radius: 10px;
  background: #ffffff;
  color: #00C73C;
  border: 1px solid #E5E5E5;
}

.aca-strength-write-button-icon {
  width: 24px;
  height: 24px;
}

.aca-strength-preview-container {
  width: 100%;
  height: 100px;
  margin-top: 50px;
  font-size: 17px;
  font-weight: 600;
  color: #666;
}

.aca-strength-preview-input {
  width: 94%;
  padding: 10px;
  height: 120px;
  border: 1px solid #E5E5E5;
  border-radius: 12px;
  font-size: 15px;
  line-height: 1.5;
  font-feature-settings: 'ss10' on;
  font-style: normal;
  font-weight: 400;
  line-height: 146.7%;
  letter-spacing: 0.144px;
  align-items: center;
  
  /* 입력된 텍스트 색상 */
  color: #171719;
}.adm-aca-preview-container {
  padding: 12px;
  background-color: #fff;
  padding-bottom: 200px;
}

.adm-aca-preview-header {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-bottom: 10px;
  padding: 10px 0;
}

.adm-aca-preview-back-button {
  position: absolute;
  left: 0px;
  background: none;
  border: none;
  padding: 8px;
} 

.adm-aca-preview-back-icon {
  width: 24px;
  height: 24px;
}

.adm-aca-preview-header-title {
  font-size: 18px;
  font-weight: 700;

}

.adm-aca-preview-title {
  font-size: 16px;
  font-weight: 700;
}

.adm-aca-preview-copy-icon {
  width: 20px;
  height: 20px;
}

.adm-aca-preview-share-button {
  background: none;
  border: none;
  padding: 8px;
  position: absolute;
  right: 0px;
  color: #00C853;
}

.adm-aca-preview-share-icon {
  width: 24px;
  height: 24px;
}

.adm-aca-preview-image-slider {
  position: relative;
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  touch-action: pan-y pinch-zoom;
  margin-bottom: 20px;
}

.adm-slider-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.3);
  color: white;
  border: none;
  padding: 10px 15px;
  cursor: pointer;
  font-size: 24px;
  z-index: 2;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.adm-slider-button:hover {
  background: rgba(0, 0, 0, 0.5);
}

.adm-slider-button.prev {
  left: 10px;
}

.adm-slider-button.next {
  right: 10px;
}

.adm-aca-preview-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
  border-radius: 10px;
}

.adm-aca-preview-image-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.3);
  color: white;
  border: none;
  padding: 10px 15px;
  cursor: pointer;
  z-index: 2;
}

.adm-aca-preview-image-nav.prev {
  left: 10px;
}

.adm-aca-preview-image-nav.next {
  right: 10px;
}

.adm-aca-preview-dots {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
}

.adm-aca-preview-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
}

.adm-aca-preview-dot.active {
  background: white;
}

.adm-aca-preview-info {
  margin-bottom: 20px;
}

.adm-aca-preview-title-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-bottom: 8px;
}

.adm-aca-preview-title-container h2 {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
}

.adm-aca-preview-star-icon {
  width: 24px;
  height: 24px;
  margin-left: 8px;
}


.adm-aca-preview-address-icon, .adm-aca-preview-phone-icon, .adm-aca-preview-website-icon {
  width: 30px;
  height: 30px;
}

.adm-aca-preview-address {
  color: #666;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.adm-aca-preview-phone, .adm-aca-preview-website {
  color: #666;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.adm-aca-preview-website-text{
  /* flex: 1; */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border-bottom: 1px solid #757575;
}

.adm-aca-preview-phone-text, .adm-aca-preview-address-text {
  /* flex: 1; */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.adm-aca-preview-call-icon {
  width: 24px;
  height: 24px;
}

.adm-aca-preview-call-button {
  width: 100%;
  padding: 10px;
  background-color: #00C853;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 15px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 15px;
}

.adm-aca-preview-section {
  margin-bottom: 20px;
}

.adm-aca-preview-section-title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 15px;
  padding: 10px 0;
  border-top: 1px solid #eee;
  color: #333;
}

.adm-aca-preview-info-grid {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 15px;
  background-color: #f8f9fa;
  padding: 15px;
  border-radius: 8px;
}

.adm-aca-preview-info-label {
  color: #666;
  font-weight: 500;
}

.adm-aca-preview-info-value {
  color: #333;
}

.adm-aca-preview-facility-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.adm-aca-preview-facility {
  margin-top: 14px;
  border-top: 2px solid #eee;
  padding: 10px 0;
}

.adm-aca-preview-facility-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  gap: 8px;
  color: #333;
}

.adm-aca-preview-facility-label {
  color: #666;
  font-size: 14px;
}

.adm-aca-preview-facility-value {
  color: #333;
  font-size: 14px;
}

.adm-aca-preview-facility-status {
  color: #00C853;
}

.adm-aca-preview-facility-status.unavailable {
  color: #999;
}

.adm-aca-preview-facility-title {
  font-size: 18px;
  font-weight: 900;
  color: #333;
  margin-bottom: 16px;
}
.adm-aca-preview-category-tag {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 12px;
  background-color: #eaebea;
  color: rgb(107, 107, 107);
  font-size: 14px;
  font-weight: 500;
}

.adm-aca-preview-strength {
  background-color: #ffffff;
  border-radius: 8px;
}

.adm-aca-preview-strength-title {
  font-size: 16px;
  font-weight: bold;
  color: #22a71d;
  margin-bottom: 8px;
}

.adm-aca-preview-strength-content {
  font-size: 14px;
  color: #666;
  line-height: 1.5;
}

.adm-aca-preview-operation {
  border-top: 2px solid #eee;
  padding: 10px 0;
  margin-top: 20px;
}

.adm-aca-preview-operation-title {
  font-size: 18px;
  font-weight: 900;
  color: #333;
  margin-bottom: 16px;
}

.adm-aca-preview-operation-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
}

.adm-aca-preview-operation-label {
  color: #666;
  font-size: 14px;
}

.adm-aca-preview-operation-value {
  color: #333;
  font-size: 14px;
}

.adm-aca-preview-operation-value.highlight {
  color: #00C73C;
  font-weight: 500;
  font-size: 14px;
}

.adm-aca-preview-class {
  border-top: 2px solid #eee;
  padding: 10px 0;
  margin-top: 20px;
}

.adm-aca-preview-class-title {
  font-size: 18px;
  font-weight: bold;
  color: #333;
  margin-bottom: 16px;
}

.adm-aca-preview-class-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

.adm-aca-preview-class-item {
  background-color: #f8f9fa;
  padding: 16px;
  border-radius: 8px;
}

.adm-aca-preview-class-label {
  color: #666;
  font-size: 14px;
  margin-bottom: 4px;
}

.adm-aca-preview-class-value {
  color: #333;
  font-size: 14px;
  font-weight: 700;
}

.adm-aca-preview-business {
  background: white;
  padding: 10px 0;
}

.adm-aca-preview-business-grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.adm-aca-preview-business-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.adm-aca-preview-business-label {
  color: #666;
  font-size: 14px;
}

.adm-aca-preview-business-value {
  font-size: 14px;
}

.adm-aca-preview-business-button {
  width: 100%;
  padding: 12px;
  margin-top: 16px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: white;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 14px;
}

.adm-aca-preview-business-button img {
  width: 20px;
  height: 20px;
}

.adm-aca-preview-modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.7);
  display: flex;
  justify-content: center;
  align-items: flex-start;
  z-index: 1000;
}

.adm-aca-preview-modal-content {
  width: 90%;
  max-width: 400px;
  background-color: white;
  border-radius: 16px;
  padding: 20px;
  position: relative;
  margin-top: 60px;
  animation: slideDown 0.3s ease-out;
}

.adm-aca-preview-modal-close {
  position: absolute;
  right: 15px;
  top: 15px;
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
}

.adm-aca-preview-modal-title {
  margin-bottom: 15px;
  font-size: 18px;
  font-weight: bold;
}

.adm-aca-preview-modal-image-container {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.adm-aca-preview-modal-image {
  width: 100%;
  max-height: 500px;
  object-fit: contain;
}

@keyframes slideDown {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}

.adm-aca-preview-bottom-modal {
  position: fixed;
  bottom: 0;
  left: 327px;
  right: 10px;
  background: white;
  padding: 20px;
  border-top: 1px solid #eee;
  z-index: 1000;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
  border-radius: 20px;
  max-width: 560px;
  margin: 0 auto;
}

@media screen and (max-width: 1100px) {
  .adm-aca-preview-bottom-modal {
    left: 0;
    right: 0;
    max-width: 560px;
  }
}

.adm-aca-preview-bottom-modal-title {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 15px;
}

.adm-aca-preview-bottom-modal-buttons {
  display: flex;
  gap: 10px;
}

.adm-aca-preview-reject-button,
.adm-aca-preview-approve-button {
  flex: 1;
  padding: 15px;
  border-radius: 8px;
  border: none;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
}

.adm-aca-preview-reject-button {
  background-color: white;
  border: 1px solid #ddd;
  color: #666;
}

.adm-aca-preview-approve-button {
  background-color: #00C73C;
  color: white;
}

.adm-aca-auth-page-2-container { 
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100vh;
  background-color: white;
  position: relative;
  padding-top: env(safe-area-inset-top);
  overflow-x: hidden;
  overflow-y: auto;

}

.adm-aca-auth-page-2-header {
  width: 100%;
  height: 56px;
  padding: 0 20px;
  display: flex;
  align-items: center;
}

.adm-aca-auth-page-2-content-wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  padding-bottom: 80px;
}

.adm-aca-auth-page-2-back-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 24px;
  height: 24px;
  left: 20px;
}

.adm-aca-auth-page-2-back-icon {
  width: 24px;
  height: 24px;
}

.adm-aca-auth-page-2-header-title {
  font-size: 16px;
  font-weight: 600;
  color: #000000;
  position: absolute;
  text-align: center;
  left: 50%;
  transform: translateX(-50%);
}

.adm-aca-auth-page-2-progress-bar {
  align-items: center;
  justify-content: center;
  height: 5px;
  width: 100%;
  background: var(--Line-Solid-Neutral, #EAEBEC);
}

.adm-aca-auth-page-2-progress-fill {
  height: 100%;
  width: 33%;
  background-color: #00BF40;
  transition: width 0.3s ease;
  border-radius: 10px;
}

.adm-aca-auth-page-2-registration-form {
  padding: 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0px;
  margin-top: 10px;
}

.adm-aca-auth-page-2-form-group {
  width: 100%;
  padding-bottom: 20px;
  color: var(--Label-Alternative, rgba(55, 56, 60, 0.61));
  font-feature-settings: 'ss10' on;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 142.9%;
  letter-spacing: 0.203px;
}

.adm-aca-auth-page-2-form-group label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #171719;
}

.adm-aca-auth-page-2-required {
  color: #FF0000;
  margin-left: 2px;
}

.adm-aca-auth-page-2-input-field {
  width: 100%;
  border: 1px solid rgba(112, 115, 124, 0.22);
  border-radius: 8px;
  font-size: 14px;
  display: flex;
  padding: 13px 12px;
  align-items: center;
  box-sizing: border-box;
}

.adm-aca-auth-page-2-input-field::placeholder {
  color: rgba(55, 56, 60, 0.61);
}

.adm-aca-auth-page-2-phone-input-group,
.adm-aca-auth-page-2-address-input-group {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
}

.adm-aca-auth-page-2-verification-button,
.adm-aca-auth-page-2-search-button {
  padding: 12px 16px;
  background-color: #ffffff;
  border: 1px solid #e2e5e3;
  font-weight: 600;
  border-radius: 8px;
  color: #272626;
  font-size: 14px;
  white-space: nowrap;
  cursor: pointer;
}

.adm-aca-auth-page-2-button-group {
  margin-bottom: 40px;
  margin-left: 20px;
  width: calc(100% - 40px);
  background: transparent;
  z-index: 100;
}

.adm-aca-auth-page-2-next-button {
  width: 100%;
  padding: 12px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
  background: #00BF40;
  color: #FFFFFF;
  font-feature-settings: 'ss10' on;
  border: none;
}

.adm-aca-auth-page-2-next-button.disabled {
  background: #F4F4F4;
  color: #9CA3AF; /* 비활성화 상태의 텍스트 색상 */
  cursor: not-allowed;
}

.adm-aca-auth-page-2-postal-code {
  width: 100%;  /* 우편번호 입력창 너비 조정 */
  border: 1px solid rgba(112, 115, 124, 0.22);
  border-radius: 8px;
  font-size: 14px;
  padding: 13px 12px;
  background-color: #F9F9FB;
  color: #171719;
}

.adm-aca-auth-page-2-address-input-group {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
  align-items: center;
}

.adm-aca-auth-page-2-input-field[readonly] {
  background-color: #F9F9FB;
  color: #171719;
}

.adm-aca-auth-page-2-verification-button.disabled {
  background-color: #F4F4F4;
  color: #9CA3AF;
  cursor: not-allowed;
}

.adm-aca-auth-page-2-search-button:hover {
  opacity: 0.9;
}

.verification-success {
  color: #00BF40;
  font-size: 12px;
  margin-top: 4px;
  margin-bottom: 0;
}

.adm-aca-auth-page-2-input-field:disabled {
  background-color: #F4F4F4;
  cursor: not-allowed;
}

/* Daum 우편번호 서비스 스타일 오버라이드 */
#layer {
  width: 100% !important;
  height: 100% !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  overflow-y: auto !important;
}

#btnCloseLayer {
  position: fixed !important;
  top: 20px !important;
  right: 20px !important;
  width: 24px !important;
  height: 24px !important;
}

.info {
  display: none !important; /* 하단 정보 숨기기 */
}

/* 파일 업로드 관련 스타일 추가 */
.adm-aca-auth-page-2-file-upload-container {
  width: 100%;
  margin-top: 8px;
}

.adm-aca-auth-page-2-file-upload-wrapper {
  width: 100%;
  min-height: 80px;
  display: flex;
  gap: 12px;
  box-sizing: border-box;
}

.adm-aca-auth-page-2-file-upload-button {
  position: relative;
  display: flex;
  width: 103px;
  height: 77px;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  border: 1px dashed rgba(112, 115, 124, 0.22);
  background: #FFF;
  cursor: pointer;
  overflow: hidden;
}

.adm-aca-auth-page-2-plus-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 24px;
  height: 24px;
}

.adm-aca-auth-page-2-preview-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.adm-aca-auth-page-2-remove-file-button {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  z-index: 1;
}

.adm-aca-auth-page-2-remove-file-button:hover {
  background: rgba(0, 0, 0, 0.7);
}

.adm-aca-auth-page-2-file-info-wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.adm-aca-auth-page-2-file-upload-guide,
.adm-aca-auth-page-2-uploaded-title {
  color: rgba(55, 56, 60, 0.61);
  font-size: 12px;
  line-height: 1.5;
}

.adm-aca-auth-page-2-uploaded-filename {
  color: #171719;
  font-size: 12px;
  margin-top: auto;
}

/* 위치 관련 스타일 수정 */
.adm-aca-auth-page-2-location-container {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.adm-aca-auth-page-2-select {
  flex: 1;
  height: 44px;
  padding: 0 16px;
  border: 1px solid #EAEBEC;
  border-radius: 8px;
  font-size: 14px;
  background: white;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2337383C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px 8px;
}

.adm-aca-auth-page-2-select.full-width {
  width: 100%;
  border: 1px solid rgba(112, 115, 124, 0.22);
  border-radius: 8px;
  font-size: 14px;
  display: flex;
  padding: 13px 12px;
  align-items: center;
  box-sizing: border-box;
}

.adm-aca-auth-page-2-select:disabled {
  background-color: #ffffff;
  color: #9ea5b1;
  cursor: not-allowed;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%239CA3AF' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.adm-aca-auth-page-2-input-field {
  width: 100%;
  border: 1px solid rgba(112, 115, 124, 0.22);
  border-radius: 8px;
  font-size: 14px;
  display: flex;
  padding: 13px 12px;
  align-items: center;
  box-sizing: border-box;
}

.adm-aca-auth-page-2-input-field::placeholder {
  color: rgba(55, 56, 60, 0.61);
}

.adm-aca-auth-page-2-input-field[readonly] {
  background-color: #F9F9FB;
  color: #171719;
}

/* 드롭다운 화살표 스타일 */
.adm-aca-auth-page-2-select {
  appearance: none;
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 16px;
}

.adm-aca-auth-page-2-select option {
  padding: 8px;
}

/* 필수 입력 표시 스타일 */
.adm-aca-auth-page-2-required {
  color: #FF0000;
  margin-left: 2px;
}

/* 폼 그룹 스타일 */
.adm-aca-auth-page-2-form-group {
  width: 100%;
  padding-bottom: 20px;
  color: var(--Label-Alternative, rgba(55, 56, 60, 0.61));
  font-feature-settings: 'ss10' on;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 142.9%;
  letter-spacing: 0.203px;
}

.adm-aca-auth-page-2-form-group label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #171719;
}

.adm-aca-auth-page-2-loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.adm-aca-auth-page-2-loading-spinner {
  width: 50px;
  height: 50px;
  border: 4px solid rgba(0, 191, 64, 0.3);
  border-radius: 50%;
  border-top-color: #00BF40;
  animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}.adm-aca-auth-page-4-container { 
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100vh;
  background-color: white;
  position: relative;
  padding-top: env(safe-area-inset-top);
  overflow-x: hidden;
  max-width: 560px;  /* 컨테이너 최대 너비 설정 */
  margin: 0 auto;    /* 중앙 정렬 */
}

.adm-aca-auth-page-4-header {
  width: 100%;
  height: 56px;
  padding: 0 20px;
  display: flex;
  align-items: center;

  top: 0;
  left: 0;
  right: 0;
  background: white;
  z-index: 10;
}

.adm-aca-auth-page-4-back-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 24px;
  height: 24px;
  left: 10px;
}

.adm-aca-auth-page-4-back-icon {
  width: 24px;
  height: 24px;
}

.adm-aca-auth-page-4-header-title {
  font-size: 16px;
  font-weight: 600;
  color: #000000;
  text-align: center;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.adm-aca-auth-page-4-registration-form {
  padding: 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
  margin-top: 6px;
}

.adm-aca-auth-page-4-form-group {
  width: 100%;
  padding-bottom: 20px;
  color: var(--Label-Alternative, rgba(55, 56, 60, 0.61));
  font-feature-settings: 'ss10' on;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 142.9%; /* 20.006px */
  letter-spacing: 0.203px;
}

.adm-aca-auth-page-4-form-group label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #171719;
}

.adm-aca-auth-page-4-required {
  color: #FF0000;
}

.adm-aca-auth-page-4-images-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 16px;
}

.adm-aca-auth-page-4-upload-box {
  aspect-ratio: 4/3;
  border: 1px dashed rgba(112, 115, 124, 0.22);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: #FFF;
  position: relative;
}

.adm-aca-auth-page-4-image-preview-box {
  position: relative;
  aspect-ratio: 4/3;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(112, 115, 124, 0.22);
}

.adm-aca-auth-page-4-preview-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.adm-aca-auth-page-4-remove-image-button {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  z-index: 1;
}

.adm-aca-auth-page-4-remove-image-button:hover {
  background: rgba(0, 0, 0, 0.7);
}

.adm-aca-auth-page-4-plus-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 24px;
  height: 24px;
}

.adm-aca-auth-page-4-upload-guide {
  margin-top: 16px;
  color: rgba(55, 56, 60, 0.61);
  font-size: 12px;
  line-height: 1.5;
}

.adm-aca-auth-page-4-upload-guide p {
  margin: 4px 0;
  color: rgba(55, 56, 60, 0.61);
  font-family: "Pretendard JP";
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 18px;
}

.adm-aca-auth-page-4-button-group {
  /* flex: 1; */
  position: flex;
  bottom: 80px;
  left: 0;
  right: 30px;
  margin-top: 30px;
  padding: 16px 0px; 
  background: white;
  display: flex;
  gap: 12px;
}

.adm-aca-auth-page-4-next-button {
  position: relative;


  width: 100%;
  margin: auto;
  padding: 12px 28px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
  background: #00BF40;
  color: #FFFFFF;
  font-feature-settings: 'ss10' on;
  border: none;
  max-width: 560px;
}

.adm-aca-auth-page-4-next-button.disabled {
  background: #F4F4F4;
  color: #9CA3AF; /* 비활성화 상태의 텍스트 색상 */
  cursor: not-allowed;
}

.adm-aca-auth-page-4-loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.adm-aca-auth-page-4-loading-spinner {
  width: 50px;
  height: 50px;
  border: 4px solid rgba(0, 191, 64, 0.3);
  border-radius: 50%;
  border-top-color: #00BF40;
  animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.adm-aca-auth-page-4-thumbnail-container {
  display: flex;
  gap: 16px;
  margin-top: 8px;
}

.adm-aca-auth-page-4-thumbnail-preview-box {
  width: calc((100% - 16px) * 0.3);  /* 컨테이너의 40% 너비 */
  aspect-ratio: 3/4;  /* 3:4 비율 설정 */
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  background-color: #f5f5f5;
}

.adm-aca-auth-page-4-thumbnail-preview {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 썸네일용 업로드 박스 스타일 */
.adm-aca-auth-page-4-thumbnail-container .adm-aca-auth-page-4-upload-box {
  width: calc((100% - 16px) * 0.3);  /* 컨테이너의 40% 너비 */
  aspect-ratio: 3/4;  /* 3:4 비율 설정 */
}.adm-aca-category-container {
  padding: 20px;
  max-width: 600px;
  margin: 0 auto;
}

.adm-aca-category-header {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 48px;
    width: 100%;
    position: relative;
}

.adm-aca-category-back-button {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 24px;
    height: 24px;
    left: 4px;
}

.adm-aca-category-back-button img {
  width: 24px;
  height: 24px;
}

.adm-aca-category-header span {
    margin-left: 0;
    font-size: 17px;
    font-weight: 700;
}

.adm-aca-category-content h1 {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 8px;
}

.adm-aca-category-content > p {
  color: #666;
  margin-bottom: 40px;
}

.adm-aca-category-buttons {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 160px;
  margin-bottom: 33px;
}

.adm-aca-category-button {
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  width: 100%;
}

.adm-aca-category-button-image {
  width: 100%;
  height: auto;
  border-radius: 16px;
}

/* 호버 효과 (선택사항) */
.adm-aca-category-button:hover {
  opacity: 0.9;
}

.adm-aca-category-icon {
  width: 48px;
  height: 48px;
  margin-right: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.adm-aca-category-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.adm-aca-category-info {
  flex: 1;
}

.adm-aca-category-info h3 {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 4px;
}

.adm-aca-category-info p {
  font-size: 14px;
  color: #666;
  margin: 0;
}
.adm-aca-dashboard-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100vh;
  height: 100%;
  background-color: #f5f5f5;
  overflow: hidden;
}

.adm-aca-dashboard-content{
  display: flex;
  flex-direction: column;
  width: 100%;
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding-bottom: 30px;
  min-height: 0;
}

.adm-aca-dashboard-content-wrapper {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding-bottom: 30px;
  min-height: 0;
}

.adm-aca-dashboard-header {
  width: 100%;
  height: 56px;
  padding: 0 20px;
  right: 18px;
  display: flex;
  align-items: center;
  position: relative;
  background-color: #fff;
  border-bottom: 1px solid #eee;
}

.adm-aca-dashboard-back-button {
  background: none;
  border: none;
  padding: 8px;
  cursor: pointer;
}

.adm-aca-dashboard-back-button img {
  width: 20px;
  height: 20px;
}

.adm-aca-dashboard-header-title {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  font-size: 16px;
  font-weight: 600;
  color: #171719;
}

.adm-aca-dashboard-metric-selector {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 8px 16px;
  background-color: #fff;

  margin-left: 10px;
  margin-right: 10px;
  border-radius: 10px;
  /* margin-top: 30px; */
  margin-bottom: 10px;
}

.adm-aca-dashboard-metric-button {
  padding: 9px 20px;
  border-radius: 8px;
  border: none;
  font-size: 15px;
  font-weight: 600;
  text-align: center;
  background-color: transparent;
  color: rgba(55, 56, 60, 0.61);
}

.adm-aca-dashboard-metric-button.active {
  background-color: #00BF40;
  color: white;
}

.adm-aca-dashboard-metric-button.disabled {
  background-color: #f5f5f5;
  color: #999;
}

.adm-aca-dashboard-period-selector {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
  padding: 8px 16px;
  background-color: #fff;
  margin-left: 10px;
  margin-right: 10px;
  border-radius: 10px;
  margin-bottom: 10px;
}

.adm-aca-dashboard-period-button {
  flex: 1;
  padding: 9px 20px;
  border-radius: 8px;
  border: none;
  font-size: 14px;
  cursor: pointer;
  background-color: transparent;
  color: rgba(55, 56, 60, 0.61);
}

.adm-aca-dashboard-period-button.active {
  background-color: #00BF40;
  color: white;
}

.adm-aca-dashboard-stats-section {
  background-color: #fff;
  margin-top: 12px;
  padding: 16px;
  margin-left: 10px;
  margin-right: 10px;
  border-radius: 10px;
  padding-bottom: 24px;
  margin-bottom: 30px;
}

.adm-aca-dashboard-date-navigator {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.adm-aca-dashboard-nav-button {
  border: none;
  background: none;
  font-size: 18px;
  color: #666;
  cursor: pointer;
}

.adm-aca-dashboard-date-range {
  font-size: 14px;
  font-weight: 500;
}

.adm-aca-dashboard-stats-summary {
  padding: 0 16px;
}

.adm-aca-dashboard-stats-total {
  display: flex;
  gap: 8px;
  flex-direction: column; 
  align-items: baseline;
}

.adm-aca-dashboard-highlight {
  color: #00BF40;
  font-size: 20px;
  font-weight: bold;
}

.adm-aca-dashboard-stats-graph {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  height: 200px;
  margin: 12px 0;
  padding: 0 18px;
}

.adm-aca-dashboard-graph-bar-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 40px;
}

.adm-aca-dashboard-graph-bar {
  width: 32px;
  background-color: #00BF40;
  border-radius: 8px;
  transition: height 0.3s ease;
  min-height: 1px;
}

.adm-aca-dashboard-graph-label {
  margin-top: 8px;
  font-size: 12px;
  color: #666;
}

/* 월별 그래프를 위한 새로운 스타일 */
.adm-aca-dashboard-stats-graph.monthly {
  height: 220px;
  justify-content: flex-start;
  overflow-x: auto;
  padding-bottom: 12px;
  margin-top: 30px;
}

.adm-aca-dashboard-stats-graph.monthly .adm-aca-dashboard-graph-bar-container {
  flex-shrink: 0;  /* 그래프 바가 줄어들지 않도록 설정 */
  margin-right: 8px;  /* 바 사이의 간격 */
}

.adm-aca-dashboard-stats-graph.monthly .adm-aca-dashboard-graph-bar-container:last-child {
  margin-right: 0;  /* 마지막 바의 오른쪽 마진 제거 */
}

.adm-aca-dashboard-count-label {
  margin-top: 4px;
  font-size: 14px;
  color: #333;
}

.adm-aca-dashboard-current-date {
  padding: 16px;
  display: flex;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid #eee;
  font-size: 13px;
  color: #333;
}

.adm-aca-dashboard-daily-count {
  color: #666;
}

.adm-aca-dashboard-student-types {
  padding-top: 16px;
}

.adm-aca-dashboard-student-types h3 {
  margin-bottom: 16px;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 12px;
  color: #333;
}

.adm-aca-dashboard-student-type-row {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  font-size: 14px;
}

.adm-aca-dashboard-type-name {
  color: #333;
}

.adm-aca-dashboard-type-count {
  color: #666;
}

.adm-aca-dashboard-age-section {
  background-color: transparent;  /* 배경색 제거 */
  padding: 0;  /* 패딩 제거 */
  margin: 0;  /* 마진 제거 */
  width: 100%;  /* 너비 100%로 설정 */
}

.adm-aca-dashboard-age-section {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 12px;
  color: #333;
}

.adm-aca-dashboard-age-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.adm-aca-dashboard-age-row {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  font-size: 14px;
}

/* 추가된 부분 */
.adm-aca-dashboard-age-tabs-section {
  margin-bottom: 10px;
  padding: 0; 
}

.adm-aca-dashboard-age-tabs-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
  padding: 8px;
  background-color: #fff;
  border-radius: 10px;
  width: 80%;
  margin: 0;  
  position: relative; 
  left: -8px; 
}

.adm-aca-dashboard-age-tab {
  white-space: nowrap; 
  min-width: fit-content;
  padding: 7px 14px;
  border-radius: 6px;
  border: none;
  font-size: 13px;
  font-weight: 500;
  text-align: center;
  background-color: #f5f5f5;
  color: #999;
  cursor: pointer;
}

.age-tab.active {
  background-color: #00BF40;
  color: white;
}

.adm-aca-dashboard-age-distribution {
  margin-top: 6px;
}

.adm-aca-dashboard-age-row {
  display: flex;
  align-items: center;
  padding: 6px 0;
}

.adm-aca-dashboard-age-label {
  width: 80px;
  font-size: 14px;
  color: rgba(55, 56, 60, 0.61);
}

.adm-aca-dashboard-progress-bar-container {
  flex: 1;
  height: 6px;
  background-color: #EAEBEC;
  border-radius: 4px;
  margin-right: 12px;
  overflow: hidden;
}

.adm-aca-dashboard-progress-bar {
  height: 100%;
  background-color: #00BF40;
  border-radius: 4px;
}

.adm-aca-dashboard-percentage {
  width: 40px;
  font-size: 14px;
  color: rgba(55, 56, 60, 0.61);
  text-align: right;
}

.adm-aca-dashboard-stats-title {
  font-size: 18px;
  font-weight: 600;
  color: #171719;
  margin-top: 12px;
  margin-bottom: 12px;
}


.adm-aca-partner-news-header {

  align-items: center;
  margin-bottom: 4px;
  font-size: 15px;
  font-weight: 600;
  color: #7a7a7a;
  margin-left: 18px;
}

.adm-aca-partner-news-input-container {
  display: flex;
  align-items: center;
  flex-direction: row;
  position: relative;
  width: calc(100% - 32px);
  margin: 0 16px;
  margin-bottom: 16px;
}

.adm-aca-partner-news-input {
  flex: 1;
  padding: 16px;
  border-radius: 12px;
  border: 1px solid #E8E8E8;
  font-size: 14px;
  color: #171719;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  box-sizing: border-box;
  margin: 0;
}

.adm-aca-partner-news-add-button {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: rgb(138, 138, 138);
  border: none;
  background: none;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  padding: 0;
  margin: 0;
}

.adm-aca-partner-youtube-header {
  align-items: center;
  margin-bottom: 4px;
  font-size: 15px;
  font-weight: 600;
  color: #7a7a7a;
  margin-left: 18px;
}

.adm-aca-partner-youtube-input-container {
  display: flex;
  align-items: center;
  flex-direction: row;
  position: relative;
  width: calc(100% - 32px);
  margin: 0 16px;
  margin-bottom: 16px;
}

.adm-aca-partner-youtube-input {
  flex: 1;
  padding: 16px;
  border-radius: 12px;
  border: 1px solid #E8E8E8;
  font-size: 14px;
  color: #171719;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  box-sizing: border-box;
  margin: 0;
}

.adm-aca-partner-youtube-add-button {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: rgb(138, 138, 138);
  border: none;
  background: none;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  padding: 0;
  margin: 0;
}

/* 파트너사 설정 섹션 */
.adm-aca-partner-section {
  background: #fff;
  padding: 16px;
  margin: 16px;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.adm-aca-partner-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
}

.partner-icon-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
}

.partner-icon {
  width: 20px;
  height: 20px;
}

.partner-description {
  color: #666;
  font-size: 13px;
  margin: 0;
}

/* 토글 스위치 스타일 */
.switch {
  position: relative;
  display: inline-block;
  width: 44px;
  height: 22px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: .4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 2px;
  bottom: 2px;
  background-color: white;
  transition: .4s;
}

.slider.round {
  border-radius: 22px;
}

.slider.round:before {
  border-radius: 50%;
}

input:checked + .slider {
  background-color: #00BF40;
}

input:checked + .slider:before {
  transform: translateX(22px);
}

/* 파트너사 퍼센트 설정 섹션 - 별도 섹션으로 분리 */
.adm-aca-partner-percent-section {
  background: #fff;
  padding: 20px 16px;
  margin: 0 16px 16px;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.percent-slider-container {
  padding: 0 10px;
  width: 75%;
}

.percent-description {
  font-size: 14px;
  font-weight: 500;
  color: #666;
  background: none;
  margin-bottom: 1px;
  border: 1px solid #12ad26;
  border-radius: 8px;
  padding: 10px;
  text-align: center;
  cursor: pointer;
}

.percent-description:hover {
  background-color: #00BF40;
  color: white;
}

.percent-slider {
  width: 100%;
  height: 4px;
  -webkit-appearance: none;
  background: #e9ecef;
  border-radius: 2px;
  outline: none;
  margin: 10px 0;
}

.percent-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 24px;
  height: 24px;
  border: 2px solid #00BF40;
  background: white;
  border-radius: 50%;
  cursor: pointer;
  margin-top: -10px; /* 중앙 정렬을 위한 조정 */
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.percent-slider::-moz-range-thumb {
  width: 24px;
  height: 24px;
  border: 2px solid #00BF40;
  background: white;
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

/* 슬라이더 track 스타일링 */
.percent-slider::-webkit-slider-runnable-track {
  height: 4px;
  border-radius: 2px;
  background: linear-gradient(to right, #00BF40 var(--percent), #E8E8E8 var(--percent));
}

.percent-slider::-moz-range-track {
  height: 4px;
  border-radius: 2px;
}

/* 퍼센트 마커 스타일링 */
.percent-markers {
  display: flex;
  justify-content: space-between;
  padding: 0;
  margin-top: 8px;
  position: relative;
}

.percent-markers span {
  color: #666;
  font-size: 14px;
  font-weight: 500;
}

/* 삭제 버튼 섹션 */
.adm-aca-delete-section {
  padding: 20px;
  margin: 10px;
  display: flex;
  justify-content: center;
}

.adm-aca-delete-button {
  width: 100%;
  padding: 15px;
  background: none;
  border: none;
  color: #666;
  font-size: 16px;
  cursor: pointer;
  border-radius: 8px;
  border: 1px solid #ddd;
}

.adm-aca-delete-button:hover {
  background-color: #f5f5f5;
}

/* 모달 오버레이 */
.delete-modal-overlay {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: flex-end;
  z-index: 1000;
  height: 100%;
}

/* 모달 컨테이너 */
.delete-modal {
  background-color: white;
  width: 100%;
  padding: 24px 16px;
  border-radius: 16px 16px 0 0;
  animation: slideUp 0.3s ease-out;
}

/* 모달 제목 */
.delete-modal-title {
  font-size: 16px;
  font-weight: 500;
  color: #171719;
  margin-bottom: 16px;
  text-align: center;
}

/* 모달 콘텐츠 */
.delete-modal-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* 모달 입력 필드 */
.delete-modal-input {
  width: 93%;
  padding: 12px;
  border: 1px solid #E8E8E8;
  border-radius: 8px;
  font-size: 14px;
  color: #171719;
  background-color: #F8F8F8;
}

.delete-modal-input::placeholder {
  color: #666;
}

/* 삭제 버튼 */
.delete-modal-button {
  width: 100%;
  padding: 14px;
  background-color: #FF3B30;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

/* 비활성화된 삭제 버튼 */
.delete-modal-button.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background-color: #999;
}

/* 슬라이드 업 애니메이션 */
@keyframes slideUp {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}

/* 주요 통계 섹션 스타일 추가 */
.adm-aca-dashboard-stats-container {
  margin-top: 20px;
}

.adm-aca-dashboard-stats-title {
  font-size: 18px;
  font-weight: 600;
  color: #171719;
  margin-bottom: 16px;
}

.adm-aca-dashboard-age-section {
  margin-top: 16px;
}

.adm-aca-dashboard-age-tabs-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
  padding: 8px;
  background-color: #fff;
  border-radius: 10px;
  width: 100%;
  margin-bottom: 16px;
}

.adm-aca-dashboard-age-tab {
  padding: 7px 14px;
  border-radius: 6px;
  border: none;
  font-size: 13px;
  font-weight: 500;
  text-align: center;
  background-color: #f5f5f5;
  color: #999;
  cursor: pointer;
}

.adm-aca-dashboard-age-tab.active {
  background-color: #00BF40;
  color: white;
}

.adm-aca-dashboard-age-distribution {
  margin-top: 16px;
}

.adm-aca-dashboard-age-row {
  display: flex;
  align-items: center;
  padding: 6px 0;
}

.adm-aca-dashboard-age-label {
  width: 80px;
  font-size: 14px;
  color: rgba(55, 56, 60, 0.61);
}

.adm-aca-dashboard-progress-bar-container {
  flex: 1;
  height: 6px;
  background-color: #EAEBEC;
  border-radius: 4px;
  margin-right: 12px;
  overflow: hidden;
}

.adm-aca-dashboard-progress-bar {
  height: 100%;
  background-color: #00BF40;
  border-radius: 4px;
}

.adm-aca-dashboard-percentage {
  width: 40px;
  font-size: 14px;
  color: rgba(55, 56, 60, 0.61);
  text-align: right;
}
.adm-aca-strength-container {
  width: 100%;
  min-height: 100vh;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
}

.adm-aca-strength-header {
  padding: 12px;
  display: flex;
  align-items: center;
  background-color: #ffffff;
  position: sticky;
  top: 0;
  z-index: 100;
}

.adm-aca-strength-back-button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
}

.adm-aca-strength-back-button img {
  width: 24px;
  height: 24px;
}

.adm-aca-strength-header span {
  flex: 1;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  margin-right: 24px;
}

.adm-aca-strength-content {
  padding: 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.adm-aca-strength-content h1 {
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 8px;
}

.adm-aca-category-highlight-message {
  background-color: #F8F9FA;
  padding: 16px;
  border-radius: 8px;
  margin: 16px 0;
  font-size: 14px;
  color: #666;
}

.adm-aca-strength-component {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 24px;
}

.adm-aca-strength-component p {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 8px;
  color: #333;
}

.adm-aca-strength-input {
  width: 93%;
  height: 50px;
  padding: 12px;
  border: 1px solid #E9ECEF;
  border-radius: 8px;
  resize: none;
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 8px;
}

.adm-aca-strength-input::placeholder {
  color: #ADB5BD;
}

.adm-aca-strength-input:focus {
  outline: none;
  border-color: #00C73C;
}

.adm-aca-strength-next-button {
  width: 100%;
  padding: 16px;
  background-color: #00C73C;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  margin-top: auto;
}

.adm-aca-strength-next-button.disabled {
  background-color: #ececec;
  cursor: not-allowed;
}

.adm-aca-strength-next-button:hover:not(.disabled) {
  background-color: #00B334;
}

.adm-aca-strength-write-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 16px;
  font-weight: 600;
  width: 100%;
  height: 40px;
  margin-top: 12px;
  border-radius: 10px;
  background: #ffffff;
  color: #00C73C;
  border: 1px solid #E5E5E5;
}

.adm-aca-strength-write-button-icon {
  width: 24px;
  height: 24px;
}

.adm-aca-strength-preview-container {
  width: 100%;
  margin-top: 50px;
}

.adm-aca-strength-preview-container p {
  font-size: 16px;
  font-weight: 600;
  color: #333;
  margin-bottom: 8px;
}

.adm-aca-strength-preview-input {
  width: 93%;
  height: 120px;
  padding: 12px;
  border: 1px solid #E9ECEF;
  border-radius: 8px;
  resize: none;
  font-size: 14px;
  line-height: 1.5;
  color: #333;
  margin-bottom: 30px;
}

.adm-aca-strength-preview-input::placeholder {
  color: #ADB5BD;
}
.adm-aca-strength-edit-container {
  width: 100%;
  min-height: 100vh;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
}

.adm-aca-strength-edit-header {
  padding: 12px;
  display: flex;
  background-color: #ffffff;
  position: sticky;
  top: 0;
  z-index: 100;
}

.adm-aca-strength-edit-back-button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0px;
}

.adm-aca-strength-edit-back-button img {
  width: 24px;
  height: 24px;
}

.adm-aca-strength-edit-header span {
  flex: 1;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  margin-right: 24px;
}

.adm-aca-strength-edit-content {
  padding: 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.adm-aca-strength-edit-content h1 {
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 8px;
}

.adm-aca-strength-edit-category-highlight-message {
  background-color: #F8F9FA;
  padding: 16px;
  border-radius: 8px;
  margin: 16px 0;
  font-size: 14px;
  color: #666;
}

.adm-aca-strength-edit-component {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 24px;
}

.adm-aca-strength-edit-component p {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 8px;
  color: #333;
}

.adm-aca-strength-edit-input {
  width: 93%;
  height: 50px;
  padding: 12px;
  border: 1px solid #E9ECEF;
  border-radius: 8px;
  resize: none;
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 8px;
}

.adm-aca-strength-edit-input::placeholder {
  color: #ADB5BD;
}

.adm-aca-strength-edit-input:focus {
  outline: none;
  border-color: #00C73C;
}

.adm-aca-strength-edit-next-button {
  width: 100%;
  padding: 16px;
  background-color: #00C73C;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  margin-top: auto;
}

.adm-aca-strength-edit-next-button.disabled {
  background-color: #ececec;
  cursor: not-allowed;
}

.adm-aca-strength-edit-next-button:hover:not(.disabled) {
  background-color: #00B334;
}

.adm-aca-strength-edit-write-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 16px;
  font-weight: 600;
  width: 100%;
  height: 40px;
  margin-top: 12px;
  border-radius: 10px;
  background: #ffffff;
  color: #00C73C;
  border: 1px solid #E5E5E5;
}

.adm-aca-strength-edit-write-button-icon {
  width: 24px;
  height: 24px;
}

.adm-aca-strength-edit-preview-container {
  width: 100%;
  margin-top: 50px;
}

.adm-aca-strength-edit-preview-container p {
  font-size: 16px;
  font-weight: 600;
  color: #333;
  margin-bottom: 8px;
}

.adm-aca-strength-edit-preview-input {
  width: 93%;
  height: 120px;
  padding: 12px;
  border: 1px solid #E9ECEF;
  border-radius: 8px;
  resize: none;
  font-size: 14px;
  line-height: 1.5;
  color: #333;
  margin-bottom: 30px;
}

.adm-aca-strength-edit-preview-input::placeholder {
  color: #ADB5BD;
}
.adm-test-module-registration-page {
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background-color: white;
  position: relative;
  padding-top: env(safe-area-inset-top);
  overflow-x: hidden;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.adm-test-module-registration-page::-webkit-scrollbar {
  display: none;
}


.adm-test-module-header {
  position: absolute;
  height: 48px;
  background: white;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 600px;
}

.adm-test-module-back-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 24px;
  height: 24px;
  left: 20px;
}

.adm-test-module-back-icon {
  width: 24px;
  height: 24px;
}


.adm-test-module-header-title {
  flex: 1;
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  line-height: 150%; /* 24px */
  letter-spacing: 0.091px;
}


.adm-test-module-progress-bar {
  position: absolute;
  top: 36px;
  align-items: center;
  justify-content: center;
  height: 5px;
  width: 100%;
  background: var(--Line-Solid-Neutral, #EAEBEC);
  border-radius: 10px;
  margin-top: 12px;
  max-width: 600px;
}


.adm-test-module-progress-fill {
  height: 100%;
  width: 33%;
  background-color: #40e088;
  transition: width 0.3s ease;
  border-radius: 10px;

}

.adm-test-module-registration-form {
  flex: 1;
  padding: 20px;
  padding-bottom: 100px;
  margin-top: 48px;
  display: flex;
  flex-direction: column;
}

.adm-test-module-sub-question-label {
  font-size: 14px;
  font-weight: 700;
}

.adm-test-module-form-group {
  width: 100%;
  color: var(--Label-Alternative, rgba(55, 56, 60, 0.61));
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 146.7%; /* 22.005px */
  letter-spacing: 0.144px;
  box-sizing: border-box;
  margin-bottom: 0px;
}

.adm-test-module-form-group label {
  margin-bottom: 4px;
  font-size: 14px;
  font-weight: 500;
  color: #171719;

}

.adm-test-module-required {
  color: #FF0000;
}


.adm-test-module-button-wrapper {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20px 16px 40px;
  max-width: 560px;
  margin: 0 auto;
  background: white;
  z-index: 9;
}

.adm-test-module-next-button {
  width: 100%;
  height: 45px;
  background-color: #00BF40;
  color: white;
  border: none;
  max-width: 560px;
  margin: 0 auto;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  z-index: 10;
}

.adm-test-module-next-button.disabled {
  background-color: #cccccc;
  cursor: not-allowed;
  opacity: 0.4;
}


.adm-test-module-options-grid {
  display: grid;
  gap: 8px;
  margin-bottom: 24px;
}


.grid-cols-2 {
  grid-template-columns: repeat(2, 1fr);
}

.adm-test-module-option-button {
  width: 100%;
  padding: 12px;
  border: 1px solid rgba(112, 115, 124, 0.22);
  border-radius: 8px;
  background: white;
  font-size: 14px;
  font-weight: 500;
  color: #171719;
  cursor: pointer;
  transition: all 0.2s ease;
}

.adm-test-module-option-button.selected {
  background: #E6F7EC;
  border-color: #00BF40;
  color: #00BF40;
}


.adm-test-module-option-button:hover {
  border-color: #00BF40;
}

.adm-test-module-textarea-field {
  width: 100%;
  border: 1px solid rgba(112, 115, 124, 0.22);
  border-radius: 8px;
  padding: 13px 12px;
  font-size: 14px;
  line-height: 1.5;
  resize: none;
  font-family: inherit;
  box-sizing: border-box;
  text-align: left;
}

.adm-test-module-textarea-field.large1 {
  height: 130px;
}

.adm-test-module-textarea-field.large2 {
  height: 180px;
}

.adm-test-module-textarea-field::placeholder {
  color: rgba(55, 56, 60, 0.61);
  text-align: left;
  white-space: pre-line;
}

.adm-test-module-date-range {
  display: flex;
  align-items: center;
  gap: 7px;
  width: 100%;
}

.adm-test-module-date-range input {
  width: 100%;
  padding: 12px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  cursor: pointer;
  background-color: #fff;
}

.adm-test-module-date-separator {
  color: #666;
}

.adm-test-module-date-modal-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: flex-end;
  z-index: 1000;
  height: 100%;
  max-width: 600px;
  margin: 0 auto;
}

.adm-test-module-date-modal {
  background: white;
  width: 100%;
  border-radius: 16px 16px 0 0;
  padding: 20px;
  max-height: 80vh;
  margin: 0 auto;
}

.adm-test-module-date-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.adm-test-module-date-modal-header h3 {
  font-size: 16px;
  font-weight: 600;
}

.adm-test-module-date-modal-confirm {
  color: #1EC800;
  background: none;
  border: none;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
}

.adm-test-module-date-modal-content {
  display: flex;
  gap: 20px;
}

.adm-test-module-date-column {
  flex: 1;
  text-align: center;
}

.adm-test-module-date-column h4 {
  font-size: 14px;
  color: #666;
  margin-bottom: 12px;
  text-align: left;
}

.adm-test-module-date-options {
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 200px;
  overflow-y: auto;
  scroll-behavior: smooth;
  padding: 4px 0;
}

.adm-test-module-date-option {
  padding: 12px;
  border: none;
  background: none;
  text-align: center;
  font-size: 14px;
  cursor: pointer;
  white-space: nowrap;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.adm-test-module-date-option.selected {
  color: #1EC800;
  font-weight: 500;
}

.adm-test-module-date-options::-webkit-scrollbar {
  width: 4px;
}

.adm-test-module-date-options::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.adm-test-module-date-options::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 2px;
}

.adm-test-module-date-options::-webkit-scrollbar-thumb:hover {
  background: #555;
}

.adm-test-module-date-options::before,
.adm-test-module-date-options::after {
  content: '';
  height: 4px;
}

.adm-banner-container {
  background-color: #ffffff;
}

.adm-banner-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 48px;
  margin-left: 20px;
  margin-right: 20px;
}

.adm-banner-back-icon {
  width: 24px;
  height: 24px;
}

.adm-banner-add-icon {
  width: 24px;
  height: 24px;
  margin-top: 8px;
}

.adm-banner-back-button {
  border: none;
  background: none;
  font-size: 20px;
  padding: 8px;
  cursor: pointer;
}

.adm-banner-title {
  font-size: 17px;
  font-weight: 600;
  margin: 0;
}

.adm-banner-add-button {
  border: none;
  background: none;
  font-size: 24px;
  padding: 8px;
  cursor: pointer;
}

.adm-banner-search-container {
  margin-bottom: 16px;
  margin-left: 20px;
  margin-right: 20px;
  margin-top: 5px;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
}

.adm-banner-search-icon {
  position: absolute;
  left: 12px;
  width: 20px;
  height: 20px;
  z-index: 1;
}

.adm-banner-search-input {
  flex: 1;
  width: 100%;
  padding: 12px;
  padding-left: 40px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  color: var(--Semantic-Label-Assistive, var(--Label-Assistive, rgba(55, 56, 60, 0.28)));
  font-feature-settings: 'ss10' on;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 146.7%; /* 22.005px */
  letter-spacing: 0.144px;
}

.adm-banner-search-button {
  border: none;
  background: none;
  font-size: 16px;
  padding: 8px;
  cursor: pointer;
  white-space: nowrap;
  font-feature-settings: 'ss10' on;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 142.9%; /* 20.006px */
  letter-spacing: 0.203px;
}

.adm-banner-filter-tabs {
  border-radius: 8px;
  margin-left: 20px;
  margin-right: 20px;
  background-color: #f5f5f5;
  display: flex;
  gap: 6px;
  padding: 8px;
}

.adm-banner-tab-button {
  border: none;
  border-radius: 8px;
  background: none;
  margin-left: 0;
  padding: 8px 16px;
  font-size: 14px;
  color: #666;
  cursor: pointer;
  flex: 1;
  text-align: center;
  white-space: nowrap;
}

.adm-banner-tab-button.active {
  color: #1EC800;
  font-weight: 500;
  position: relative;
  background-color: white;
}

.adm-banner-tab-button.active::after {
  display: none;
}

.adm-banner-image {
  width: 100%;
  height: calc(100vw / 3);
  max-width: 390px;
  max-height: 130px;
  object-fit: cover;
  border-radius: 8px;
}

.adm-banner-list {
  margin: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: auto;
}

.adm-banner-item {
  width: 100%;
  max-width: 390px;
  margin: 0 auto;
  background: white;
  overflow: hidden;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
}

.adm-banner-item-image {
  width: 100%;
  height: calc(100vw / 3);
  max-width: 390px;
  max-height: 130px;
  overflow: hidden;
  border-radius: 8px;
  background-color: #f0f0f0;
}

.adm-banner-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.adm-banner-item-info {
  padding: 15px;
}

.adm-banner-item-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  position: relative;
}

.adm-banner-item-id {
  color: #666;
  font-size: 14px;
}

.adm-banner-item-title {
  flex: 1;
  font-weight: 500;
  font-size: 16px;
}

.adm-banner-item-edit {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  padding: 5px;
}

.adm-banner-item-edit img {
  width: 16px;
  height: 16px;
}

.adm-banner-item-period {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #666;
  font-size: 14px;
  margin-bottom: 10px;
}

.adm-banner-item-period-icon {
  width: 16px;
  height: 16px;
}

.adm-banner-item-status {
  margin-top: 5px;
}

.status-waiting {
  background-color: #FFA500;
  color: white;
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 12px;
}

.status-approved {
  background-color: #4CAF50;
  color: white;
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 12px;
}

.status-ended {
  background-color: #9E9E9E;
  color: white;
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 12px;
}

.adm-banner-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: flex-end;
  z-index: 1000;
}

.adm-banner-modal {
  position: relative;
  width: 100%;
  background-color: white;
  border-radius: 16px 16px 0 0;
  padding: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 550px;
  margin: 0 auto;
}

.adm-banner-modal::before {
  content: '';
  width: 40px;
  height: 4px;
  background-color: #a5a5a5;
  border-radius: 2px;
  margin-bottom: 1px;
}

.adm-banner-modal-content {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.adm-banner-modal-content h2 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 16px;
  text-align: center;
  width: 100%;
}

.adm-banner-modal-button {
  width: 100%;
  padding: 14px;
  margin: 0px 0;
  border: 1px solid #E5E5E5;
  border-radius: 12px;
  background: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  color: #171719;
}

.adm-banner-modal-button img {
  width: 20px;
  height: 20px;
  margin-right: 8px;
}

.adm-banner-modal-button.delete {
  color: #FF3B30;
  border: 1px solid #FF3B30;
}
.adm-banner-create-container {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background-color: #FFFFFF;
  overflow-x: hidden;
  overflow-y: auto;
}

.adm-banner-create-header {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px;
  height: 48px;
  position: relative;

}

.adm-banner-create-back-button {
  border: none;
  background: none;
  padding: 8px;
  margin-left: 10px;
  position: absolute;
  left: 10px;
}

.adm-banner-create-back-icon {
  width: 24px;
  height: 24px;
}

.adm-banner-create-title {
  font-size: 17px;
  font-weight: 600;
  margin-right: 0;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.adm-banner-create-form {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.adm-banner-create-form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.adm-banner-create-form-group label {
  font-size: 14px;
  font-weight: 500;
}

.required {
  color: #ff0000;
  margin-left: 2px;
}

.adm-banner-create-upload {
  height: 90px;
  background-color: #f5f5f5;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  overflow: hidden;
  position: relative;
}

.adm-banner-create-preview-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.adm-banner-create-remove-image {
  margin-top: 8px;
  color: #ff0000;
  background: none;
  border: none;
  padding: 4px 8px;
  cursor: pointer;
  font-size: 14px;
}

.adm-banner-create-upload-text {
  color: #666;
  font-size: 14px;
}

.adm-banner-create-upload-icon {
  font-size: 20px;
  color: #666;
  margin-top: 8px;
}

.adm-banner-create-form-group input {
  padding: 12px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
}

.adm-banner-create-date-range {
  display: flex;
  align-items: center;
  gap: 7px;
  width: 100%;
}

.adm-banner-create-date-range input {
  width: 100%;
  cursor: pointer;
  background-color: #fff;
}

.adm-banner-create-date-separator {
  color: #666;
}

.adm-banner-create-submit-button {
  background-color: #1EC800;
  color: white;
  border: none;
  border-radius: 8px;
  padding: 16px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  margin-top: 60px;
}

.adm-banner-create-submit-button:disabled {
  background-color: #e0e0e0;
  cursor: not-allowed;
}

.date-modal-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: flex-end;
  z-index: 1000;
  height: 100%;
  max-width: 600px;
  margin: 0 auto;
}

.date-modal {
  background: white;
  width: 100%;
  border-radius: 16px 16px 0 0;
  padding: 20px;
  max-height: 80vh;
  margin: 0 auto;
}

.date-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.date-modal-header h3 {
  font-size: 16px;
  font-weight: 600;
}

.date-modal-confirm {
  color: #1EC800;
  background: none;
  border: none;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
}

.date-modal-content {
  display: flex;
  gap: 20px;
}

.date-column {
  flex: 1;
  text-align: center;
}

.date-column h4 {
  font-size: 14px;
  color: #666;
  margin-bottom: 12px;
  text-align: left;
}

.date-options {
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 200px;
  overflow-y: auto;
  scroll-behavior: smooth;
  padding: 4px 0;
}

.date-option {
  padding: 12px;
  border: none;
  background: none;
  text-align: center;
  font-size: 14px;
  cursor: pointer;
  white-space: nowrap;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.date-option.selected {
  color: #1EC800;
  font-weight: 500;
}

.date-options::-webkit-scrollbar {
  width: 4px;
}

.date-options::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.date-options::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 2px;
}

.date-options::-webkit-scrollbar-thumb:hover {
  background: #555;
}

.date-options::before,
.date-options::after {
  content: '';
  height: 4px;
}

.adm-banner-create-button-group {
  display: flex;
  gap: 10px;
  margin-top: 8px;
}

.adm-banner-type-button,
.adm-banner-location-button {
  flex: 1;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: white;
  cursor: pointer;
  transition: all 0.3s ease;
}

.adm-banner-type-button.selected,
.adm-banner-location-button.selected {
  background: #e0ffe9;
  color: rgb(6, 211, 75);
  border-color: #00C73C;
}

.adm-banner-type-button:hover,
.adm-banner-location-button:hover {
  border-color: #00C73C;
}

.adm-banner-create-password-container {
  position: relative;
  display: flex;
  align-items: center;
}

.adm-banner-create-password-container input {
  width: 100%;
  padding-right: 90px; /* 버튼 공간 확보 */
}

.adm-banner-create-password-toggle {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  padding: 5px 10px;
  color: #666;
  font-size: 14px;
}

.adm-banner-create-input.error {
  border-color: #ff4d4f;
}

.adm-banner-create-error-message {
  color: #ff4d4f;
  font-size: 12px;
  margin-top: 4px;
}

.adm-banner-create-region-input {
  padding: 12px;
  margin-top: 8px;
  height: 48px;
  background-color: rgb(247, 245, 245);
  border: 1px solid #1EC800;
  text-align: center;
}

.adm-banner-create-region-button {
  width: 100%;
  padding: 12px;
  background-color: white;
  border: 1px solid #1EC800;
  border-radius: 8px;
  color: #1EC800;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  text-align: center;
}

.adm-banner-create-region-button:hover {
  background-color: #f0fff0;
}

/* Region Modal Styles */
.region-modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.region-modal {
  background: white;
  width: 90%;
  max-width: 500px;
  border-radius: 16px;
  overflow: hidden;
}

.region-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
}

.region-modal-header h3 {
  font-size: 22px;
  font-weight: 600;
  margin: 0;
}

.region-modal-close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

.region-modal-close img {
  width: 24px;
  height: 24px;
}

.region-modal-content {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.region-select-container {
  width: 100%;
}

.region-dropdown {
  position: relative;
  width: 100%;
  height: 54px;
  border: 1px solid #ddd;
  border-radius: 8px;
  overflow: hidden;
}

.region-dropdown select {
  width: 100%;
  height: 100%;
  padding: 0 16px;
  border: none;
  background: transparent;
  appearance: none;
  font-size: 16px;
  cursor: pointer;
}

.dropdown-icon {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

.dropdown-icon img {
  width: 16px;
  height: 16px;
}

.region-add-button {
  background-color: #1EC800;
  color: white;
  border: none;
  border-radius: 8px;
  padding: 16px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  margin-top: 16px;
  width: 100%;
}


.adm-banner-create-region-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px;
  background-color: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 8px;
  min-height: 48px;
}

.adm-banner-create-region-tag {
  display: flex;
  align-items: center;
  background-color: transparent;
  color: #1EC800;
  background-color: #e4fce3;
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 14px;
  height: 20px;
}

.adm-banner-create-region-tag-remove {
  background: none;
  border: none;
  color: #1EC800;
  font-size: 16px;
  font-weight: bold;
  margin-left: 4px;
  cursor: pointer;
  padding: 0 4px;
}

.adm-banner-create-no-regions {
  color: #999;
  font-size: 14px;
  text-align: center;
  padding: 14px;
}
.stu-community-container {
  width: 100%;
  height: 100vh;
  background-color: #ffffff;
}

.stu-community-header {
  display: flex;
  align-items: center;
  padding: 12px 20px;
  border-bottom: 1px solid #f0f0f0;
}

.stu-community-back-button {
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
}

.stu-community-back-button img {
  width: 24px;
  height: 24px;
}

.stu-community-header h1 {
  flex: 1;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  margin: 0;
  margin-right: 24px; /* 뒤로가기 버튼 너비만큼 오프셋 */
}

.stu-community-posts {
  padding: 0;
}

.stu-community-post-header {
  display: flex;
  align-items: center;
  margin-bottom: 5px;
}

.stu-community-post-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px;
  border-bottom: 1px solid #eee;
}

.stu-community-post-content {
  flex: 1;
  margin-right: 15px;
}

.stu-community-post-image {
  width: 80px;  /* 너비 증가 */
  height: 60px; /* 4:3 비율 유지 */
  object-fit: cover;
  border-radius: 8px;
}

.stu-community-post-fix-icon {
  width: 20px;
  height: 20px;
  margin-right: 5px;
  margin-bottom: 5px;
}

.stu-community-post-title {
  display: block;
  font-size: 16px;
  margin-bottom: 5px;
}

.stu-community-post-date {
  display: block;
  font-size: 12px;
  color: #666;
}

.stu-community-loading,
.stu-community-no-posts {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px 20px;
  color: #666;
  font-size: 14px;
}.stu-community-detail {
  max-width: 600px;
  margin: 0 auto;
  background: #fff;
  min-height: 100vh;
}

.stu-community-detail-header {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 10px;
  border-bottom: 1px solid #f0f0f0;
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 100;
}

.stu-community-detail-back-button {
  background: none;
  border: none;
  padding: 8px;
  cursor: pointer;
  margin-right: 16px;
  z-index: 1;
}

.stu-community-back-button-image {
  width: 24px;
  height: 24px;
}

.stu-community-detail-header h1 {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  font-size: 16px;
  font-weight: 700;
  color: #333;
  margin: 0;
  width: auto;
}

.stu-community-detail-container {
  padding: 24px 20px;
}

.stu-community-detail-meta {
  margin-bottom: 32px;
}

.post-category {
  display: inline-block;
  padding: 6px 12px;
  background: #f8f9fa;
  color: #4CAF50;
  border-radius: 16px;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 16px;
}

.post-title {
  font-size: 24px;
  font-weight: 600;
  color: #1a1a1a;
  margin: 0 0 16px 0;
  line-height: 1.4;
}

.post-info {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #666;
  font-size: 14px;
}

.post-author::after {
  content: "•";
  margin-left: 16px;
  color: #ddd;
}

.stu-community-detail-content {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}

.content-paragraph {
  margin: 20px 0;
}

.content-list {
  margin: 20px 0;
  padding-left: 20px;
}

.content-list-item {
  margin: 8px 0;
}

.content-quote {
  margin: 24px 0;
  padding: 16px 20px;
  background: #f8f9fa;
  border-left: 4px solid #4CAF50;
  color: #666;
  font-size: 16px;
  line-height: 1.6;
}

.content-inline-code {
  background: #f3f4f5;
  padding: 2px 6px;
  border-radius: 4px;
  font-family: 'Menlo', 'Monaco', 'Courier New', monospace;
  font-size: 14px;
  color: #e83e8c;
}

.content-code-block {
  margin: 24px 0;
  padding: 16px;
  background: #f8f9fa;
  border-radius: 8px;
  overflow-x: auto;
}

.content-code-block code {
  font-family: 'Menlo', 'Monaco', 'Courier New', monospace;
  font-size: 14px;
  line-height: 1.6;
  color: #333;
}

/* 로딩 상태 스타일 */
.loading {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  color: #666;
  font-size: 16px;
}

/* 반응형 디자인 */
@media (max-width: 768px) {
  .stu-community-detail-container {
    padding: 20px 16px;
  }

  .post-title {
    font-size: 20px;
  }

  .content-quote {
    margin: 20px 0;
    padding: 12px 16px;
  }
} .adm-banner-dashboard-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100vh;
  background-color: #f5f5f5;
  overflow: hidden;
}

.adm-banner-dashboard-content {
  width: 100%;
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}

.adm-banner-dashboard-content-wrapper {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding-bottom: 30px;
}

.adm-banner-dashboard-header {
  width: 100%;
  height: 56px;
  padding: 0 20px;
  right: 18px;
  display: flex;
  align-items: center;
  position: relative;
  background-color: #fff;
  border-bottom: 1px solid #eee;
}

.adm-banner-dashboard-back-button {
  background: none;
  border: none;
  padding: 8px;
  cursor: pointer;
}

.adm-banner-dashboard-back-button img {
  width: 20px;
  height: 20px;
}

.adm-banner-dashboard-header-title {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  font-size: 16px;
  font-weight: 600;
  color: #171719;
}

.adm-banner-dashboard-section.metric-section, .adm-banner-dashboard-section.period-section{
  position: relative;
  display: flex;
  justify-content: center;
  width: 100%;
}

.adm-banner-dashboard-metric-selector {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  background-color: #fff;
  border-radius: 10px;
  padding: 8px 16px;
  width: 100%;
  margin : 30px 4px 10px 4px;
}

.adm-banner-dashboard-metric-button {
  padding: 9px 20px;
  border-radius: 8px;
  border: none;
  font-size: 15px;
  font-weight: 600;
  text-align: center;
  background-color: transparent;
  color: rgba(55, 56, 60, 0.61);
}

  .adm-banner-dashboard-metric-button.active {
  background-color: #00BF40;
  color: white;
}

  .adm-banner-dashboard-metric-button.disabled {
  background-color: #f5f5f5;
  color: #999;
}

.adm-banner-dashboard-period-selector {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
  padding: 8px 16px;
  background-color: #fff;
  width: 100%;
  border-radius: 10px;
  margin: 0 4px 10px 4px;
}

  .adm-banner-dashboard-period-button {
  flex: 1;
  padding: 9px 20px;
  border-radius: 8px;
  border: none;
  font-size: 14px;
  cursor: pointer;
  background-color: transparent;
  color: rgba(55, 56, 60, 0.61);
}

  .adm-banner-dashboard-period-button.active {
  background-color: #00BF40;
  color: white;
}

  .adm-banner-dashboard-stats-section {
  background-color: #fff;
  margin-top: 12px;
  padding: 16px;
  width: 80%;
  margin-left: 20px;
  border-radius: 10px;
  /* 내부 컨텐츠를 위한 패딩 추가 */
  padding-bottom: 24px;
  margin-bottom: 30px;
}

  .adm-banner-dashboard-date-navigator {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

  .adm-banner-dashboard-nav-button {
  border: none;
  background: none;
  font-size: 18px;
  color: #666;
  cursor: pointer;
}

  .adm-banner-dashboard-title-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

  .adm-banner-dashboard-banner-info {
  margin-left: 20px;
  margin-top: 40px;
  font-size: 20px;
  font-weight: 600;
}

  .adm-banner-dashboard-date-range {
  font-size: 14px;
  font-weight: 500;
}

  .adm-banner-dashboard-stats-summary {
  padding: 0 16px;
}

  .adm-banner-dashboard-stats-total {
  display: flex;
  gap: 8px;
  flex-direction: column; 
  align-items: baseline;
}

  .adm-banner-dashboard-highlight {
  color: #00BF40;
  font-size: 20px;
  font-weight: bold;
}

.adm-banner-dashboard-stats-graph {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  height: 200px;
  margin: 12px 0;
  padding: 0 18px;
}

.adm-banner-dashboard-graph-bar-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 40px;
}

.adm-banner-dashboard-graph-bar {
  width: 32px;
  background-color: #00BF40;
  border-radius: 8px;
  transition: height 0.3s ease;
  min-height: 1px;
}

.adm-banner-dashboard-graph-label {
  margin-top: 8px;
  font-size: 12px;
  color: #666;
}

/* 월별 그래프를 위한 스타일 */
.adm-banner-dashboard-stats-graph.monthly {
  height: 220px;
  justify-content: flex-start;
  overflow-x: auto;
  padding-bottom: 12px;
  margin-top: 30px;
}

.adm-banner-dashboard-stats-graph.monthly .adm-banner-dashboard-graph-bar-container {
  flex-shrink: 0;
  margin-right: 8px;
}

.adm-banner-dashboard-stats-graph.monthly .adm-banner-dashboard-graph-bar-container:last-child {
  margin-right: 0;
}

.adm-banner-dashboard-count-label {
  margin-top: 4px;
  font-size: 14px;
  color: #333;
}

.adm-banner-dashboard-current-date {
  padding: 16px;
  display: flex;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid #eee;
  font-size: 13px;
  color: #333;
}

.adm-banner-dashboard-daily-count {
  color: #666;
}

  .adm-banner-dashboard-student-types {
  padding-top: 16px;
}

  .adm-banner-dashboard-student-types h3 {
  margin-bottom: 16px;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 12px;
  color: #333;
}

  .adm-banner-dashboard-student-type-row {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  font-size: 14px;
}

  .adm-banner-dashboard-type-name {
  color: #333;
}

  .adm-banner-dashboard-type-count {
  color: #666;
}

/* stats-title을 stats-section 내부로 이동 
    .study-type-section {
  background-color: white;
  border-radius: 12px;
  padding: 20px;
  margin-top: 20px;
  width: 78%;
  margin-left: 20px;
}
*/
  .adm-banner-dashboard-age-section {
  background-color: transparent;  /* 배경색 제거 */
  padding: 0;  /* 패딩 제거 */
  margin: 0;  /* 마진 제거 */
  width: 100%;  /* 너비 100%로 설정 */
}

  .adm-banner-dashboard-age-section {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 12px;
  color: #333;
}

  .adm-banner-dashboard-age-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

  .adm-banner-dashboard-age-row {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  font-size: 14px;
}

/* 추가된 부분 */
  .adm-banner-dashboard-age-tabs-section {
  margin-bottom: 10px;
  padding: 0; 
}

  .adm-banner-dashboard-age-tabs-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
  padding: 8px;
  background-color: #fff;
  border-radius: 10px;
  width: 80%;
  margin: 0;  
  position: relative; 
  left: -8px; 
}

  .adm-banner-dashboard-age-tab {
  white-space: nowrap; 
  min-width: fit-content;
  padding: 7px 14px;
  border-radius: 6px;
  border: none;
  font-size: 13px;
  font-weight: 500;
  text-align: center;
  background-color: #f5f5f5;
  color: #999;
  cursor: pointer;
}

  .age-tab.active {
  background-color: #00BF40;
  color: white;
}

  .adm-banner-dashboard-age-distribution {
  margin-top: 6px;
}

  .adm-banner-dashboard-age-row {
  display: flex;
  align-items: center;
  padding: 6px 0;
}

  .adm-banner-dashboard-age-label {
  width: 80px;
  font-size: 14px;
  color: rgba(55, 56, 60, 0.61);
}

  .adm-banner-dashboard-progress-bar-container {
  flex: 1;
  height: 6px;
  background-color: #EAEBEC;
  border-radius: 4px;
  margin-right: 12px;
  overflow: hidden;
}

  .adm-banner-dashboard-progress-bar {
  height: 100%;
  background-color: #00BF40;
  border-radius: 4px;
}

  .adm-banner-dashboard-percentage {
  width: 40px;
  font-size: 14px;
  color: rgba(55, 56, 60, 0.61);
  text-align: right;
}

  .adm-banner-dashboard-stats-title {
  font-size: 18px;
  font-weight: 600;
  color: #171719;
  margin-top: 12px;
  margin-bottom: 12px;
}
.adm-banner-auth-container {
  padding: 20px;
  display: flex;
  flex-direction: column;
  background: white;
}

.adm-banner-auth-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 30px;
}

.adm-banner-auth-title {
  font-size: 17px;
  font-weight: 600;
  margin-bottom: 8px;
  color: #171719;
}

.adm-banner-auth-subtitle {
  font-size: 14px;
  color: #666;
  margin-bottom: 20px;
}

.adm-banner-auth-input {
  width: 90%;
  padding: 16px;
  border: 1px solid #E8E8E8;
  border-radius: 8px;
  font-size: 16px;
  margin-bottom: 16px;
}

.adm-banner-auth-button {
  width: 90%;
  padding: 16px;
  border: none;
  border-radius: 8px;
  background-color: #E8E8E8;
  color: #999;
  font-size: 16px;
  font-weight: 500;
  position: fixed;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  margin: 0 auto;
  max-width: 560px;
}

.adm-banner-auth-button.active {
  background-color: #0bee62;
  color: rgb(250, 250, 250);
  cursor: pointer;
} .adm-stu-container {
  display: flex;
  flex-direction: column;
  background-color: #fff;
  margin-left: 20px;
  margin-right: 20px;

}

/* 헤더 스타일 */
.adm-stu-header {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  height: 48px;
  position: relative;
  margin-top: 10px;
}

.adm-stu-header-left {
  display: flex;
  align-items: center;
  gap: 40px;
}

.adm-stu-back-icon {
  width: 24px;
  height: 24px;
  position: absolute;
  left: 0;
}

.adm-stu-header-title {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  text-align: center;
  font-feature-settings: 'ss10' on;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%; /* 24px */
  letter-spacing: 0.091px;
  margin-left: 0;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.adm-stu-download-icon {
  width: 24px;
  height: 24px;
  position: absolute;
  right: 0;
}

.adm-stu-download-icon-img {
  width: 100%;
  height: 100%;
}

/* 검색 영역 스타일 */
.adm-stu-search-container {
  position: relative;
  margin-bottom: 20px;
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
}

.adm-stu-search-wrapper {
  position: relative;
  flex: 1;
}

.adm-stu-search-input {
  flex: 1;
  width: 100%;
  padding: 12px 40px;
  border-radius: 8px;
  border: 1px solid #e0e0e0;
  background-color: #ffffff;
  font-size: 14px;
  box-sizing: border-box;
}

.adm-stu-search-button {
  border: none;
  background: none;
  font-size: 15px;
  padding: 5px;
  cursor: pointer;
  white-space: nowrap;
  font-weight: 600;
  text-align: center;
  flex-shrink: 0;
}

.adm-stu-search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #666;
  z-index: 1;
}

/* 학생 목록 스타일 */
.adm-stu-students-list {
  flex: 1;
  overflow-y: auto;
}

.adm-stu-student-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 0;
  border-bottom: 1px solid #eee;
}

.adm-stu-student-info {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.adm-stu-student-name-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.adm-stu-student-id {
  background-color: #F5F5F5;
  border-radius: 8px;
  padding: 2px 5px;
  color: #666;
  font-size: 14px;
}

.adm-stu-student-name {
  font-size: 16px;
  font-weight: 500;
}

/* 이메일 행을 위한 새로운 클래스 추가 */
.adm-stu-email-row {
  display: flex;
  align-items: center;
  gap: 4px;  /* 아이콘과 이메일 사이 간격 */
}

.adm-stu-email-icon {
  width: 20px;
  height: 20px;
}

.adm-stu-student-email {
  color: #666;
  font-size: 14px;
}

.adm-stu-more-icon {
  color: #666;
  font-size: 20px;
}

/* 하단 버튼 스타일 */
.adm-stu-bottom-button {
  padding: 20px 0;
  margin-bottom: 40px;
}

.adm-stu-add-button {
  width: 100%;
  padding: 15px;
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 16px;
  cursor: pointer;
}

.adm-stu-add-button:hover {
  background-color: #f5f5f5;
}

/* 모달 스타일 */
.adm-stu-modal-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: flex-end;
  z-index: 1000;
}

.adm-stu-modal {
  background-color: white;
  border-radius: 16px 16px 0 0;
  width: 100%;
  height: 15%;
  padding: 20px;
  max-width: 560px;
  margin: 0 auto;
}

.adm-stu-modal-bar {
  width: 8%;
  left: 47.5%;
  position: absolute;
}

.adm-stu-modal-title {
  font-size: 18px;
  font-weight: bold;
  margin-top: 20px;
  margin-bottom: 20px;
  text-align: center;
  margin-left: 15px;
}

.adm-stu-modal-button {
  width: 100%;
  padding: 15px;
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 16px;
  cursor: pointer;
}

.adm-stu-modal-button:active {
  background-color: #f5f5f5;
}

.adm-stu-test-container {
  background-color: #fff;
  min-height: 100vh;
  margin-left: 10px;
  margin-right: 10px;
}

.adm-stu-test-header {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 5px;
  height: 52px;
  position: relative;
  margin-top: 10px;
}

.adm-stu-test-back {
  width: 24px;
  height: 24px;
  position: absolute;
  left: 10px;
}

.adm-stu-test-title {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  text-align: center;
  font-feature-settings: 'ss10' on;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%; /* 24px */
  letter-spacing: 0.091px;
  margin-left: 0;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.adm-stu-test-info {
  margin: 0 16px 24px;
  background: #f8f9fa;
  border-radius: 12px;
  padding: 16px;
}

.adm-stu-test-student-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}

.adm-stu-test-student-id {
  background: white;
  padding: 4px 8px;
  border-radius: 6px;
  color: #999;
  font-size: 14px;
}

.adm-stu-test-student-name {
  font-size: 16px;
  font-weight: 500;
}

.adm-stu-test-student-email {
  font-size: 14px;
  color: #666;
}

.adm-stu-test-email-icon {
  width: 16px;
  height: 16px;
  margin-right: 2px;
}

/* 탭 스타일 */
.adm-stu-test-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 16px;
  margin-bottom: 24px;
}

.adm-stu-test-tab {
  flex: 1;
  min-width: calc(33.333% - 8px); /* 3개씩 배치, 간격 고려 */
  padding: 8px 12px;
  border: 1px solid #eee;
  border-radius: 8px;
  background: white;
  color: #666;
  font-size: 14px;
  white-space: nowrap;
  cursor: pointer;
  text-align: center;
}

.adm-stu-test-tab.active {
  background: #00C73C;
  color: white;
  border-color: #00C73C;
}

/* 모바일 화면에서 2줄로 표시 */
@media (max-width: 480px) {
  .adm-stu-test-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, auto);
  }
  
  .adm-stu-test-tab {
    min-width: unset;
  }
}

/* 질문 그룹 스타일 */
.adm-stu-test-question-group {
  margin-bottom: 32px;
  padding: 0 16px;
}

.adm-stu-test-question-label {
  font-size: 15px;
  color: #333;
  margin-bottom: 16px;
}

/* 답변 옵션 스타일 */
.adm-stu-test-answer-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 8px;
}

.adm-stu-test-answer-option {
  padding: 12px;
  border: 1px solid #eee;
  border-radius: 8px;
  background: white;
  color: #666;
  font-size: 14px;
  text-align: center;
  cursor: default;
}

.adm-stu-test-answer-option.selected {
  border-color: #00C73C;
  background: #f0fff4;
  color: #00C73C;
}

.adm-stu-test-sub-question-group {
  margin: 16px 0 24px 16px;
  padding-left: 16px;
  border-left: 2px solid #eee;
}

.adm-stu-test-error {
  text-align: center;
  padding: 32px 16px;
  color: #666;
  font-size: 15px;
}
.adm-aca-auth-edit-page-2-container { 
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100vh;
  background-color: white;
  position: relative;
  padding-top: env(safe-area-inset-top);
  overflow-x: hidden;
  overflow-y: auto;
}

.adm-aca-auth-edit-page-2-header {
  width: 100%;
  height: 56px;
  padding: 0 20px;
  display: flex;
  align-items: center;
}

.adm-aca-auth-edit-page-2-content-wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  padding-bottom: 80px;
}

.adm-aca-auth-edit-page-2-back-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 24px;
  height: 24px;
  left: 20px;
}

.adm-aca-auth-edit-page-2-back-icon {
  width: 24px;
  height: 24px;
}

.adm-aca-auth-edit-page-2-header-title {
  font-size: 16px;
  font-weight: 600;
  color: #000000;
  position: absolute;
  text-align: center;
  left: 50%;
  transform: translateX(-50%);
}

.adm-aca-auth-edit-page-2-progress-bar {
  align-items: center;
  justify-content: center;
  height: 5px;
  width: 100%;
  background: var(--Line-Solid-Neutral, #EAEBEC);
}

.adm-aca-auth-edit-page-2-progress-fill {
  height: 100%;
  width: 33%;
  background-color: #00BF40;
  transition: width 0.3s ease;
  border-radius: 10px;
}

.adm-aca-auth-edit-page-2-registration-form {
  padding: 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
  margin-top: 10px;
}

.adm-aca-auth-edit-page-2-form-group {
  width: 100%;
  color: var(--Label-Alternative, rgba(55, 56, 60, 0.61));
  font-feature-settings: 'ss10' on;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 142.9%;
  letter-spacing: 0.203px;
}

.adm-aca-auth-edit-page-2-form-group label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #171719;
}

.adm-aca-auth-edit-page-2-required {
  color: #FF0000;
  margin-left: 2px;
}

.adm-aca-auth-edit-page-2-input-field {
  width: 100%;
  border: 1px solid rgba(112, 115, 124, 0.22);
  border-radius: 8px;
  font-size: 14px;
  display: flex;
  padding: 13px 12px;
  align-items: center;
  box-sizing: border-box;
}

.adm-aca-auth-edit-page-2-input-field::placeholder {
  color: rgba(55, 56, 60, 0.61);
}

.adm-aca-auth-edit-page-2-phone-input-group,
.adm-aca-auth-edit-page-2-address-input-group {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
}

.adm-aca-auth-edit-page-2-verification-button,
.adm-aca-auth-edit-page-2-search-button {
  padding: 12px 16px;
  background-color: #ffffff;
  border: 1px solid #e2e5e3;
  font-weight: 600;
  border-radius: 8px;
  color: #272626;
  font-size: 14px;
  white-space: nowrap;
  cursor: pointer;
}

.adm-aca-auth-edit-page-2-button-group {
  margin-bottom: 40px;
  margin-left: 20px;
  width: calc(100% - 40px);
  background: transparent;
  z-index: 100;
}

.adm-aca-auth-edit-page-2-next-button {
  width: 100%;
  padding: 12px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
  background: #00BF40;
  color: #FFFFFF;
  font-feature-settings: 'ss10' on;
  border: none;
}

.adm-aca-auth-edit-page-2-next-button.disabled {
  background: #F4F4F4;
  color: #9CA3AF; /* 비활성화 상태의 텍스트 색상 */
  cursor: not-allowed;
}

.adm-aca-auth-edit-page-2-postal-code {
  width: 100%;  /* 우편번호 입력창 너비 조정 */
  border: 1px solid rgba(112, 115, 124, 0.22);
  border-radius: 8px;
  font-size: 14px;
  padding: 13px 12px;
  background-color: #F9F9FB;
  color: #171719;
}

.adm-aca-auth-edit-page-2-address-input-group {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
  align-items: center;
}

.adm-aca-auth-edit-page-2-input-field[readonly] {
  background-color: #F9F9FB;
  color: #171719;
}

.adm-aca-auth-edit-page-2-verification-button.disabled {
  background-color: #F4F4F4;
  color: #9CA3AF;
  cursor: not-allowed;
}

.adm-aca-auth-edit-page-2-search-button:hover {
  opacity: 0.9;
}

.verification-success {
  color: #00BF40;
  font-size: 12px;
  margin-top: 4px;
  margin-bottom: 0;
}

.adm-aca-auth-edit-page-2-input-field:disabled {
  background-color: #F4F4F4;
  cursor: not-allowed;
}

/* Daum 우편번호 서비스 스타일 오버라이드 */
#layer {
  width: 100% !important;
  height: 100% !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  overflow-y: auto !important;
}

#btnCloseLayer {
  position: fixed !important;
  top: 20px !important;
  right: 20px !important;
  width: 24px !important;
  height: 24px !important;
}

.info {
  display: none !important; /* 하단 정보 숨기기 */
}

/* 파일 업로드 관련 스타일 추가 */
.adm-aca-auth-edit-page-2-file-upload-container {
  width: 100%;
  margin-top: 8px;
}

.adm-aca-auth-edit-page-2-file-upload-wrapper {
  width: 100%;
  min-height: 80px;
  display: flex;
  gap: 12px;
  box-sizing: border-box;
}

.adm-aca-auth-edit-page-2-file-upload-button {
  position: relative;
  display: flex;
  width: 103px;
  height: 77px;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  border: 1px dashed rgba(112, 115, 124, 0.22);
  background: #FFF;
  cursor: pointer;
  overflow: hidden;
}

.adm-aca-auth-edit-page-2-plus-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 24px;
  height: 24px;
}

.adm-aca-auth-edit-page-2-preview-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.adm-aca-auth-edit-page-2-remove-file-button {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  z-index: 1;
}

.adm-aca-auth-edit-page-2-remove-file-button:hover {
  background: rgba(0, 0, 0, 0.7);
}

.adm-aca-auth-edit-page-2-file-info-wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.adm-aca-auth-edit-page-2-file-upload-guide,
.adm-aca-auth-edit-page-2-uploaded-title {
  color: rgba(55, 56, 60, 0.61);
  font-size: 12px;
  line-height: 1.5;
}

.adm-aca-auth-edit-page-2-uploaded-filename {
  color: #171719;
  font-size: 12px;
  margin-top: auto;
}

/* 위치 관련 스타일 수정 */
.adm-aca-auth-edit-page-2-location-container {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.adm-aca-auth-edit-page-2-select {
  flex: 1;
  height: 44px;
  padding: 0 16px;
  border: 1px solid #EAEBEC;
  border-radius: 8px;
  font-size: 14px;
  background: white;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2337383C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px 8px;
}

.adm-aca-auth-edit-page-2-select.full-width {
  width: 100%;
  border: 1px solid rgba(112, 115, 124, 0.22);
  border-radius: 8px;
  font-size: 14px;
  display: flex;
  padding: 13px 12px;
  align-items: center;
  box-sizing: border-box;
}

.adm-aca-auth-edit-page-2-select:disabled {
  background-color: #ffffff;
  color: #9ea5b1;
  cursor: not-allowed;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%239CA3AF' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.adm-aca-auth-edit-page-2-input-field {
  width: 100%;
  border: 1px solid rgba(112, 115, 124, 0.22);
  border-radius: 8px;
  font-size: 14px;
  display: flex;
  padding: 13px 12px;
  align-items: center;
  box-sizing: border-box;
}

.adm-aca-auth-edit-page-2-input-field::placeholder {
  color: rgba(55, 56, 60, 0.61);
}

.adm-aca-auth-edit-page-2-input-field[readonly] {
  background-color: #F9F9FB;
  color: #171719;
}

/* 드롭다운 화살표 스타일 */
.adm-aca-auth-edit-page-2-select {
  appearance: none;
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 16px;
}

.adm-aca-auth-edit-page-2-select option {
  padding: 8px;
}

/* 필수 입력 표시 스타일 */
.adm-aca-auth-edit-page-2-required {
  color: #FF0000;
  margin-left: 2px;
}

/* 폼 그룹 스타일 */
.adm-aca-auth-edit-page-2-form-group {
  width: 100%;
  padding-bottom: 20px;
  color: var(--Label-Alternative, rgba(55, 56, 60, 0.61));
  font-feature-settings: 'ss10' on; 
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 142.9%;
  letter-spacing: 0.203px;
}

.adm-aca-auth-edit-page-2-form-group label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #171719;
}

.adm-aca-auth-edit-page-2-loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.adm-aca-auth-edit-page-2-loading-spinner {
  width: 50px;
  height: 50px;
  border: 4px solid rgba(0, 191, 64, 0.3);
  border-radius: 50%;
  border-top-color: #00BF40;
  animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}.adm-aca-auth-edit-page-4-container { 
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100vh;
  background-color: white;
  position: relative;
  padding-top: env(safe-area-inset-top);
  overflow-x: hidden;
}

.adm-aca-auth-edit-page-4-header {
  width: 100%;
  height: 56px;
  padding: 0 20px;
  display: flex;
  align-items: center;
}

.adm-aca-auth-edit-page-4-back-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 24px;
  height: 24px;
  left: 20px;
}

.adm-aca-auth-edit-page-4-back-icon {
  width: 24px;
  height: 24px;
}

.adm-aca-auth-edit-page-4-header-title {
  font-size: 16px;
  font-weight: 600;
  color: #000000;
  text-align: center;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.adm-aca-auth-edit-page-4-registration-form {
  padding: 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
  }

.adm-aca-auth-edit-page-4-form-group {
  width: 100%;
  padding-bottom: 20px;
  color: var(--Label-Alternative, rgba(55, 56, 60, 0.61));
  font-feature-settings: 'ss10' on;
  font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 142.9%; /* 20.006px */
    letter-spacing: 0.203px;
}

.adm-aca-auth-edit-page-4-form-group label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #171719;
}

.adm-aca-auth-edit-page-4-required {
  color: #FF0000;
}

.adm-aca-auth-edit-page-4-images-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 16px;
}

.adm-aca-auth-edit-page-4-upload-box {
  aspect-ratio: 4/3;
  border: 1px dashed rgba(112, 115, 124, 0.22);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: #FFF;
  position: relative;
}

.adm-aca-auth-edit-page-4-image-preview-box {
  position: relative;
  aspect-ratio: 4/3;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(112, 115, 124, 0.22);
}

.adm-aca-auth-edit-page-4-preview-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.adm-aca-auth-edit-page-4-remove-image-button {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  z-index: 1;
}

.adm-aca-auth-edit-page-4-remove-image-button:hover {
  background: rgba(0, 0, 0, 0.7);
}

.adm-aca-auth-edit-page-4-plus-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 24px;
  height: 24px;
}

.adm-aca-auth-edit-page-4-upload-guide {
  margin-top: 16px;
  color: rgba(55, 56, 60, 0.61);
  font-size: 12px;
  line-height: 1.5;
}

.adm-aca-auth-edit-page-4-upload-guide p {
  margin: 4px 0;
  color: rgba(55, 56, 60, 0.61);
  font-family: "Pretendard JP";
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 18px;
}

.adm-aca-auth-edit-page-4-button-group {
  position: absolute;
  bottom: 0px;
  left: 0;
  right: 0px;
  padding: 16px 24px; 
  background: white;
  display: flex;
  gap: 12px;
  max-width: 560px;
  margin: 0 auto;
}

.adm-aca-auth-edit-page-4-next-button {
  position: absolute;
  bottom: 40px; /* 하단으로부터의 거리 */
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 40px); /* 좌우 여백 20px씩 */
  padding: 12px 28px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
  background: #00BF40; /* 활성화 상태의 초록색 배경 */
  color: #FFFFFF; /* 흰색 텍스트 */
  font-feature-settings: 'ss10' on;
  border: none;
  max-width: 560px;
  margin: 0 auto;
}

.adm-aca-auth-edit-page-4-next-button.disabled {
  background: #F4F4F4;
  color: #9CA3AF; /* 비활성화 상태의 텍스트 색상 */
  cursor: not-allowed;
}

.adm-aca-auth-edit-page-4-loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.adm-aca-auth-edit-page-4-loading-spinner {
  width: 50px;
  height: 50px;
  border: 4px solid rgba(0, 191, 64, 0.3);
  border-radius: 50%;
  border-top-color: #00BF40;
  animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.adm-aca-auth-edit-page-4-thumbnail-container {
  display: flex;
  gap: 16px;
  margin-top: 8px;
}

.adm-aca-auth-edit-page-4-thumbnail-preview-box {
  width: calc((100% - 16px) * 0.3);  /* 컨테이너의 40% 너비 */
  aspect-ratio: 3/4;  /* 3:4 비율 설정 */
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  background-color: #f5f5f5;
}

.adm-aca-auth-edit-page-4-thumbnail-preview {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 썸네일용 업로드 박스 스타일 */
.adm-aca-auth-edit-page-4-thumbnail-container .adm-aca-auth-edit-page-4-upload-box {
  width: calc((100% - 16px) * 0.3);  /* 컨테이너의 40% 너비 */
  aspect-ratio: 3/4;  /* 3:4 비율 설정 */
}.aca-strength-edit-container {
  padding: 20px;
  max-width: 600px;
  margin: 0 auto;
  background: #fff;
  min-height: 100vh;
  overflow-y: auto;
}

.aca-strength-edit-header {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 50px;
  margin-top: 10px;
  width: 100%;
  position: relative;
}

.aca-strength-edit-back-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  position: absolute;
  left: 0;
}

.aca-strength-edit-back-button img {
  width: 24px;
  height: 24px;
}

.aca-strength-edit-header span {
  margin-left: 0;
  font-size: 17px;
  font-weight: 700;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.aca-strength-edit-highlight-message {
  background-color: #F8F9FA;
  border-radius: 8px;
  padding: 16px;
  margin: 20px 0;
  color: #495057;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.aca-strength-edit-content h1 {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-feature-settings: 'ss10' on;
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 135.8%;
  letter-spacing: -0.661px;
  margin: 0;
  margin-bottom: 0px;
}

.aca-strength-edit-content > p {
  color: var(--Semantic-Label-Alternative, var(--Label-Alternative, rgba(55, 56, 60, 0.61)));
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 144.5%;
  letter-spacing: -0.004px;
  margin: 0;
  margin-bottom: 12px;
}

.aca-strength-edit-component p {
  font-size: 14px;
  font-weight: 600;
  color: #666;
  margin: 0;
  margin-top: 16px;
}

.aca-strength-edit-example {
  background: #F8F9FA;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 24px;
}

.aca-strength-edit-example-list {
  margin-bottom: 16px;
}

.aca-strength-edit-example-list p {
  margin: 8px 0;
  color: #333;
}

.aca-strength-edit-example-detail {
  color: #666;
  font-size: 14px;
  line-height: 1.5;
}

.aca-strength-edit-input {
  width: 94%;
  padding: 10px;
  height: 40px;
  border: 1px solid #E5E5E5;
  border-radius: 12px;
  font-size: 15px;
  line-height: 1.5;
  font-feature-settings: 'ss10' on;
  font-style: normal;
  font-weight: 400;
  line-height: 146.7%;
  letter-spacing: 0.144px;
  align-items: center;
  
  /* 입력된 텍스트 색상 */
  color: #171719;
}

/* placeholder 텍스트 색상 */
.aca-strength-edit-input::placeholder {
  color: rgba(102, 102, 102, 0.28);
  font-feature-settings: 'ss10' on;
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 146.7%;
  letter-spacing: 0.144px;
}

.aca-strength-edit-input:focus {
  outline: none;
  border-color: #00C73C;
}

.aca-strength-edit-next-button {
  width: 100%;
  margin-top: 130px;
  padding: 16px;
  background: #00C73C;
  color: white;
  border: none;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 500;
  height: 48px;
  cursor: pointer;
}

.aca-strength-edit-next-button.disabled {
  background: #E5E5E5;
  cursor: not-allowed;
  color: var(--Semantic-Label-Assistive, var(--Label-Assistive, rgba(55, 56, 60, 0.28)));
  font-feature-settings: 'ss10' on;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%; /* 24px */
  letter-spacing: 0.091px;
}

.aca-strength-edit-write-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 16px;
  font-weight: 600;
  width: 100%;
  height: 40px;
  margin-top: 12px;
  border-radius: 10px;
  background: #ffffff;
  color: #00C73C;
  border: 1px solid #E5E5E5;
}

.aca-strength-edit-write-button-icon {
  width: 24px;
  height: 24px;
}

.aca-strength-edit-preview-container {
  width: 100%;
  height: 100px;
  margin-top: 50px;
  font-size: 17px;
  font-weight: 600;
  color: #666;
}

.aca-strength-edit-preview-input {
  width: 94%;
  padding: 10px;
  height: 120px;
  border: 1px solid #E5E5E5;
  border-radius: 12px;
  font-size: 15px;
  line-height: 1.5;
  font-feature-settings: 'ss10' on;
  font-style: normal;
  font-weight: 400;
  line-height: 146.7%;
  letter-spacing: 0.144px;
  align-items: center;
  
  /* 입력된 텍스트 색상 */
  color: #171719;
}.adm-community-container {
  width: 100%;
  height: 100vh;
  background-color: #ffffff;
  overflow-x: hidden;
}

.adm-community-back-button-icon {
  width: 24px;
  height: 24px;
}

.adm-community-back-button{
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  z-index: 1;
}

.adm-community-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 20px;
  position: relative;
}

.adm-community-header h1 {
  font-size: 16px;
  font-weight: 600;
  margin: 0;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.adm-community-add-button {
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  z-index: 1;
}

.adm-community-add-button img {
  width: 24px;
  height: 24px;
}

.adm-community-search {
  padding: 12px 20px;
  display: flex;
  gap: 8px;
  position: relative;
}

.adm-community-search input {
  flex: 1;
  padding: 8px 12px 8px 36px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  font-size: 14px;
}

.adm-community-search-icon {
  width: 20px;
  height: 20px;
  position: absolute;
  left: 32px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

.adm-community-search-button {
  padding: 8px 4px;
  color: rgb(77, 77, 77);
  font-size: 14px;
  font-weight: 700;
  border: none;
  background: none;
  cursor: pointer;
}

.adm-community-tabs {
  display: flex;
  padding: 8px 8px 8px 8px;
  gap: 0px;
  overflow-x: auto;
  margin-bottom: 12px;
  border-radius: 8px;
  width: 85%;
  background-color: #F7F7F8;
  margin-left: auto;
  margin-right: auto;
  justify-content: center;
}

.adm-community-tab {
  padding: 8px 16px;
  border: none;
  border-radius: 8px;
  background: none;
  color: #666;
  cursor: pointer;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 500;
}

.adm-community-tab.active {
  background-color: #00BF40;
  color: white;
}

.adm-community-tab:last-child {
  margin-right: 0;
}

.adm-community-tabs::-webkit-scrollbar {
  display: none;
}

.adm-community-posts {
  padding: 0;
}

.adm-community-post-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 20px;
  border-bottom: 1px solid #eee;
}

.adm-community-post-content {
  flex: 1;
  margin-right: 15px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.adm-community-post-header {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}

.adm-community-post-id {
  font-size: 14px;
  color: #666;
  font-weight: 500;
  flex-shrink: 0;
  background-color: #F7F7F8;
  padding: 4px 4px;
  border-radius: 8px;
}

.adm-community-post-title {
  font-size: 16px;
  font-weight: 500;
  color: #171719;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
}

.adm-community-post-date {
  font-size: 12px;
  color: #666;
}

.adm-community-post-image {
  width: 80px;
  height: 60px;
  object-fit: cover;
  border-radius: 8px;
  flex-shrink: 0;
}

.adm-community-modal {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1000;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin: 0 auto;
  max-width: 600px;
}

.adm-community-modal-content {
  background: white;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  padding: 20px;
}

.adm-community-modal-title {
  text-align: center;
  margin-top: 10px;
  font-size: 16px;
  font-weight: 600;
  color: #171719;
  margin-bottom: 20px;
}

.adm-community-modal-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 16px;
  border: 1.5px solid #E8E8E8;
  border-radius: 12px;
  background: white;
  font-size: 17px;
  font-weight: 500;
  color: #171719;
  cursor: pointer;
  margin-bottom: 8px;
}

.adm-community-modal-button img {
  width: 20px;
  height: 20px;
  margin-right: 8px;
}

.adm-community-modal-button.delete {
  color: #313131;
  border-color: #f54242;
}
.adm-create-community-container {
  padding: 20px 20px 20px 20px;
  background-color: #ffffff;
  max-width: 100%;
  box-sizing: border-box;
  overflow-y: auto;
}

.adm-create-community-header {
  display: flex;
  align-items: center;
  margin-bottom: 24px;
  height: 24px;
  position: relative;
}

.adm-create-community-back-button {
  border: none;
  background: none;
  padding: 8px;
  cursor: pointer;
  position: absolute;
  left: 0;
  z-index: 1;
}

.adm-create-community-back-button img {
  width: 24px;
  height: 24px;
}

.adm-create-community-page-title {
  width: 100%;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  margin: 0;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.adm-create-community-form-group {
  margin-bottom: 20px;
}

.adm-create-community-form-label {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  font-size: 14px;
  color: #333;
}

.adm-create-community-required-mark {
  color: #ff0000;
  margin-left: 4px;
}

.adm-create-community-image-upload-box {
  width: 100%;
  height: 200px;
  border: 1px dashed #ddd;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #f8f8f8;
  cursor: pointer;
}

.adm-create-community-upload-icon {
  margin-bottom: 8px;
  width: 24px;
  height: 24px;
}

.adm-create-community-upload-text {
  color: #666;
  font-size: 14px;
}

.adm-create-community-toggle-switch {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 24px;
  margin-left: auto;
}

.adm-create-community-toggle-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.adm-create-community-toggle-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: .4s;
  border-radius: 24px;
}

.adm-create-community-toggle-slider:before {
  position: absolute;
  content: "";
  height: 20px;
  width: 20px;
  left: 2px;
  bottom: 2px;
  background-color: white;
  transition: .4s;
  border-radius: 50%;
}

.adm-create-community-toggle-switch input:checked + .adm-create-community-toggle-slider {
  background-color: #00C73C;
}

.adm-create-community-toggle-switch input:checked + .adm-create-community-toggle-slider:before {
  transform: translateX(26px);
}

.adm-create-community-input-field {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 14px;
  box-sizing: border-box;
}

.adm-create-community-input-field::placeholder {
  color: #999;
}

.adm-create-community-submit-button {
  width: 100%;
  padding: 16px;
  background-color: #f2f2f2;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  color: #666;
  cursor: pointer;
  margin-top: 20px;
}

.adm-create-community-submit-button.active {
  background-color: #00C73C;
  color: white;
}
.adm-review-manage-container {
  width: 100%;
  min-height: 100vh;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  position: relative;
}

.adm-review-manage-header {
  display: flex;
  align-items: center;
  padding: 5px 20px;
  background-color: #ffffff;
  position: sticky;
  top: 0;
  z-index: 10;
}

.adm-review-manage-back-button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.adm-review-manage-back-icon {
  width: 24px;
  height: 24px;
}

.adm-review-manage-header-title {
  flex: 1;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  color: #171719;
  margin-right: 24px;
}

.adm-review-manage-content {
  flex: 1;
  padding: 20px;
  overflow-y: auto;
}

.adm-review-manage-search-container {
  display: flex;
  gap: 8px;
  margin-bottom: 10px;
}

.adm-review-manage-search-bar {
  flex: 1;
  display: flex;
  align-items: center;
  background-color: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 12px 16px;
  gap: 8px;
}

.adm-review-manage-search-icon {
  width: 20px;
  height: 20px;
  opacity: 0.5;
}

.adm-review-manage-search-input {
  flex: 1;
  border: none;
  background: none;
  outline: none;
  font-size: 14px;
  color: #171719;
}

.adm-review-manage-search-input::placeholder {
  color: #999;
}

.adm-review-manage-search-button {
  padding: 12px 10px;
  background-color: #ffffff;
  color: rgb(0, 0, 0);
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}

.adm-review-manage-search-button:hover {
  background-color: #ebebeb;
}

.adm-review-manage-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 20px;
  margin-top: 20px;
}

.adm-review-manage-tab {
  flex: 1;
  padding: 10px 20px;
  background: #f5f5f5;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #666;
  cursor: pointer;
  transition: all 0.2s;
}

.adm-review-manage-tab.active {
  background: #00C73C;
  color: #ffffff;
  font-weight: 600;
}

.adm-review-manage-loading,
.adm-review-manage-empty {
  text-align: center;
  padding: 40px 20px;
  color: #999;
  font-size: 14px;
}

.adm-review-manage-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.adm-review-manage-item {
  background-color: #ffffff;
  border-radius: 12px;
  padding: 16px;
  border: 1px solid #e0e0e0;
  cursor: pointer;
  transition: all 0.2s;
}

.adm-review-manage-item:hover {
  background-color: #f9f9f9;
}

.adm-review-manage-item-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.adm-review-manage-item-left {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.adm-review-manage-item-code {
  background-color: #f1f1f1;
  color: #aaaaaa;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
}

.adm-review-manage-item-academy {
  font-size: 16px;
  font-weight: 600;
  color: #171719;
}

.adm-review-status-badge {
  padding: 3px 6px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  right: 40px;
  position: absolute;
}

.adm-review-status-badge.pin-request {
  background-color: #fff3e0;
  color: #f57c00;
}

.adm-review-status-badge.pinned {
  background-color: #e3f2fd;
  color: #1976d2;
}

.adm-review-status-badge.delete-request {
  background-color: #ffebee;
  color: #d32f2f;
}

.adm-review-manage-item-rating {
  display: flex;
  align-items: center;
  gap: 8px;
}

.adm-review-manage-rating-number {
  font-size: 18px;
  font-weight: 600;
  color: #171719;
}

.adm-review-manage-stars {
  display: flex;
  gap: 2px;
}

.adm-review-star {
  font-size: 16px;
  line-height: 1;
}

.adm-review-star.filled {
  color: #FFD700;
}

.adm-review-star.empty {
  color: #e0e0e0;
}

.adm-review-manage-item-user-info {
  margin-bottom: 12px;
  font-size: 14px;
  color: #666;
}

.adm-review-manage-item-user-name {
  color: #171719;
  font-weight: 500;
}

.adm-review-manage-item-date {
  color: #999;
}

.adm-review-manage-item-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 16px;
}

.adm-review-manage-section-horizontal {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.adm-review-manage-label {
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  flex-shrink: 0;
  min-width: 70px;
  padding: 4px 8px;
  border-radius: 4px;
  background-color: #ffffff;
  color: #666;
}

.adm-review-manage-label.good {
  background-color: #ffffff;
  color: #000000;
}

.adm-review-manage-label.bad {
  background-color: #ffffff;
  color: #000000;
}

.adm-review-manage-text {
  flex: 1;
  font-size: 14px;
  color: #171719;
  line-height: 1.6;
  margin: 0;
  word-break: break-word;
}

.adm-review-manage-item-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.adm-review-action-button {
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
}

/* 하단 모달 스타일 */
.adm-review-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  z-index: 1000;
  animation: fadeIn 0.3s ease-in-out;
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}

/* 600px 초과 화면에서는 absolute로 변경 */
@media (min-width: 1101px) {
  .adm-review-modal-overlay {
    position: fixed;
    left: 320px;
  }
}

@media (min-width: 1101px) {
  .adm-review-modal-bottom {
    position: fixed;
    margin-left: 160px;
  }
}

@keyframes fadeIn {
  from {
    background-color: rgba(0, 0, 0, 0);
  }
  to {
    background-color: rgba(0, 0, 0, 0.5);
  }
}

.adm-review-modal-bottom {
  width: calc(100% - 40px);
  max-width: 560px;
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background: white;
  border-radius: 20px 20px 0 0;
  padding: 20px;
  z-index: 1001;
  animation: slideUp 0.3s ease;
}

@keyframes slideUp {
  from {
    transform: translate(-50%, 100%);
  }
  to {
    transform: translate(-50%, 0);
  }
}

.adm-review-modal-bar-icon {
  display: flex;
  justify-content: center;
  margin-bottom: 16px;
}

.adm-review-bar-line {
  width: 40px;
  height: 4px;
  background-color: #e0e0e0;
  border-radius: 2px;
}

.adm-review-modal-title {
  font-size: 16px;
  font-weight: 600;
  color: #171719;
  margin: 0 0 16px 0;
  text-align: center;
}

.adm-review-modal-option {
  width: 100%;
  padding: 16px;
  background-color: white;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 500;
  color: #171719;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 12px;
  transition: all 0.2s;
}

.adm-review-modal-option:hover {
  background-color: #f9f9f9;
}

.adm-review-modal-option.delete {
  color: #000000;
  border-color: #e92525;
}

.adm-review-modal-option.delete:hover {
  background-color: #ffebee;
}

.adm-review-modal-option.approve {
  color: #000000;
  border-color: #4caf50;
}

.adm-review-modal-option.approve:hover {
  background-color: #e8f5e9;
}

.adm-review-modal-option.reject {
  color: #000000;
  border-color: #999999;
}

.adm-review-modal-option.reject:hover {
  background-color: #f5f5f5;
}

.adm-review-option-icon {
  width: 20px;
  height: 20px;
}

.button {
  padding: 20px 40px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  background-color: rgba(197, 197, 197, 0.452);
  margin-left: 10px;
}

.button:active {
  transform: scale(0.95);
}

.button-text {
  font-size: 20px;
  font-weight: bold;
  color: black;
}.stu-mypage-container {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.stu-mypage-header {
  width: 100%;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.stu-mypage-header-back-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  position: absolute;
  left: 10px;
}

.stu-mypage-header-back-icon {
  width: 24px;
  height: 24px;
}

.stu-mypage-header-title {
  font-size: 18px;
  font-weight: 600;
  color: #000000;
}

.stu-mypage-content {
  width: 100%;
  height: 100%;
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.stu-mypage-content-item {
    width: 100%;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-left: 30px;
}

.stu-mypage-content-item-icon {
    width: 24px;
    height: 24px;
    margin-right: 30px;
}

.stu-mypage-content-item-title {
    font-size: 14px;
    font-weight: 400;
    color: #000000;
    margin-left: 16px;
}

.stu-mypage-footer {
    width: 100%;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: 0;
}

.stu-mypage-footer-button {
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    color: #bdbdbd;
    font-size: 14px;
    border: none;
    cursor: pointer;
    font-weight: 400;
}

.stu-mypage-footer-button:hover {
    background-color: #f5f5f5;
    color: #bdbdbd;
}

.stu-mypage-footer-button:active {
    background-color: #f5f5f5;
    color: #000000;
}


.stu-withdraw-container {
    padding: 10px;
    background-color: #fff;
    min-height: 100vh;
}

.stu-withdraw-header {
    display: flex;
    align-items: center;
    margin-bottom: 30px;
    margin-top: 8px;
    position: relative;
}

.stu-withdraw-header-back-button {
    background: none;
    border: none;

    cursor: pointer;
}

.stu-withdraw-header-back-icon {
    width: 24px;
    height: 24px;
}

.stu-withdraw-header-title {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    font-size: 18px;
    font-weight: 600;
}

.stu-withdraw-content {
    padding: 0 16px;
}

.stu-withdraw-warning {
    margin-bottom: 40px;
}

.stu-withdraw-warning h2 {
    font-size: 24px;
    margin-bottom: 12px;
}

.stu-withdraw-warning p {
    color: #666;
    margin-bottom: 20px;
    line-height: 1.5;
}

.stu-withdraw-warning ul {
    background-color: #f8f8f8;
    padding: 12px;
    padding-top: 20px;
    border-radius: 8px;
    list-style: none;
}

.stu-withdraw-warning li {
    color: #666;
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px;
}

.stu-withdraw-warning li:before {
    content: "•";
    position: absolute;
    left: 0;
}

.stu-withdraw-reasons {
    margin-bottom: 40px;
}

.stu-withdraw-reasons h3 {
    font-size: 18px;
    margin-bottom: 8px;
}

.stu-withdraw-reasons p {
    color: #666;
    margin-bottom: 20px;
}

.stu-withdraw-checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 16px;
    opacity: 0.7;
}

.stu-withdraw-checkbox-group label {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #333;
}

.stu-withdraw-checkbox-group input[type="checkbox"] {
    width: 20px;
    height: 20px;
    border: 2px solid #ddd;
    border-radius: 4px;
}

.stu-withdraw-comment {
    margin-bottom: 40px;
    margin-right: 35px;
}

.stu-withdraw-comment h3 {
    font-size: 18px;
}

.stu-withdraw-comment p {
    color: #666;
    line-height: 1.5;
}

.stu-withdraw-comment textarea {
    width: 100%;
    height: 120px;
    padding: 16px;
    border: 1px solid #ddd;
    border-radius: 8px;
    resize: none;
    font-size: 16px;
    opacity: 0.7;
}

.stu-withdraw-comment textarea::placeholder {
    color: #999;
}

.stu-withdraw-consent {
    margin-top: 100px;
    margin-bottom: 30px;
}

.stu-withdraw-consent label {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #333;
}

.stu-withdraw-consent input[type="checkbox"] {
    width: 20px;
    height: 20px;
    border: 2px solid #ddd;
    border-radius: 4px;
}

.stu-withdraw-submit-button {
    width: 100%;
    height: 40px;
    margin-bottom: 40px;
    padding: 16px;
    background-color: #ff4b4b;
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.stu-withdraw-submit-button:disabled {
    background-color: #ddd;
    cursor: not-allowed;
}
.preview-container-not-real {
  width: 100%;
  background-color: #ffffff;
  flex-direction: column;
  overflow-x: hidden;
  opacity: 0;
  transition: opacity 0.2s ease-in;
  height: 100vh;
  overflow-y: auto;
}

.preview-container-not-real.css-loaded {
  opacity: 1;
}

.preview-header-not-real {
  display: flex;
  height: 48px;
  padding: 0px 20px;
  align-items: center;
  flex-shrink: 0;
  margin-bottom: 16px;
}

/* 왼쪽 그룹 */
.preview-header-left {
  display: flex;
  align-items: center;
  flex: 1;
}

/* 중앙 타이틀 */
.preview-header-title {
  flex: 1;
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-feature-settings: 'ss10' on;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%;
  letter-spacing: 0.091px;
  margin-left: 10px;
  margin-top: 5px;
}

/* 오른쪽 그룹 */
.preview-header-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 1;
  gap: 8px;
}

.preview-assistant-call-button {
  width: 70px;
  height: 28px;
  padding: 1px;
  background-color: #00C853;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 10px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
}

.preview-assistant-call-icon {
  width: 16px;
  height: 16px;
  margin-right: 4px;
}

.preview-kakao-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.preview-kakao-icon {
  width: 22px;
  height: 22px;
}

.preview-back-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  width: 24px;
  height: 24px;
}

.preview-back-icon {
  width: 24px;
  height: 24px;
}

.preview-search-button {
  background: var(--Background-Normal-Alternative, #F7F7F8);
  border: none;
  border-radius: 100px;
  cursor: pointer;
  display: flex;
  align-items: center;
  padding: 8px 12px;
  gap: 4px;
  height: 32px;
  width: 75px;  /* 가로 길이 지정 */
}

.preview-search-icon {
  width: 24px;
  height: 24px;
}

.preview-search-text {
  font-size: 13px;
  font-weight: 500;
  color: #666666;
  white-space: nowrap;  /* 텍스트 한 줄로 유지 */
  overflow: hidden;     /* 넘치는 텍스트 숨김 */
  text-overflow: ellipsis;  /* 넘치는 텍스트 ... 처리 */
}

.preview-user-button{
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  right: 24px;
}

.preview-user-icon {
  width: 24px;
  height: 24px;
  right: 24px;
}

.preview-banner {
  margin-left: 20px;
  margin-right: 20px;
  width: calc(100% - 40px);
  position: relative;
  overflow: hidden;
  background-color: #ffffff;
  border-radius: 12px;
  aspect-ratio: 3 / 1;  /* 3:1 비율 유지 */
}

.preview-banner-content {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background-color: rgb(247, 246, 246);
  aspect-ratio: 3 / 1;
}

.preview-banner-logo {
  width: 100%;
  height: 100%;
  aspect-ratio: 3 / 1;
  border-radius: 12px;
}

.preview-banner-text {
  display: block;
  position: absolute;
  z-index: 2;
  color: rgb(255, 255, 255);
  padding: 20px;
  margin-top: 20px;
}

.preview-banner-text p:first-child {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 4px;
}

.preview-banner-text p:last-child {
  font-size: 14px;
}

.preview-banner-text p {
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  color: #ffffff;
}

.preview-banner-button {
  padding: 8px 16px;
  background: none;
  border: none;
  color: #00BF40;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  padding-left: 0;
}

.preview-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-self: stretch;
  margin-left: 20px;
  margin-right: 20px;
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-feature-settings: 'ss10' on;
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%; /* 28px */
  letter-spacing: -0.24px;
}


.preview-academy-list {
  margin-left: 20px;
  margin-right: 20px;
}

.preview-aca-card {
  background: rgb(247, 246, 246);
  border-radius: 10px;
  padding: 12px 12px;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.preview-aca-logo-container {
  position: relative;
  width: 84px;
  height: 111px;
}

.preview-aca-badge-container {
  position: absolute;
  top: -6px;
  left: -6px;
  z-index: 2;
}

.preview-aca-badge-icon {
  width: 20px;
  height: 20px;
  color: #00C73C;
}

.preview-aca-image {
  width: 84px;
  height: 111px;
  border-radius: 8px;
  object-fit: cover;
}

.preview-aca-image-end {
  width: 84px;
  height: 111px;
  border-radius: 8px;
  object-fit: cover;
}

.preview-matching-badge {
  position: absolute;
  bottom: -6px;
  right: -6px;
  background: #00BF40;
  color: white;
  padding: 2px 6px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: bold;
}

.preview-aca-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 111px;  /* 이미지 높이와 동일하게 설정 */
  max-width: calc(100% - 100px); /* 이미지 너비(84px)와 여백을 고려한 최대 너비 설정 */
}

.preview-aca-name {
  font-size: 18px;
  font-weight: 600;
  color: #000000;
  margin: 0;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  width: 100%; /* 전체 너비 사용 */
}

/* 학원 이름 텍스트를 위한 새로운 span 스타일 */
.preview-aca-name-text {
  white-space: nowrap; /* 줄바꿈 방지 */
  overflow: hidden;    /* 넘치는 텍스트 숨김 */
  text-overflow: ellipsis; /* 말줄임표 표시 */
}

.preview-deadline {
  position: static;
  font-size: 12px;
  color: var(--Palette-Orange-40, var(--Orange-40, #d47800));
  background-color: var(--Palette-Orange-40, var(--Orange-40, #ffefda));
  padding: 2px 4px;
  border-radius: 4px;
  white-space: nowrap;
  flex-shrink: 0; /* D-day 크기 유지 */
}

.preview-deadline-end {
  position: static;
  font-size: 12px;
  color: var(--Palette-Orange-40, var(--Orange-40, #37383C9C));
  font-weight: 600;
  background-color: var(--Palette-Orange-40, var(--Orange-40, #ffffff));
  padding: 2px 4px;
  border-radius: 6px;
  white-space: nowrap;
  flex-shrink: 0; /* D-day 크기 유지 */
}

/* 리뷰 정보 스타일 */
.preview-rating-info {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 8px;
}

.preview-rating-star {
  color: #FFD700;
  font-size: 14px;
  line-height: 1;
}

.preview-rating-number {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-size: 14px;
  font-weight: 600;
}

.preview-review-count {
  color: #666;
  font-size: 12px;
  font-weight: 400;
}

.preview-aca-keyword {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-end;  /* 태그들을 아래쪽으로 정렬 */
  width: 100%;
  margin-top: auto;  /* 상단 여백을 자동으로 설정하여 아래로 밀기 */
}

.preview-aca-keyword div {
  height: 18px;
  padding: 1px 4px;
  margin: 0 6px 4px 0;  /* 아래쪽 마진 추가 */
  background: #ffffff;
  font-size: 13px;
  font-weight: 600;
  color: #666666;
  border-radius: 6px;
  display: flex;
  align-items: center;
  white-space: nowrap;
}

.preview-aca-category {
  font-size: 14px;
  color: #818181;
  margin: 0 0 4px 0;
}

.preview-aca-location {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #666666;
  font-size: 13px;
  margin: 0;
}

.preview-aca-location-icon {
  width: 16px;
  height: 16px;
}

.preview-aca-arrow-button {
  background: none;
  border: none;
  padding: 8px;
  cursor: pointer;
}

.preview-aca-arrow-button img {
  width: 20px;
  height: 20px;
}

.preview-user-modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: flex-end;
  z-index: 1000;
  max-width: 600px;
  height: 100vh;
  overflow-y: auto;
  margin: 0 auto;
}

.preview-user-modal {
  background: white;
  border-radius: 20px 20px 0 0;
  padding: 20px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  max-height: 90vh;
  max-width: 560px;
  margin: 0 auto;
}

.preview-user-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}

.preview-user-modal-header h2 {
  color: var(--Semantic-Label-Normal, #171719);
  font-size: 20px;
  font-weight: 600;
  margin: 0;
}

.preview-edit-button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}

.preview-edit-icon {
  width: 24px;
  height: 24px;
}

.preview-user-profile {
  display: flex;
  gap: 16px;
  margin-bottom: 24px;
}

.preview-user-profile-img {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  object-fit: cover;
  margin-top: 14px;
}

.preview-user-profile-info {
  flex: 1;
}

.preview-user-name {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 8px;
}

.preview-user-id {
  background: #e3ffe6;
  border-radius: 6px;
  padding: 2px 8px;
  color: #14e225;
  font-size: 14px;
  font-weight: normal;
}

.preview-user-type {
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  padding: 10px;
  width: 80%;
  height: 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.preview-user-type h3 {
  color: #171719;
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 4px 0;
}

.preview-user-type p {
  color: #868686;
  font-size: 14px;
  margin: 0;
}

.preview-user-details {
  background: #F7F7F8;
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 24px;
}

.preview-user-detail-item {
  display: flex;
  justify-content: space-between;
  margin-bottom: 12px;
}

.preview-user-detail-item:last-child {
  margin-bottom: 0;
}

.preview-user-detail-label {
  color: #868686;
  font-size: 14px;
}

.preview-user-detail-value {
  color: #171719;
  font-size: 14px;
  font-weight: 500;
}

.preview-company-info {
  margin-bottom: 24px;
}

.preview-company-button {
  width: 100%;
  background: none;
  border: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0;
  color: #868686;
  font-size: 14px;
  cursor: pointer;
}

.preview-company-details {
  margin-top: 12px;
  padding: 12px;
  background: #F7F7F8;
  border-radius: 12px;
}

.preview-company-details p {
  color: #868686;
  font-size: 14px;
  margin: 8px 0;
}

.preview-logout-button {
  width: 100%;
  padding: 16px;
  background: #ffffff;
  border: 1px solid #00C73C;
  border-radius: 12px;
  color: #00C73C;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
}

.preview-modal-content {
  flex: 1;
  overflow-y: auto;
  padding-bottom: 80px;
}

.preview-matching {
  width: 100%;
}

.preview-matching-box {
  width: auto;
  height: 34px;
  margin-left: 20px;
  margin-right: 20px;
  border-radius: 10px;
  border: 1px solid #70737C22;
  background: #ffffff;
  padding: 18px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.preview-matching-box-content {
  display: flex;
  flex-direction: column;
}

.preview-matching-box-title {
  font-size: 14px;
  font-weight: 600;
  color: #000;
  margin: 0;
}

.preview-matching-box-subtitle {
  font-size: 13px;
  font-weight: 400;
  color: #666;
  margin: 0 0 12px 0;
}

.preview-matching-title {
  font-size: 17px;
  font-weight: 700;
  color: #000;
  margin-bottom: 3px;
  margin-left: 10px;
}

.preview-matching-subtitle {
  font-size: 14px;
  color: #666;
  margin-bottom: 16px;
  margin-left: 10px;
}

.preview-test-start-button {
  color: #00C73C;
  background: white;
  border: 1px solid #00C73C;
  font-weight: 600;
  border-radius: 6px;
  font-size: 13px;
  padding: 7px 7px;
  cursor: pointer;
  width: 62px;
  height: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 5px;
}

.preview-test-start-button-re-test {
  color: #00C73C;
  background: white;
  border: 1px solid #00C73C;
  font-weight: 600;
  border-radius: 6px;
  font-size: 13px;
  padding: 7px 7px;
  cursor: pointer;
  width: 62px;
  height: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.preview-test-start-button:disabled,
.preview-test-start-button-re-test:disabled {
  opacity: 0.5;
  cursor: default;
  color: #a3a3a3;
  border-color: #a3a3a3;
}

.preview-category-grid {
  display: flex;
  overflow-x: auto;
  margin-left: 20px;
  margin-right: 20px;
  -webkit-overflow-scrolling: touch;
  white-space: nowrap;
  scrollbar-width: none;  /* Firefox */
  -ms-overflow-style: none;  /* IE and Edge */
  user-select: none;  /* 드래그 중 텍스트 선택 방지 */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

.preview-category-grid::-webkit-scrollbar {
  display: none;
}

/* 드래그 중일 때 버튼 클릭 방지 */
.preview-category-grid.dragging .preview-category-button,
.preview-category-grid.dragging .preview-test-start-button,
.preview-category-grid.dragging .preview-test-start-button-re-test {
  pointer-events: none;
}

/* 카테고리 아이템들이 드래그 중에도 선택되지 않도록 */
.preview-category-item {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

/* 별도의 스크롤바 컨테이너 */
.preview-scroll-track {
  height: 3px;
  background: #EEEEEE;
  margin: 0 24px;
  position: relative;
  margin-bottom: 10px;
}

.preview-scroll-thumb {
  position: absolute;
  height: 100%;
  background: #c4c4c4;
  width: 30%;  /* 스크롤 위치에 따라 동적으로 조절됨 */
  border-radius: 1px;
}

.preview-category-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-left: 5px;
  margin-right: 5px;
  margin-bottom: 10px;
  margin-top: 10px;
}

.preview-category-button {
  width: 87px;
  height: 87px;
  border: none;  /* 테두리 제거 */
  border-radius: 30px;
  background: none;
  padding: 10px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

/* active 상태의 스타일 제거 */
.preview-category-button.active::before {
  display: none;
}

.preview-category-icon {
  width: 80px;
  height: 80px;
  position: relative;
  z-index: 1;
}

.preview-category-item span {
  font-size: 14px;
  color: #ffffff;
  text-align: center;
}

.preview-academy-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 4px 0;
}

.preview-category-tag {
  background: #F3F4F6;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 10px;
  color: #666666;
  white-space: nowrap;
}

.preview-footer-info {
  padding: 16px;
  margin-top: 20px;
  color: #666666;
  font-size: 13px;
  line-height: 1.5;
  border-top: 1px solid #E5E7EB;
  margin-left: 10px;
}

.preview-footer-address {
  margin-bottom: 8px;
}

.preview-footer-copyright {
  color: #999999;
}
.preview-banner-indicators {
  position: static;
  transform: none;
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 12px;
  margin-bottom: 12px;
}

.preview-indicator {
  width: 10px;
  height: 10px;
  margin-right: 5px;
  border-radius: 50%;
  background-color: #E5E7EB;
  cursor: pointer;
  transition: all 0.3s ease;
}

.preview-indicator.active {
  background-color: #000000;
  transform: scale(1.2);
}

.preview-no-recommendations {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px 20px;
  text-align: center;
  color: #666;
  font-size: 14px;
  margin-left: 20px;
  margin-right: 20px;
}

.preview-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px;
  min-height: 200px;
}

.preview-loading-spinner {
  width: 40px;
  height: 40px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid #00BF40;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 10px;
}

.preview-loading p {
  color: #666;
  font-size: 14px;
}

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

.preview-matching-more-icon {
  width: 24px;
  height: 24px;
  margin-right: 6px;
}

.preview-matching-more {
  width: 100%;
  background: none;
  border: none;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.preview-matching-more p {
  font-size: 14px;
  font-weight: 600;
  color: #868686;
  margin: 0px;
}

.preview-community-section {
  height: auto;
  background-color: #fff;
  margin-top: 10px;
  margin-bottom: 40px;
}

.preview-community-posts {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.preview-post-item {
  display: flex;
  flex-direction: column;  /* 세로 정렬로 변경 */
  align-items: flex-start;  /* 왼쪽 정렬 */
  padding: 12px 20px;
  border-bottom: 1px solid #f0f0f0;
  gap: 4px;  /* 제목과 날짜 사이 간격 */
}

.preview-post-type {
  color: #666666;
  background-color: #F3F4F6;
  padding: 2px 8px;
  border-radius: 4px;
  white-space: nowrap;
  color: var(--Semantic-Label-Alternative, var(--Label-Alternative, rgba(55, 56, 60, 0.61)));
  font-feature-settings: 'ss10' on;
  font-size: 13px;
  font-style: normal;
  font-weight: 600;
  line-height: 138.5%; /* 18.005px */
  letter-spacing: 0.252px;
}

.preview-post-title {
  color: #333;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-feature-settings: 'ss10' on;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 146.7%; /* 22.005px */
  letter-spacing: 0.144px;
}

.preview-post-date {
  font-size: 13px;
  color: #999;
}

.preview-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
  margin-left: 20px;
  margin-right: 20px;
}

.preview-section-header h2 {
  font-size: 18px;
  margin: 0;
}

.preview-more-button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}

.preview-arrow-icon {
  width: 20px;
  height: 20px;
}

.preview-line-banner {
  width: auto;
  margin: 0 20px 16px;
  position: relative;
  overflow: hidden;
  background-color: #f5f5f5;
  border-radius: 12px;
}

.preview-line-banner-content {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background-color: rgb(247, 246, 246);
  aspect-ratio: 7 / 1;
}

.preview-line-banner-logo {
  width: 100%;
  aspect-ratio: 7 / 1;
}

.preview-categories {
  display: flex;
  overflow-x: auto;
  padding: 15px;
  gap: 16px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none;  /* IE and Edge */
  white-space: nowrap;
}

/* 스크롤바 숨기기 */
.preview-categories::-webkit-scrollbar {
  display: none;
}

/* 이미지 슬라이더의 선택 테두리 수정 */
.preview-preview-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: all 0.3s ease;
  margin: 0 4px;
}

.preview-preview-dot.active {
  background: white;
  transform: scale(1.2);
  box-shadow: 0 0 4px rgba(255, 255, 255, 0.8);
}

.preview-dots {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  padding: 8px;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.3);
  z-index: 2;
}

.preview-tag-icon {
  width: 16px;  /* 또는 원하는 크기 */
  height: 16px;
  margin-right: 4px;
  vertical-align: middle;
}

.preview-aca-keyword > div {
  display: flex;
  align-items: center;
}

.preview-shuttle-active {
  color: #2BB673;  /* 초록색 */
}

.preview-aca-subname {
  font-size: 0.9em;
  color: #666;
  display: block;
  margin-top: 4px;
}

.preview-divider {
  width: 120%;
  height: 8px;
  background: var(--Background-Normal-Alternative, #F7F7F8);
  margin-top: 16px;
  margin-bottom: 16px;
}

/* 커뮤니티 탭 컨테이너 추가 */
.preview-community-tabs {
  display: flex;
  gap: 8px;
  margin: 0 20px 12px;
}

/* 탭 버튼 스타일 */
.preview-community-tab {
  padding: 8px 16px;
  border-radius: 7px;
  border: none;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  background: var(--Background-Normal-Alternative, #F7F7F8);
  color: var(--Semantic-Label-Alternative, rgba(55, 56, 60, 0.61));
}

/* 활성화된 탭 스타일 */
.preview-community-tab.active {
  background: var(--Primary-Normal, #00BF40);
  color: #FFFFFF;
}

.preview-company-info-main {
  margin-left: 20px;
  margin-right: 20px;
  margin-top: 40px;
}

.preview-company-title {
  font-size: 14px;
  color: #adadad;
  font-weight: 600;
  margin-left: 4px;
}.stu-welcome-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    min-height: 100vh;
    padding: 0;
    margin: 0;
    position: relative;
    overflow: hidden;
}

.stu-welcome-content {
    display: flex;
    flex-direction: column;
    align-items: left;
    margin-left: 20px;
}

.stu-welcome-content h1 {
    font-size: 28px;
    font-weight: bold;
    color: #000;
    margin: 0px;
    margin-top: 30px;
}

.stu-welcome-content p {
    font-size: 18px;
    color: #969696;
    margin-top: 10px;
}


.stu-welcome-location-container {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.stu-welcome-select.full-width {
    width: 100%;
    border: 1px solid rgba(112, 115, 124, 0.22);
    border-radius: 8px;
    font-size: 14px;
    display: flex;
    padding: 13px 12px;
    align-items: center;
    box-sizing: border-box;
}

.stu-welcome-select-wrapper {
    position: relative;
    width: 100%;
  }
  
.stu-welcome-select-wrapper::after {
    content: '';
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    background: url('/arrow-down.png') no-repeat center;
    background-size: 24px 24px;
    filter: invert(70%) sepia(9%) saturate(100%) hue-rotate(169deg) brightness(93%) contrast(90%);
    pointer-events: none;
  }

.stu-welcome-select {
    width: 100%;
    padding: 12px;
    padding-right: 40px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: #FFFFFF;
    border: 1px solid #E9ECEF;
    border-radius: 8px;
    cursor: pointer;
    color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  }
  
.stu-welcome-select option:first-child {
    color: var(--Semantic-Label-Assistive, var(--Label-Assistive, rgba(55, 56, 60, 0.28)));
  }
  
.stu-welcome-select option:not(:first-child) {
    color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  }

.stu-welcome-form-group {
    width: calc(100% - 40px);
    padding-bottom: 50px;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 142.9%;
    letter-spacing: 0.203px;
}

.stu-welcome-form-group label {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 500;
    color: var(--Label-Alternative, rgba(55, 56, 60, 0.61));
}


.stu-welcome-button {
    width: calc(100% - 40px);
    height: 48px;
    background-color: #00bf40;
    color: #fff;
    font-size: 16px;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    margin-bottom: 40px;
}.aca-terms-page-container {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.aca-terms-page-header {
  width: 100%;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.aca-terms-page-header-back-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  position: absolute;
  left: 10px;
}

.aca-terms-page-header-back-icon {
  width: 24px;
  height: 24px;
}

.aca-terms-page-header-title {
  font-size: 18px;
  font-weight: 600;
  color: #000000;
}

.aca-terms-page-content {
  width: 100%;
  height: 100%;
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.aca-terms-page-content-item {
    width: 100%;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-left: 30px;
}

.aca-terms-page-content-item-icon {
    width: 24px;
    height: 24px;
    margin-right: 30px;
}

.aca-terms-page-content-item-title {
    font-size: 14px;
    font-weight: 400;
    color: #000000;
    margin-left: 16px;
}

.aca-terms-page-footer {
    width: 100%;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: 0;
}

.aca-terms-page-footer-button {
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    color: #bdbdbd;
    font-size: 14px;
    border: none;
    cursor: pointer;
    font-weight: 400;
}

.aca-terms-page-footer-button:hover {
    background-color: #f5f5f5;
    color: #bdbdbd;
}

.aca-terms-page-footer-button:active {
    background-color: #f5f5f5;
    color: #000000;
}


.aca-withdraw-container {
    padding: 10px;
    background-color: #fff;
    min-height: 100vh;
}

.aca-withdraw-header {
    display: flex;
    align-items: center;
    margin-bottom: 30px;
    margin-top: 8px;
    position: relative;
}

.aca-withdraw-header-back-button {
    background: none;
    border: none;

    cursor: pointer;
}

.aca-withdraw-header-back-icon {
    width: 24px;
    height: 24px;
}

.aca-withdraw-header-title {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    font-size: 18px;
    font-weight: 600;
}

.aca-withdraw-content {
    padding: 0 16px;
}

.aca-withdraw-warning {
    margin-bottom: 40px;
}

.aca-withdraw-warning h2 {
    font-size: 24px;
    margin-bottom: 12px;
}

.aca-withdraw-warning p {
    color: #666;
    margin-bottom: 20px;
    line-height: 1.5;
}

.aca-withdraw-warning ul {
    background-color: #f8f8f8;
    padding: 12px;
    padding-top: 20px;
    border-radius: 8px;
    list-style: none;
}

.aca-withdraw-warning li {
    color: #666;
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px;
}

.aca-withdraw-warning li:before {
    content: "•";
    position: absolute;
    left: 0;
}

.aca-withdraw-reasons {
    margin-bottom: 40px;
}

.aca-withdraw-reasons h3 {
    font-size: 18px;
    margin-bottom: 8px;
}

.aca-withdraw-reasons p {
    color: #666;
    margin-bottom: 20px;
}

.aca-withdraw-checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 16px;
    opacity: 0.7;
}

.aca-withdraw-checkbox-group label {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #333;
}

.aca-withdraw-checkbox-group input[type="checkbox"] {
    width: 20px;
    height: 20px;
    border: 2px solid #ddd;
    border-radius: 4px;
}

.aca-withdraw-comment {
    margin-bottom: 40px;
    margin-right: 35px;
}

.aca-withdraw-comment h3 {
    font-size: 18px;
}

.aca-withdraw-comment p {
    color: #666;
    line-height: 1.5;
}

.aca-withdraw-comment textarea {
    width: 100%;
    height: 120px;
    padding: 16px;
    border: 1px solid #ddd;
    border-radius: 8px;
    resize: none;
    font-size: 16px;
    opacity: 0.7;
}

.aca-withdraw-comment textarea::placeholder {
    color: #999;
}

.aca-withdraw-consent {
    margin-top: 100px;
    margin-bottom: 30px;
}

.aca-withdraw-consent label {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #333;
}

.aca-withdraw-consent input[type="checkbox"] {
    width: 20px;
    height: 20px;
    border: 2px solid #ddd;
    border-radius: 4px;
}

.aca-withdraw-submit-button {
    width: 100%;
    height: 40px;
    margin-bottom: 40px;
    padding: 16px;
    background-color: #ff4b4b;
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.aca-withdraw-submit-button:disabled {
    background-color: #ddd;
    cursor: not-allowed;
}
/* 1100px 이상에서만 사이드바 레이아웃 적용 */
@media (min-width: 1100px) {
  .app-with-sidebar {
    display: flex;
    max-width: 1400px;
    margin: 0 auto;
    background-color: #ebffee;

  }

  .sidebar-container {
    width: 300px;
    background-color: #ebffee;
    min-height: 100vh;
    padding: 20px;
    box-sizing: border-box;
    position: fixed;
    top: 0;
    margin-right: 20px;
    align-items: center;
    justify-content: center;
    display: flex;
    flex-direction: column;
  }

  .main-content-container {
    background-color: #ebffee;
    min-width: 600px;
    max-width: 1100px;
    margin-left: 320px;
    flex: 1;
  }

  .sidebar-container-bottom {
    background-color: #ffffff;
    width: 100%;
    height: 100px;
    border-radius: 10px;
    margin-top: 20px;
    margin-left: 20px;
  }

  .sidebar-container-bottom-icon {
    /* 아이콘  왼쪽 정렬 */
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: left;
    margin-right: 10px;
    margin-left: 10px;
    margin-top: 10px;
  }
}

/* 1100px 미만에서는 사이드바 숨김 */
@media (max-width: 1099px) {
  .sidebar-container {
    display: none;
  }
  
  .app-with-sidebar {
    display: block;
  }
  
  .main-content-container {
    width: 100%;
  }
} .review-write-page {
  width: 100%;
  min-height: 100vh;
  flex-direction: column;
  background-color: white;
  position: relative;
  padding-top: env(safe-area-inset-top);
  overflow-x: hidden;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.review-write-page::-webkit-scrollbar {
  display: none;
}

.review-write-header {
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background-color: white;
  display: flex;
  align-items: center;
  height: 58px;
  padding: 0 10px;
  max-width: 560px;
  margin: 0 auto;
}

.review-write-back-button {
  background: none;
  border: none;
  width: 24px;
  height: 24px;
  left: 0;
  margin-left: 10px;
  position: absolute;
  cursor: pointer;
}

.review-write-back-icon {
  width: 24px;
  height: 24px;
  margin-left: 10px;
}

.review-write-header-title-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  right: 0;
}

.review-write-header-title {
  text-align: center;
  width: 100%;
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  text-align: center;
  font-feature-settings: 'ss10' on;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%;
  letter-spacing: 0.091px;
}

.review-write-progress {
  z-index: 100;
  height: 6px;
  background-color: #ebebeb;
  border-radius: 20px;
  margin-left: 20px;
  margin-right: 20px;
  max-width: 560px;
}

.review-write-progress-bar {
  height: 100%;
  background-color: #40e088;
  border-radius: 20px;
  transition: width 0.3s ease;
}

.review-write-content {
  padding-bottom: 100px;
}

.review-write-form {
  margin-left: 20px;
  margin-right: 20px;
  margin-top: 20px;
}

.review-write-form-group {
  width: 100%;
  margin-bottom: 24px;
}

.review-write-form-group p {
  color: var(--Label-Alternative, rgba(55, 56, 60, 0.61));
  font-feature-settings: 'ss10' on;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 142.9%;
  letter-spacing: 0.203px;
  margin-bottom: 12px;
}

.review-write-options-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

.review-write-option-button {
  width: 100%;
  height: 48px;
  border: 1px solid rgba(112, 115, 124, 0.22);
  border-radius: 8px;
  background: white;
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-feature-settings: 'ss10' on;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 146.7%;
  letter-spacing: 0.144px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.review-write-option-button.selected {
  background: #E6F7EC;
  border-color: #00BF40;
  color: #00BF40;
}

.review-write-option-button:hover {
  border-color: #00BF40;
}

.review-write-textarea {
  width: calc(100% - 24px);
  padding: 12px;
  border: 1px solid rgba(112, 115, 124, 0.22);
  border-radius: 8px;
  font-size: 15px;
  font-family: inherit;
  resize: vertical;
  min-height: 120px;
  line-height: 1.5;
}

.review-write-textarea:focus {
  outline: none;
  border-color: #00BF40;
}

.review-write-textarea::placeholder {
  color: #999;
}

.review-write-button-wrapper {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20px;
  background: white;
  z-index: 9;
  max-width: 560px;
  margin: 0 auto;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
}

.review-write-next-button {
  width: 100%;
  height: 48px;
  background-color: #00BF40;
  color: white;
  border: none;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s;
}

.review-write-next-button:hover:not(.disabled) {
  background-color: #00a836;
}

.review-write-next-button.disabled {
  background-color: #d4d4d4;
  cursor: not-allowed;
  opacity: 0.4;
}

.review-write-rating-container {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 0;
}

.review-write-star {
  background: none;
  border: none;
  font-size: 40px;
  cursor: pointer;
  color: #E0E0E0;
  transition: color 0.2s;
  padding: 0;
  line-height: 1;
}

.review-write-star.filled {
  color: #FFD700;
}

.review-write-star:hover {
  transform: scale(1.1);
}

.review-write-rating-text {
  font-size: 26px;
  font-weight: 600;
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  margin-left: 8px;
}

.review-manage-container {
  width: 100%;
  min-height: 100vh;
  background-color: #fff;
  padding-bottom: 20px;
  position: relative;
}

.review-manage-header {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 0px 10px;
  height: 58px;
}

.review-manage-back-button {
  position: absolute;
  left: 20px;
  background: none;
  border: none;
  padding: 5px;
  cursor: pointer;
}

.review-manage-back-icon {
  width: 24px;
  height: 24px;
}

.review-manage-header-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
}

.review-manage-content {
  padding: 20px;
}

.review-manage-search-container {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
}

.review-manage-search-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  background-color: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  flex: 1;
}

.review-manage-search-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.review-manage-search-input {
  flex: 1;
  border: none;
  background: transparent;
  font-size: 15px;
  outline: none;
  color: #333;
}

.review-manage-search-input::placeholder {
  color: #999;
}

.review-manage-search-button {
  padding: 12px 10px;
  background-color: #ffffff;
  color: rgb(0, 0, 0);
  border: none;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
}

.review-manage-search-button:hover {
  background-color: #555;
}

.review-manage-loading,
.review-manage-empty {
  text-align: center;
  padding: 60px 20px;
  color: #999;
  font-size: 14px;
}

.review-manage-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.review-manage-item {
  background-color: #ffffff;
  border: 1px solid #E5E5E5;
  border-radius: 12px;
  padding: 20px;
}

.review-manage-item-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.review-manage-item-header-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.review-manage-item-code {
  color: #999;
  background-color: #f0f0f0;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
}

.review-manage-status-badge {
  display: inline-block;
  padding: 4px 8px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.review-manage-status-badge.pinned {
  background-color: #E8F5E9;
  color: #2E7D32;
}

.review-manage-status-badge.pin-request {
  background-color: #FFF3E0;
  color: #E65100;
}

.review-manage-status-badge.delete-request {
  background-color: #FFEBEE;
  color: #C62828;
}

.review-manage-item-title {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-size: 16px;
  font-weight: 600;
}

.review-manage-item-rating {
  display: flex;
  align-items: center;
  gap: 8px;
}

.review-manage-rating-number {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-size: 18px;
  font-weight: 600;
}

.review-manage-stars {
  display: flex;
  gap: 2px;
}

.review-manage-stars .star {
  font-size: 18px;
  line-height: 1;
}

.review-manage-stars .star.filled {
  color: #FFD700;
}

.review-manage-stars .star.empty {
  color: #E0E0E0;
}

.review-manage-item-info {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
  font-size: 13px;
}

.review-manage-user-name {
  color: #333;
  font-weight: 500;
}

.review-manage-date {
  color: #999;
}

.review-manage-item-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.review-manage-content-row {
  display: flex;
  flex-direction: row;
  gap: 12px;
  align-items: flex-start;
}

.review-manage-label {
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  flex-shrink: 0;
  min-width: 70px;
  color: #171719;
}

.review-manage-label.good {
  /* color: #00C853; */
}

.review-manage-label.bad {
  /* color: #FF6B6B; */
}

.review-manage-text {
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
  word-break: keep-all;
  word-wrap: break-word;
  flex: 1;
}

/* 모달 스타일 */
.review-manage-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  z-index: 1000;
  animation: fadeIn 0.3s ease-in-out;
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}

@keyframes fadeIn {
  from {
    background-color: rgba(0, 0, 0, 0);
  }
  to {
    background-color: rgba(0, 0, 0, 0.5);
  }
}

.review-manage-modal-bottom {
  width: calc(100% - 40px);
  max-width: 560px;
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background: white;
  border-radius: 20px 20px 0 0;
  padding: 20px;
  z-index: 1001;
  animation: slideUp 0.3s ease;
}

/* 600px 초과 화면에서는 absolute로 변경 */
@media (min-width: 1101px) {
  .review-manage-modal-overlay {
    position: fixed;
    left: 320px;
  }
}

@media (min-width: 1101px) {
  .review-manage-modal-bottom {
    position: fixed;
    margin-left: 160px;
  }
}

@keyframes slideUp {
  from {
    transform: translate(-50%, 100%);
  }
  to {
    transform: translate(-50%, 0);
  }
}

.review-manage-bar-icon {
  display: block;
  margin: 0 auto 16px;
  width: 40px;
  height: 4px;
}

.review-manage-modal-title {
  font-size: 18px;
  font-weight: 600;
  text-align: center;
  color: var(--Semantic-Label-Normal, var(--Label-Normal, #171719));
  margin-bottom: 20px;
}

.review-manage-modal-option {
  width: 100%;
  padding: 16px;
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  background: white;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 12px;
  color: #333;
}

.review-manage-modal-option.delete {
  border-color: #ff4444;
  color: #000000;
}

.review-manage-modal-option.cancel {
  border-color: #999999;
  color: #000000;
}

.review-manage-modal-option:hover {
  background-color: #f9f9f9;
}

.review-manage-option-icon {
  width: 20px;
  height: 20px;
}
 
@media (min-width: 1100px) {
  #root {
    display: flex;
    justify-content: center;
    background-color: #ebffee;
    min-height: 100vh;
    flex-direction: row;
    
  }

  .App {
    width: 1100px;
    background-color: white;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    position: relative;
  }
}

/* Add this to ensure App takes full width below 1100px */
.App {
  width: 100%;
  min-height: 100vh;
  background-color: white;
}
