/* ============================================
   AdBid Manager - 공통 커스텀 스타일
   (Tailwind CDN을 기본으로 사용하고, Tailwind로 표현하기
    어려운 세부 스타일만 여기서 보강합니다)
   ============================================ */

:root {
  --brand-500: #4f46e5;
  --brand-600: #4338ca;
  --brand-50: #eef2ff;
}

body {
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Noto Sans KR', sans-serif;
  background-color: #f5f6fa;
}

/* 스크롤바 */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 8px; }
::-webkit-scrollbar-track { background: transparent; }

/* 로딩 스피너 */
.spinner {
  width: 34px; height: 34px;
  border: 4px solid #e5e7eb;
  border-top-color: var(--brand-500);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* 상태 배지 */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}
.badge-lead { background:#eef2ff; color:#4338ca; }
.badge-prep { background:#fef3c7; color:#92400e; }
.badge-submitted { background:#dbeafe; color:#1e40af; }
.badge-waiting { background:#e0e7ff; color:#3730a3; }
.badge-won { background:#dcfce7; color:#15803d; }
.badge-lost { background:#fee2e2; color:#b91c1c; }
.badge-dropped { background:#f1f5f9; color:#475569; }

/* 카드 hover */
.hover-card { transition: box-shadow .2s ease, transform .2s ease; }
.hover-card:hover { box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1); transform: translateY(-2px); }

/* 테이블 행 hover */
.tbl-row:hover { background-color: #f8fafc; }

/* 사이드 내비 아이템 */
.nav-item {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; border-radius: 10px;
  color: #475569; font-weight: 500; font-size: 14px;
  transition: background .15s, color .15s;
}
.nav-item:hover { background: #f1f5f9; color: #1e293b; }
.nav-item.active { background: var(--brand-50); color: var(--brand-600); font-weight: 700; }

/* 모달 오버레이 */
.modal-overlay {
  position: fixed; inset: 0; background: rgba(15,23,42,0.55);
  display: flex; align-items: center; justify-content: center;
  z-index: 60; padding: 16px;
}

/* 폼 라벨 */
.form-label { display:block; font-size: 13px; font-weight: 600; color:#334155; margin-bottom:4px; }
.form-hint { font-size: 12px; color:#94a3b8; margin-top: 4px; }

/* 통계 카드 숫자 */
.kpi-value { font-size: 28px; font-weight: 800; letter-spacing: -0.5px; }

/* 유틸: line-clamp */
.line-clamp-1 { display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
.line-clamp-2 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* 탭 */
.tab-btn { padding: 10px 4px; border-bottom: 2px solid transparent; font-weight:600; color:#94a3b8; font-size:14px; }
.tab-btn.active { border-bottom-color: var(--brand-500); color: var(--brand-600); }

/* 반응형 테이블 스크롤 */
.table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* print 숨김 */
@media print {
  .no-print { display: none !important; }
}
