/* 기본 스타일 */
body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans KR', 'Malgun Gothic', sans-serif;
  /* iOS safe area 대응 (홈 화면 추가 시 상단 notch/인디케이터) */
  padding-top: env(safe-area-inset-top);
  padding-bottom: env(safe-area-inset-bottom);
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}

/* standalone(PWA) 모드에서는 배경을 테마색과 맞춤 */
@media (display-mode: standalone) {
  body {
    background: #f8fafc;
    overscroll-behavior-y: contain;
  }
}

/* 일정 카드 애니메이션 */
.schedule-item {
  transition: background-color 0.15s ease;
}
.schedule-item.done {
  opacity: 0.55;
}
.schedule-item.done .schedule-title {
  text-decoration: line-through;
  color: #94a3b8;
}

.fade-in {
  animation: fadeIn 0.3s ease;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

/* 토스트 */
.toast {
  position: fixed;
  bottom: 24px;
  right: 24px;
  padding: 12px 18px;
  border-radius: 10px;
  background: #1e293b;
  color: #fff;
  box-shadow: 0 10px 25px -5px rgba(0,0,0,0.2);
  z-index: 9999;
  font-size: 14px;
  animation: slideUp 0.3s ease;
}
@keyframes slideUp {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* 인쇄용 스타일 */
@media print {
  body { background: #fff !important; }
  .no-print { display: none !important; }
  .print-area {
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
  }
  @page { margin: 1.5cm; }
}
