/* KPMC Golden 60 - 커스텀 스타일 */
* { -webkit-tap-highlight-color: transparent; }
body { font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Malgun Gothic', sans-serif; }

/* 큰 터치 버튼 */
.btn-touch { min-height: 56px; font-size: 1.05rem; font-weight: 700; }

/* 긴급 배너 깜빡임 */
@keyframes pulse-urgent {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.75; }
}
.banner-urgent { animation: pulse-urgent 2s ease-in-out infinite; }

/* 로딩 스피너 */
.spinner {
  border: 3px solid rgba(10,92,86,0.2);
  border-top-color: #0a5c56;
  border-radius: 50%;
  width: 32px; height: 32px;
  animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

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

/* 음성(TTS) 재생 중 버튼 강조 — 재생/멈춤 상태를 확실히 구분 */
@keyframes tts-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.5); }
  50%      { box-shadow: 0 0 0 6px rgba(16, 185, 129, 0); }
}
.tts-playing { animation: tts-pulse 1.1s ease-in-out infinite; }

/* 브리핑 인쇄(PDF) 최적화 */
@media print {
  .no-print { display: none !important; }
  body { background: #fff !important; }
  .print-area { box-shadow: none !important; margin: 0 !important; max-width: 100% !important; }
  .break-inside-avoid { break-inside: avoid; }
  @page { margin: 15mm; }
}
