/**********************************************
 * 수능 디데이 계산기 컨테이너
 **********************************************/
.csat-countdown-container {
  margin: 20px auto !important;
  padding: 30px !important;
  background: #f8f9fa !important;
  border-radius: 15px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 1180px !important;
  font-family: 'Noto Sans KR', 'Malgun Gothic', sans-serif !important;
  color: #333 !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
  overflow: hidden !important;
}

@media screen and (max-width: 768px) {
  .csat-countdown-container {
    padding: 15px 8px !important;
    margin: 10px auto !important;
    border-radius: 10px !important;
  }
}

.csat-title {
  text-align: center !important;
  font-size: 2em !important;
  margin-top: 0 !important;
  margin-bottom: 10px !important;
  color: #2d3748 !important;
  font-weight: 700 !important;
}

.csat-subtitle {
  text-align: center !important;
  font-size: 1.1em !important;
  margin-bottom: 25px !important;
  color: #4a5568 !important;
}

/**********************************************
 * 디데이 표시 영역
 **********************************************/
.csat-dday-container {
  text-align: center !important;
  margin-bottom: 20px !important;
}

.csat-dday-number {
  font-size: 12rem !important;
  font-weight: 800 !important;
  color: #e53e3e !important;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1) !important;
  line-height: 1.1 !important;
  padding: 15px 0 !important;
  transition: all 0.3s ease !important;
  letter-spacing: -1px !important;
}

@media screen and (max-width: 768px) {
  .csat-dday-number {
    font-size: 5rem !important;
    padding: 10px 0 !important;
  }
}

@media screen and (max-width: 480px) {
  .csat-dday-number {
    font-size: 4rem !important;
  }
}

/**********************************************
 * 카운트다운 타이머 영역
 **********************************************/
.csat-countdown-timer {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 15px !important;
  margin: 25px 0 35px !important;
}

.csat-time-unit {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  min-width: 120px !important;
  background-color: #fff !important;
  border-radius: 12px !important;
  padding: 5px 5px !important;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05) !important;
  border: 1px solid #e2e8f0 !important;
  transition: all 0.3s ease !important;
}

.csat-time-value {
  font-size: 2.3em !important;
  font-weight: 700 !important;
  color: #2b6cb0 !important;
  margin-bottom: 2px !important;
}

.csat-time-label {
  font-size: 1.1em !important;
  color: #4a5568 !important;
  font-weight: 500 !important;
}

@media screen and (max-width: 768px) {
  .csat-time-unit {
    min-width: 80px !important;
    padding: 15px 5px !important;
  }
  
  .csat-time-value {
    font-size: 2.2em !important;
  }
  
  .csat-time-label {
    font-size: 0.9em !important;
  }
}

@media screen and (max-width: 480px) {
  .csat-time-unit {
    min-width: 65px !important;
    padding: 10px 5px !important;
  }
  
  .csat-time-value {
    font-size: 1.8em !important;
  }
}

/**********************************************
 * 시험일 정보 영역
 **********************************************/
.csat-exam-info {
  background-color: #fff !important;
  border-radius: 12px !important;
  padding: 20px !important;
  margin-bottom: 30px !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05) !important;
  border: 1px solid #e2e8f0 !important;
}

.csat-info-title {
  font-size: 1.3em !important;
  color: #2d3748 !important;
  margin-top: 0 !important;
  margin-bottom: 15px !important;
  font-weight: 600 !important;
  border-bottom: 2px solid #edf2f7 !important;
  padding-bottom: 10px !important;
}

.csat-info-row {
  display: flex !important;
  flex-wrap: wrap !important;
  margin-bottom: 10px !important;
  align-items: center !important;
}

.csat-info-label {
  font-weight: 600 !important;
  color: #4a5568 !important;
  width: 80px !important;
  flex-shrink: 0 !important;
}

.csat-info-value {
  color: #2b6cb0 !important;
  font-weight: 500 !important;
  flex-grow: 1 !important;
}

@media screen and (max-width: 768px) {
  .csat-exam-info {
    padding: 15px !important;
  }
  
  .csat-info-title {
    font-size: 1.2em !important;
  }
}

/**********************************************
 * 추가 기능 영역
 **********************************************/
.csat-additional-features {
  background-color: #fff !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05) !important;
  border: 1px solid #e2e8f0 !important;
  margin-bottom: 25px !important;
}

.csat-feature-tabs {
  display: flex !important;
  border-bottom: 1px solid #e2e8f0 !important;
  background-color: #f8fafc !important;
}

.csat-tab-btn {
  padding: 12px 15px !important;
  font-size: 0.95em !important;
  font-weight: 500 !important;
  color: #4a5568 !important;
  background: transparent !important;
  border: none !important;
  flex-grow: 1 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  border-bottom: 3px solid transparent !important;
}

.csat-tab-btn:hover {
  background-color: #f1f5f9 !important;
  color: #2b6cb0 !important;
}

.csat-tab-btn.active {
  color: #2b6cb0 !important;
  background-color: #fff !important;
  border-bottom: 3px solid #2b6cb0 !important;
  font-weight: 600 !important;
}

.csat-tab-content {
  display: none !important;
  padding: 20px !important;
}

.csat-tab-content.active {
  display: block !important;
}

.csat-tab-title {
  font-size: 1.2em !important;
  color: #2d3748 !important;
  margin-top: 0 !important;
  margin-bottom: 15px !important;
  font-weight: 600 !important;
}

@media screen and (max-width: 768px) {
  .csat-tab-btn {
    padding: 10px 8px !important;
    font-size: 0.85em !important;
  }
  
  .csat-tab-content {
    padding: 15px !important;
  }
  
  .csat-tab-title {
    font-size: 1.1em !important;
  }
}

/**********************************************
 * 학습 계획 탭
 **********************************************/
.csat-progress-container {
  height: 10px !important;
  background-color: #edf2f7 !important;
  border-radius: 5px !important;
  margin-bottom: 10px !important;
  overflow: hidden !important;
}

.csat-progress-bar {
  height: 100% !important;
  background-color: #3182ce !important;
  border-radius: 5px !important;
  width: 0% !important;
  transition: width 1s ease-in-out !important;
}

.csat-progress-info {
  font-size: 0.9em !important;
  color: #4a5568 !important;
  margin-bottom: 20px !important;
  text-align: center !important;
}

.csat-plan-container {
  margin-top: 15px !important;
}

.csat-plan-item {
  background-color: #ebf8ff !important;
  border-left: 4px solid #3182ce !important;
  padding: 15px !important;
  border-radius: 5px !important;
  margin-bottom: 15px !important;
}

.csat-plan-phase {
  font-size: 1.1em !important;
  color: #2c5282 !important;
  margin-top: 0 !important;
  margin-bottom: 8px !important;
  font-weight: 600 !important;
}

.csat-plan-desc {
  font-size: 0.95em !important;
  color: #4a5568 !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}

/**********************************************
 * 시험 과목 탭
 **********************************************/
.csat-subject-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.csat-subject-item {
  display: flex !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  padding: 12px 15px !important;
  border-bottom: 1px solid #edf2f7 !important;
  align-items: center !important;
}

.csat-subject-item:last-child {
  border-bottom: none !important;
}

.csat-subject-name {
  font-weight: 600 !important;
  color: #2d3748 !important;
}

.csat-subject-time {
  color: #4a5568 !important;
  font-size: 0.9em !important;
}

@media screen and (max-width: 480px) {
  .csat-subject-item {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 10px !important;
  }
  
  .csat-subject-time {
    margin-top: 5px !important;
    font-size: 0.85em !important;
  }
}

/**********************************************
 * 체크리스트 탭
 **********************************************/
.csat-checklist-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}

.csat-checklist-category {
  background-color: #f7fafc !important;
  border-radius: 8px !important;
  padding: 15px !important;
  border: 1px solid #e2e8f0 !important;
}

.csat-checklist-category-title {
  font-size: 1.05em !important;
  color: #2d3748 !important;
  margin-top: 0 !important;
  margin-bottom: 12px !important;
  font-weight: 600 !important;
}

.csat-checklist-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.csat-checklist-item {
  display: flex !important;
  align-items: center !important;
  cursor: pointer !important;
}

.csat-checkbox {
  margin-right: 10px !important;
  width: 18px !important;
  height: 18px !important;
  accent-color: #3182ce !important;
}

.csat-checkbox-text {
  font-size: 0.95em !important;
  color: #4a5568 !important;
  line-height: 1.4 !important;
}

/**********************************************
 * 응원 메시지 영역
 **********************************************/
.csat-motivation {
  text-align: center !important;
  margin-top: 20px !important;
  padding: 15px !important;
  background-color: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05) !important;
  border: 1px solid #e2e8f0 !important;
}

.csat-motivation-quote {
  font-size: 1.1em !important;
  color: #2d3748 !important;
  font-style: italic !important;
  margin: 0 0 15px 0 !important;
  line-height: 1.5 !important;
}

.csat-motivation-btn {
  background-color: #3182ce !important;
  color: white !important;
  border: none !important;
  padding: 8px 15px !important;
  border-radius: 5px !important;
  font-size: 0.9em !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.csat-motivation-btn:hover {
  background-color: #2c5282 !important;
}

/**********************************************
 * 공유하기 버튼
 **********************************************/
.csat-share-container {
  text-align: center !important;
  margin-top: 20px !important;
}

.csat-share-btn {
  background-color: #38a169 !important;
  color: white !important;
  border: none !important;
  padding: 10px 20px !important;
  border-radius: 5px !important;
  font-size: 1em !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

.csat-share-btn:hover {
  background-color: #2f855a !important;
}

.csat-share-icon {
  font-size: 1.2em !important;
}

@media screen and (max-width: 768px) {
  .csat-motivation {
    padding: 15px 10px !important;
  }
  
  .csat-motivation-quote {
    font-size: 1em !important;
  }
  
  .csat-share-btn {
    padding: 8px 15px !important;
    font-size: 0.9em !important;
  }
}