@import url('https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css');@import url('https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css');@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR&display=swap');@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800&family=JetBrains+Mono:wght@500&display=swap');@import url('https://fonts.googleapis.com/css2?family=Pretendard:wght@300;400;500;600;700;800&display=swap');@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css');



body[data-v-d41ca737] {
  font-family: 'Noto Sans KR', sans-serif;
}
.submenu-container[data-v-d41ca737] {
  position: relative;
}
.submenu[data-v-d41ca737] {
  position: absolute;
  top: 100%;
  left: 0;
  background-color: white;
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 0.5rem 0;
  list-style: none;
  min-width: 180px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
  z-index: 1000;
}
.submenu-item[data-v-d41ca737] {
  display: block;
  padding: 0.5rem 1rem;
  color: #333;
  text-decoration: none;
}
.submenu-item[data-v-d41ca737]:hover {
  background-color: #f8f9fa;
}
.logo-image[data-v-d41ca737] {
  height: 32px;
  display: block;
}

/* 기존 CSS 그대로 유지 */
.table-container[data-v-c1025e1c] {
  width: 100%;
  margin: 10px auto;
  padding: 5px;
  background: #fff;
  border-radius: 8px;
  font-size: 11px;
  position: relative;
}
.table-wrapper[data-v-c1025e1c] {
  width: 100%;
  overflow-x: auto;   /* 가로 스크롤만 (좁은 화면 대비) */
  /* 세로는 페이지 전체 스크롤로 처리 (고정 높이 없음) */
}
.order-table[data-v-c1025e1c] {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
  font-size: 11px;
}
.order-table th[data-v-c1025e1c] {
  background: #333;
  color: #fff;
  padding: 4px;
  border: 1px solid #555;
}
.order-table td[data-v-c1025e1c] {
  border: 1px solid #ddd;
  padding: 3px;
}
.order-table tbody tr[data-v-c1025e1c]:nth-child(odd) {
  background: #fafafa;
}
.order-table tbody tr[data-v-c1025e1c]:nth-child(even) {
  background: #f0f0f0;
}
.edit-input[data-v-c1025e1c] {
  width: 90%;
  font-size: 11px;
  padding: 2px;
}
.edit-textarea[data-v-c1025e1c] {
  width: 90%;
  font-size: 11px;
  padding: 2px;
  height: 30px;
}
.global-actions[data-v-c1025e1c] {
  margin-bottom: 8px;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.global-actions button[data-v-c1025e1c] {
  padding: 4px 6px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 11px;
}
.btn-add[data-v-c1025e1c] { background: #28a745; color: #fff;
}
.btn-copy[data-v-c1025e1c] { background: #6f42c1; color: #fff;
}
.btn-save[data-v-c1025e1c] { background: #007bff; color: #fff;
}
.btn-update[data-v-c1025e1c] { background: #fd7e14; color: #fff;
}
.btn-delete[data-v-c1025e1c] { background: #dc3545; color: #fff;
}
.pagination[data-v-c1025e1c] {
  margin-top: 8px;
  display: flex;
  justify-content: center;
  gap: 6px;
  font-size: 11px;
}
.search-bar[data-v-c1025e1c] {
  margin-bottom: 8px;
  display: flex;
  gap: 6px;
  align-items: center;
  font-size: 11px;
}
.search-bar input[data-v-c1025e1c],
.search-bar select[data-v-c1025e1c] {
  padding: 2px 4px;
  font-size: 11px;
  border: 1px solid #ccc;
  border-radius: 4px;
}
.search-bar button[data-v-c1025e1c] {
  padding: 2px 6px;
  font-size: 11px;
  background: #dc3545;
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
.total-amount[data-v-c1025e1c] {
  margin-top: 10px;
  font-weight: bold;
  font-size: 12px;
  text-align: right;
}
.summary-box[data-v-c1025e1c] {
  position: fixed;
  top: 50px;
  right: 20px;
  background: #f8f9fa;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 13px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  text-align: left;          /* 왼쪽 정렬 */
  width: auto;               /* 자동 폭 */
  display: flex;             /* ✅ 가로 정렬 */
  gap: 30px;                 /* ✅ 두 박스 간격 */
  align-items: flex-start;   /* 위쪽 정렬 */
  white-space: nowrap;       /* ✅ 줄바꿈 방지 */
  z-index: 999;
}
.summary-section h4[data-v-c1025e1c] {
  font-size: 13px;
  font-weight: bold;
  color: #007bff;
  margin-bottom: 6px;
}
.summary-item[data-v-c1025e1c] {
  margin-bottom: 3px;
}
.summary-box .summary-item[data-v-c1025e1c] {
  margin-bottom: 4px;
}
.summary-box .summary-item span[data-v-c1025e1c] {
  font-weight: bold;
  color: #333;
}
.summary-box .total[data-v-c1025e1c] {
  font-weight: bold;
  color: #007bff;
}
.order-table tbody tr.highlight-row[data-v-c1025e1c] { background: #ffe5e5 !important;
}
/* 테이블 헤더 고정 */
.order-table thead th[data-v-c1025e1c] {
  position: sticky;
  top: 0;
  background: #333;   /* 기존 배경색 유지 */
  color: #fff;
  z-index: 2;         /* 내용보다 위에 오도록 */
}
/* 연도/월 검색 영역 */
.date-search[data-v-c1025e1c] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
  font-size: 12px;
}
.date-search label[data-v-c1025e1c] {
  font-weight: bold;
}
.date-search select[data-v-c1025e1c],
.date-search button[data-v-c1025e1c] {
  padding: 2px 6px;
  font-size: 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
}
.date-search button[data-v-c1025e1c] {
  background: #007bff;
  color: #fff;
  cursor: pointer;
}
.date-search button[data-v-c1025e1c]:hover {
  background: #0056b3;
}

/* 빠른 선택 버튼 */
.quick-select[data-v-c1025e1c] {
  margin-bottom: 10px;
}
.quick-select button[data-v-c1025e1c] {
  margin-right: 5px;
  padding: 3px 8px;
  font-size: 12px;
  border: none;
  border-radius: 4px;
  background: #6c757d;
  color: #fff;
  cursor: pointer;
}
.quick-select button[data-v-c1025e1c]:hover {
  background: #495057;
}
.btn-sample[data-v-c1025e1c] {
  display: inline-block;     /* 버튼처럼 보이게 */
  padding: 4px 6px;
  background: #17a2b8;       /* 청록색 */
  color: #fff !important;    /* 글씨 흰색 */
  border-radius: 4px;
  text-decoration: none;     /* 밑줄 제거 */
  font-size: 11px;
  cursor: pointer;
}
.btn-sample[data-v-c1025e1c]:hover {
  background: #138496;       /* hover 시 조금 진하게 */
  text-decoration: none;     /* hover 시에도 밑줄 안 생기게 */
  color: #fff !important;
}
/* 상태 박스 (작은 색상칸) */
.status-box[data-v-c1025e1c] {
  display: inline-block;
  width: 16px;
  height: 16px;
  border-radius: 4px;
  border: 1px solid #ccc;
}
.status-box.yellow[data-v-c1025e1c] { background: yellow;
}
.status-box.red[data-v-c1025e1c]    { background: red;
}
.status-box.green[data-v-c1025e1c]  { background: green;
}
.status-box.blue[data-v-c1025e1c]   { background: blue;
}
.status-box.white[data-v-c1025e1c]   { background: white;
}

/* 행 색상 */
.row-yellow[data-v-c1025e1c] { background-color: #fff8dc !important;
} /* 연노랑 */
.row-red[data-v-c1025e1c]    { background-color: #ffe5e5 !important;
} /* 연빨강 */
.row-green[data-v-c1025e1c]  { background-color: #e6ffe6 !important;
} /* 연초록 */
.row-blue[data-v-c1025e1c]   { background-color: #e6f0ff !important;
} /* 연파랑 */
.selectable-cell[data-v-c1025e1c] {
  user-select: none;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.selectable-cell.selected[data-v-c1025e1c] {
  background-color: #b8e5ff !important; /* 하늘색 강조 */
}
.summary-item span[data-v-c1025e1c] {
  font-weight: bold;
  color: #333;
}
.summary-item.total span[data-v-c1025e1c] {
  color: #007bff;
}
.selectable-cell.selected[data-v-c1025e1c] {
  background-color: #b8e5ff !important; /* 하늘색 배경 */
  outline: 1px solid #ff4444;           /* 빨간 테두리 */
  outline-offset: -2px;
}
.summary-box h4[data-v-c1025e1c] {
  font-weight: bold;
  margin-bottom: 4px;
  color: #007bff;
}
.summary-box hr[data-v-c1025e1c] {
  margin: 6px 0;
  border: 0;
  border-top: 1px dashed #ccc;
}
.summary-section[data-v-c1025e1c] {
  display: flex;
  flex-direction: column;
  min-width: 200px;          /* 각 박스 최소 폭 */
}
.summary-box hr[data-v-c1025e1c] {
  margin: 6px 0;
  border: 0;
  border-top: 1px dashed #bbb;
}
.summary-box h4[data-v-c1025e1c] {
  font-size: 13px;
  font-weight: bold;
  color: #007bff;
  margin-bottom: 4px;
}
.btn-receipt[data-v-c1025e1c] {
  background: #007bff;
  color: #fff;
  border-radius: 4px;
  padding: 4px 6px;
  font-size: 11px;
}
.btn-receipt[data-v-c1025e1c]:hover {
  background: #0056b3;
}

/* 택배 테이블 간격 조정 히트수정 */
.col-shipping-fee[data-v-c1025e1c] {
  width: 42px !important;   
  min-width: 42px !important;
}
.order-table td.col-shipping-fee[data-v-c1025e1c] {
  width: 42px !important;
  min-width: 42px !important;
  white-space: nowrap;
}
/* 출고일자 테이블 간격 조정 히트수정 */
.col-ship-date[data-v-c1025e1c] {
  width: 66px !important;
  min-width: 66px !important;
}
.order-table td.col-ship-date[data-v-c1025e1c] {
  width: 66px !important;
  min-width: 66px !important;
}


/* 푸터 히트 수정 */
.hit-footer[data-v-c1025e1c] {
  margin-top: 40px;
  padding: 18px 12px;
  background: #f2f2f2;
  border-top: 1px solid #ddd;
  text-align: center;
  font-size: 12px;
  color: #555;
  border-radius: 6px;
}
.hit-footer .footer-inner[data-v-c1025e1c] {
  max-width: 800px;
  margin: 0 auto;
  line-height: 1.6;
}
.hit-footer .footer-info[data-v-c1025e1c] {
  font-size: 11px;
  color: #666;
  margin-bottom: 10px;
  line-height: 1.6;
}
.hit-footer .footer-copy[data-v-c1025e1c] {
  font-size: 11px;
  color: #999;
  text-align: center;
}

/* 2차 검색  히트 추가 PC */
.detail-search[data-v-c1025e1c] {
  display: inline-block;   /* 옆으로 이동 */
  margin-left: -138px;       /* 오른쪽 이동 */
  margin-top: 48px;         /* 아래쪽 이동 */
}

/* 2차 검색  히트 추가 모바일 */
@media screen and (max-width: 768px) {
.detail-search[data-v-c1025e1c] {
    margin-left: -166px;     /* 오른쪽 이동 */
    margin-top: 48px;       /* 아래쪽 이동 */
}
}

/* 히트추가 체크토글  */
.selected-count[data-v-c1025e1c] {
  font-size: 12px;
  margin: 6px 0 4px;
  font-weight: 600;
  color: #333;
}

/* 엑셀 업로드 이모티콘 애니메이션 */
.uploading-emoji[data-v-c1025e1c] {
  display: inline-block;
  animation: emoji-bounce-c1025e1c 0.6s ease-in-out infinite;
  font-size: 1.1em;
}
@keyframes emoji-bounce-c1025e1c {
0%, 100% { 
    transform: translateY(0) scale(1);
}
50% { 
    transform: translateY(-5px) scale(1.1);
}
}

/* 로딩 점 애니메이션 */
.loading-dots[data-v-c1025e1c] {
  display: inline-block;
  width: 1em;
  text-align: left;
}
.loading-dots[data-v-c1025e1c]::after {
  content: '...';
  animation: dots-c1025e1c 1.5s steps(4, end) infinite;
}
@keyframes dots-c1025e1c {
0%, 20% { content: '.';
}
40% { content: '..';
}
60%, 100% { content: '...';
}
}

/* 엑셀 업로드 스피너 스타일 */
.upload-spinner[data-v-c1025e1c] {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 3px solid #e0e0e0;
  border-top: 3px solid #007bff;
  border-radius: 50%;
  animation: spin-c1025e1c 0.8s linear infinite;
  margin-left: 4px;
  vertical-align: middle;
}
@keyframes spin-c1025e1c {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.upload-progress-text[data-v-c1025e1c] {
  display: block;
  margin-top: 8px;
  margin-left: 0;
  color: #007bff;
  font-size: 13px;
  font-weight: 500;
  animation: pulse-c1025e1c 1.5s ease-in-out infinite;
}
@keyframes pulse-c1025e1c {
0%, 100% { opacity: 1;
}
50% { opacity: 0.7;
}
}
button[data-v-c1025e1c]:disabled {
  opacity: 0.6 !important;
  cursor: not-allowed !important;
  pointer-events: none;
}

/* ===== 택배 조회 드롭다운 ===== */
.btn-track[data-v-c1025e1c] {
  margin-top: 3px;
  padding: 2px 10px;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  background: #1e293b;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s;
}
.btn-track[data-v-c1025e1c]:hover { background: #334155;
}



.tracking-popup {
  width: 340px;
  max-height: 400px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 8px 30px rgba(0,0,0,0.15);
  font-size: 12px;
  font-family: 'Pretendard Variable', 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.tracking-popup-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  border-bottom: 1px solid #f1f5f9;
  background: #f8fafc;
  border-radius: 12px 12px 0 0;
}
.tracking-popup-title { font-weight: 800; color: #1e293b; font-size: 13px;
}
.tracking-popup-close {
  background: none; border: none; font-size: 18px; cursor: pointer; color: #94a3b8; line-height: 1;
}
.tracking-popup-close:hover { color: #1e293b;
}
.tracking-popup-loading {
  display: flex; align-items: center; gap: 8px;
  padding: 24px 14px; color: #64748b; font-weight: 600;
}
.tracking-spinner {
  display: inline-block; width: 14px; height: 14px;
  border: 2px solid #e2e8f0; border-top-color: #3b82f6;
  border-radius: 50%; animation: tspin 0.6s linear infinite;
}
@keyframes tspin {
to { transform: rotate(360deg);
}
}
.tracking-popup-error {
  padding: 16px 14px; color: #dc2626; font-weight: 600;
}
.tracking-popup-body { padding: 12px 14px;
}
.tracking-popup-empty { padding: 16px 0; text-align: center; color: #94a3b8;
}
.tracking-status-row {
  display: flex; align-items: center; gap: 8px; margin-bottom: 12px;
  padding-bottom: 10px; border-bottom: 1px solid #f1f5f9;
}
.tracking-status-dot {
  width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0;
}
.tracking-status-dot.dot-green { background: #10b981; box-shadow: 0 0 0 3px rgba(16,185,129,0.15);
}
.tracking-status-dot.dot-blue { background: #3b82f6; box-shadow: 0 0 0 3px rgba(59,130,246,0.15);
}
.tracking-status-text { font-weight: 800; color: #0f172a; flex: 1;
}
.tracking-status-badge {
  padding: 3px 10px; border-radius: 50px; font-size: 11px; font-weight: 700;
}
.tracking-status-badge.badge-green { background: #ecfdf5; color: #059669;
}
.tracking-status-badge.badge-blue { background: #eff6ff; color: #2563eb;
}
.tracking-timeline { display: flex; flex-direction: column;
}
.tracking-timeline-item {
  display: flex; gap: 10px; padding: 6px 0;
  position: relative; padding-left: 18px;
  border-left: 2px solid #e2e8f0; margin-left: 5px;
}
.tracking-timeline-item:last-child { border-left-color: transparent;
}
.tracking-tl-dot {
  position: absolute; left: -5px; top: 9px;
  width: 8px; height: 8px; border-radius: 50%;
  background: #e2e8f0;
}
.tracking-tl-dot.active { background: #3b82f6; box-shadow: 0 0 0 3px rgba(59,130,246,0.15);
}
.tracking-tl-content { display: flex; flex-direction: column; gap: 1px;
}
.tracking-tl-time { font-size: 10px; color: #94a3b8; font-weight: 600;
}
.tracking-tl-desc { font-size: 12px; font-weight: 700; color: #1e293b;
}
.tracking-tl-loc { font-size: 10px; color: #64748b;
}

.setup-container[data-v-982e524b] {
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #f8f9fc;
}
.setup-wrap[data-v-982e524b] {
  width: 420px;
  padding: 40px 30px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0,0,0,.08);
  border: 1px solid #e5e7eb;
}
.setup-title[data-v-982e524b] {
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  color: #222;
  margin-bottom: 8px;
}
.setup-desc[data-v-982e524b] {
  text-align: center;
  font-size: 14px;
  color: #666;
  margin-bottom: 24px;
}
.step-title[data-v-982e524b] {
  font-size: 16px;
  font-weight: 600;
  color: #333;
  margin-bottom: 16px;
}
.form-group[data-v-982e524b] { margin-bottom: 14px;
}
.form-label[data-v-982e524b] { font-size: 13px; margin-bottom: 6px; display: block; color: #555;
}
.form-control[data-v-982e524b] {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 14px;
}
.btn-submit[data-v-982e524b] {
  width: 100%;
  height: 48px;
  border: none;
  border-radius: 6px;
  background: #4361ee;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  margin-top: 12px;
}
.btn-submit[data-v-982e524b]:hover { background: #2f6ae5;
}
.btn-back[data-v-982e524b] {
  width: 100%;
  height: 40px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
  font-size: 14px;
  cursor: pointer;
}
.pattern-grid[data-v-982e524b] { width: 240px; height: 320px; cursor: pointer; user-select: none; margin: 0 auto;
}
.pattern-svg[data-v-982e524b] { width: 100%; height: 100%;
}
.text-center[data-v-982e524b] { text-align: center;
}
.text-muted[data-v-982e524b] { color: #6c757d;
}
.text-success[data-v-982e524b] { color: #198754;
}
.text-danger[data-v-982e524b] { color: #dc3545;
}
.small[data-v-982e524b] { font-size: .875em;
}
.mt-1[data-v-982e524b] { margin-top: .25rem;
}
.mt-2[data-v-982e524b] { margin-top: .5rem;
}
.mt-3[data-v-982e524b] { margin-top: 1rem;
}
.mb-2[data-v-982e524b] { margin-bottom: .5rem;
}
@media (max-width: 480px) {
.setup-wrap[data-v-982e524b] { width: 100%; margin: 0 12px; padding: 28px 20px;
}
}

.container[data-v-bbcdcb1b] {
  max-width: 1400px;
  width: 95%;
}
.table[data-v-bbcdcb1b] {
  table-layout: fixed;
  word-wrap: break-word;
  font-size: 0.9rem;
}
.table td[data-v-bbcdcb1b],
.table th[data-v-bbcdcb1b] {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.table input.form-control-sm[data-v-bbcdcb1b] {
  min-width: 120px;
}

/* 🔹 요약 스타일 */
.summary-box[data-v-bbcdcb1b] {
  margin-bottom: 15px;
}
.summary-box .badge[data-v-bbcdcb1b] {
  font-size: 0.85rem;
  padding: 6px 10px;
  border-radius: 8px;
}

/* 🔹 페이징 스타일 */
.pagination-wrapper[data-v-bbcdcb1b] {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
.pagination-wrapper button[data-v-bbcdcb1b] {
  min-width: 80px;
  border-radius: 6px;
  border: 1px solid #ccc;
  color: #333;
  background: #fff;
  transition: 0.2s;
}
.pagination-wrapper button[data-v-bbcdcb1b]:hover {
  background: #007bff;
  color: white;
  border-color: #007bff;
}
.pagination-wrapper span[data-v-bbcdcb1b] {
  font-weight: bold;
  color: #333;
}

.register-container[data-v-87483995] {
  min-height: 100vh;
  background-color: #f7f7f7;
  display: flex;
  justify-content: center;
  align-items: center;
}
.form-box[data-v-87483995] {
  background-color: white;
  padding: 40px 30px;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  width: 100%;
  max-width: 400px;
}

.pattern-grid[data-v-541adb45] { width: 240px; height: 320px; cursor: pointer; user-select: none; -webkit-user-select: none; margin: 0 auto;
}
.pattern-svg[data-v-541adb45] { width: 100%; height: 100%;
}
/* ===== Layout ===== */
.login-container[data-v-541adb45] {
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #f8f9fc;
}
.login-wrap[data-v-541adb45] {
  width: 420px;
  padding: 40px 30px;
  color: #1a1a2e;
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  border: 1px solid #e5e7eb;
}
.login-wrap.is-blur[data-v-541adb45] {
  filter: blur(4px);
  pointer-events: none;
}

/* ===== Logo ===== */
.logo[data-v-541adb45] {
  text-align: center;
  margin-bottom: 30px;
}
.logo-img[data-v-541adb45] {
  height: 34px;
}

/* ===== Tabs ===== */
.tab[data-v-541adb45] {
  display: flex;
  border-bottom: 1px solid #ddd;
  margin-bottom: 20px;
}
.tab button[data-v-541adb45] {
  flex: 1;
  padding: 12px 0;
  border: none;
  background: none;
  font-size: 14px;
  cursor: pointer;
  color: #777;
}
.tab button.active[data-v-541adb45] {
  color: #4361ee;
  border-bottom: 2px solid #4361ee;
  font-weight: 600;
}

/* ===== Title ===== */
.title-text[data-v-541adb45] {
  font-size: 22px;
  font-weight: 700;
  color: #222;
}

/* ===== Form ===== */
.form-group[data-v-541adb45] {
  margin-bottom: 15px;
}
.form-label[data-v-541adb45] {
  font-size: 13px;
  margin-bottom: 6px;
  display: block;
  color: #555;
}
.input-wrap[data-v-541adb45] {
  position: relative;
}
.form-control[data-v-541adb45] {
  width: 100%;
  padding: 12px 90px 12px 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 14px;
}
.suffix[data-v-541adb45] {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 13px;
  color: #999;
}

/* ===== Buttons ===== */
.btn-submit[data-v-541adb45] {
  width: 100%;
  height: 48px;
  border: none;
  border-radius: 6px;
  background: #4361ee;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
}
.btn-submit[data-v-541adb45]:hover {
  background: #2f6ae5;
}
.sns-btn[data-v-541adb45] {
  width: 100%;
  height: 48px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
  font-size: 14px;
  cursor: pointer;
}

/* ===== Text ===== */
.links[data-v-541adb45] {
  margin-top: 18px;
  font-size: 13px;
  color: #666;
}
.divider[data-v-541adb45] {
  margin: 30px 0 20px;
  text-align: center;
  font-size: 12px;
  color: #999;
  position: relative;
}
.divider[data-v-541adb45]::before,
.divider[data-v-541adb45]::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 40%;
  height: 1px;
  background: #ddd;
}
.divider[data-v-541adb45]::before { left: 0;
}
.divider[data-v-541adb45]::after { right: 0;
}

/* ===== Footer ===== */
.copyright[data-v-541adb45] {
  margin-top: 40px;
  text-align: center;
  font-size: 12px;
  color: #aaa;
}

/* ===== 약관 모달 ===== */
.terms-overlay[data-v-541adb45] {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  z-index: 1000;
}
.terms-modal[data-v-541adb45] {
  background: #ffffff;
  border-radius: 12px;
  max-width: 560px;
  width: 100%;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  overflow: hidden;
}
.terms-title[data-v-541adb45] {
  margin: 0;
  padding: 20px 24px 16px;
  font-size: 20px;
  font-weight: 700;
  color: #1a1a2e;
  border-bottom: 1px solid #e5e7eb;
}
.terms-scroll[data-v-541adb45] {
  padding: 16px 24px;
  overflow-y: auto;
  max-height: 280px;
}
.terms-section + .terms-section[data-v-541adb45] {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid #e5e7eb;
}
.terms-section-title[data-v-541adb45] {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 600;
  color: #1a1a2e;
}
.terms-scroll p[data-v-541adb45] {
  margin: 0 0 8px;
  font-size: 13px;
  line-height: 1.6;
  color: #374151;
}
.terms-checks[data-v-541adb45] {
  padding: 16px 24px;
  border-top: 1px solid #e5e7eb;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.terms-check[data-v-541adb45] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #1a1a2e;
}
.terms-check input[data-v-541adb45] {
  width: 18px;
  height: 18px;
  accent-color: #4361ee;
}
.terms-check-all[data-v-541adb45] {
  margin-top: 4px;
  padding-top: 10px;
  border-top: 1px solid #e5e7eb;
  font-weight: 600;
}
.terms-actions[data-v-541adb45] {
  padding: 14px 24px 18px;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.terms-btn[data-v-541adb45] {
  padding: 9px 22px;
  border-radius: 8px;
  border: none;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}
.terms-btn-primary[data-v-541adb45] {
  background: #4361ee;
  color: #ffffff;
}
.terms-btn-primary[data-v-541adb45]:hover:not(:disabled) {
  background: #3651d4;
}
.terms-btn-primary[data-v-541adb45]:disabled {
  background: #9ca3af;
  cursor: not-allowed;
}
.terms-btn-secondary[data-v-541adb45] {
  background: #e5e7eb;
  color: #374151;
}
.terms-btn-secondary[data-v-541adb45]:hover {
  background: #d1d5db;
}

/* ===== 공지 모달 ===== */
.notice-modal[data-v-541adb45] {
  background: #ffffff;
  border-radius: 12px;
  max-width: 520px;
  width: 100%;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  overflow: hidden;
}
.notice-title[data-v-541adb45] {
  margin: 0;
  padding: 18px 22px 12px;
  font-size: 18px;
  font-weight: 700;
  color: #1a1a2e;
  border-bottom: 1px solid #e5e7eb;
}
.notice-body[data-v-541adb45] {
  padding: 16px 22px 8px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.notice-card[data-v-541adb45] {
  padding: 10px 12px;
  border-radius: 8px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
}
.notice-card-title[data-v-541adb45] {
  margin: 0 0 4px;
  font-size: 13px;
  font-weight: 600;
  color: #1d4ed8;
}
.notice-card-text[data-v-541adb45] {
  margin: 0;
  font-size: 13px;
  color: #4b5563;
  line-height: 1.5;
}
.notice-actions[data-v-541adb45] {
  padding: 12px 22px 16px;
  display: flex;
  justify-content: flex-end;
}

/* 모달 페이드 애니메이션 */
.modal-fade-enter-active[data-v-541adb45],
.modal-fade-leave-active[data-v-541adb45] {
  transition: opacity 0.2s ease;
}
.modal-fade-enter-from[data-v-541adb45],
.modal-fade-leave-to[data-v-541adb45] {
  opacity: 0;
}
.modal-fade-enter-active .terms-modal[data-v-541adb45],
.modal-fade-leave-active .terms-modal[data-v-541adb45] {
  transition: transform 0.2s ease;
}
.modal-fade-enter-from .terms-modal[data-v-541adb45],
.modal-fade-leave-to .terms-modal[data-v-541adb45] {
  transform: scale(0.96);
}
@media (max-width: 480px) {
.login-wrap[data-v-541adb45] {
    padding: 28px 20px;
    width: 100%;
    margin: 0 12px;
}
.terms-title[data-v-541adb45] {
    padding-left: 20px;
    padding-right: 20px;
}
.terms-scroll[data-v-541adb45],
  .terms-checks[data-v-541adb45],
  .terms-actions[data-v-541adb45] {
    padding-left: 20px;
    padding-right: 20px;
}
}

.bar-chart-container[data-v-e7fedc04] {
  width: 100%;
  /* let chart grow/shrink with parent rather than a hardcoded height */
  height: auto;
  min-height: 240px;
}

/* 모바일/태블릿에서 크기 더 작게 */
@media (max-width: 768px) {
.bar-chart-container[data-v-e7fedc04] {
    min-height: 180px;
}
}

.line-chart-container[data-v-7ad73877] {
  width: 100%;
  height: auto;
  min-height: 240px;
}
@media (max-width: 768px) {
.line-chart-container[data-v-7ad73877] {
    min-height: 180px;
}
}

.chart-container[data-v-5e1b76e4] {
  width: 100%;
  height: 300px;
  min-height: 260px;
}

/* 카드 */
.client-summary[data-v-721504b2] {
  background: #fff;
  border-radius: 10px;
  padding: 15px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

/* 헤더 */
.header-bar[data-v-721504b2] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.header-bar h3[data-v-721504b2] { font-size: 18px; font-weight: bold; color: #222; margin: 0;
}
.header-bar small[data-v-721504b2] { font-size: 13px; color: #666; font-weight: normal;
}

/* 필터 */
.filter-group[data-v-721504b2] { display: flex; align-items: center; gap: 6px;
}
.filter-group select[data-v-721504b2] { padding: 4px 6px; border: 1px solid #ccc; border-radius: 4px; font-size: 13px;
}
.btn-primary[data-v-721504b2] { background-color: #0d6efd; color: #fff; border: none; padding: 4px 10px; border-radius: 4px;
}
.btn-secondary[data-v-721504b2] { background-color: #6c757d; color: #fff; border: none; padding: 4px 10px; border-radius: 4px;
}
.btn-primary[data-v-721504b2]:hover { background-color: #0b5ed7;
}
.btn-secondary[data-v-721504b2]:hover { background-color: #5a6268;
}

/* 테이블 */
.table-container[data-v-721504b2] { overflow-x: auto;
}
table[data-v-721504b2] { width: 100%; border-collapse: collapse; font-size: 13px;
}
th[data-v-721504b2], td[data-v-721504b2] { border: 1px solid #ddd; padding: 8px 6px; text-align: center;
}
th[data-v-721504b2] { background: #f1f3f5; color: #333; font-weight: bold;
}
tbody tr[data-v-721504b2]:hover { background: #eef4ff; cursor: pointer;
}
.link[data-v-721504b2] { color: #0d6efd; font-weight: 500;
}
.empty[data-v-721504b2] { text-align: center; color: #777; padding: 20px 0;
}

/* 페이징 */
.pagination[data-v-721504b2] { margin-top: 10px; display: flex; justify-content: center; align-items: center; gap: 6px; flex-wrap: wrap;
}
.page-btn[data-v-721504b2] { border: 1px solid #ccc; background: #fff; padding: 3px 8px; border-radius: 4px; cursor: pointer;
}
.page-btn.active[data-v-721504b2] { background: #0d6efd; color: #fff; border-color: #0d6efd;
}
.page-size[data-v-721504b2] { margin-left: 8px; padding: 3px 6px; font-size: 12px;
}

/* ===== 모달 (클래스 충돌 방지: mpg- prefix) ===== */
.mpg-modal-overlay[data-v-721504b2] {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.mpg-modal[data-v-721504b2] {
  display: block !important; /* 전역 .modal {display:none} 무력화 */
  background: #fff;
  border-radius: 10px;
  padding: 20px;
  width: 700px;
  max-width: 92vw;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 12px 24px rgba(0,0,0,0.25);
}
.mpg-modal__header[data-v-721504b2] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.mpg-modal__close[data-v-721504b2] {
  background: transparent;
  border: 0;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}
.mpg-modal__chart[data-v-721504b2] {
  margin: 8px 0 12px;
  min-height: 260px; /* 초기 0px 방지 */
}
/* 거래처 요약 히트 */
.search-input[data-v-721504b2] {
  min-width: 140px;
}
.loading[data-v-721504b2] { text-align: center; padding: 30px 0; font-size: 14px; color: #555;
}
.mpg-modal__footer[data-v-721504b2] { text-align: right; margin-top: 10px;
}

.realtime-card[data-v-15ea1f8e] {
  background: #fff;
  padding: 1rem 1.25rem;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  display: flex;
  flex-direction: column;
}
.header-bar[data-v-15ea1f8e] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.header-bar h3[data-v-15ea1f8e] {
  font-size: 1.15rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 6px;
}
.header-bar small[data-v-15ea1f8e] {
  font-weight: normal;
  color: #666;
  font-size: 0.85rem;
}
.filter-group[data-v-15ea1f8e] {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.table-container[data-v-15ea1f8e] {
  overflow-x: auto;
}
table[data-v-15ea1f8e] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
th[data-v-15ea1f8e], td[data-v-15ea1f8e] {
  border: 1px solid #e5e7eb;
  padding: 0.5rem;
  text-align: center;
}
th[data-v-15ea1f8e] {
  background-color: #f3f4f6;
  font-weight: bold;
}
.summary-row[data-v-15ea1f8e] {
  background: #f9fafb;
  font-weight: bold;
}
.btn-primary[data-v-15ea1f8e] {
  background-color: #2563eb;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 5px 10px;
  cursor: pointer;
}
.btn-secondary[data-v-15ea1f8e] {
  background-color: #e5e7eb;
  color: #111;
  border: none;
  border-radius: 6px;
  padding: 5px 10px;
  cursor: pointer;
}
.checkbox[data-v-15ea1f8e] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.85rem;
}
.pagination[data-v-15ea1f8e] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 0.8rem;
}
.pagination button[data-v-15ea1f8e] {
  border: 1px solid #ccc;
  background: #f9fafb;
  border-radius: 5px;
  padding: 4px 10px;
  cursor: pointer;
}
.pagination button[data-v-15ea1f8e]:disabled {
  opacity: 0.4;
  cursor: default;
}

.category-table[data-v-524a33b8] {
  background: #fff;
  padding: 1rem;
  border-radius: 0.75rem;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

/* 필터 */
.filters[data-v-524a33b8] {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}
.filters select[data-v-524a33b8], .filters button[data-v-524a33b8] {
  padding: 0.4rem 0.6rem;
  border: 1px solid #ddd;
  border-radius: 0.4rem;
  font-size: 0.9rem;
}
.btn-primary[data-v-524a33b8] {
  background-color: #2563eb;
  color: #fff;
  border: none;
  cursor: pointer;
}
.btn-secondary[data-v-524a33b8] {
  background-color: #6b7280;
  color: #fff;
  border: none;
  cursor: pointer;
}
.btn-primary[data-v-524a33b8]:hover { background-color: #1e4ed8;
}
.btn-secondary[data-v-524a33b8]:hover { background-color: #4b5563;
}

/* 테이블 */
.table-wrapper[data-v-524a33b8] { overflow-x: auto;
}
.summary-table[data-v-524a33b8] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.summary-table th[data-v-524a33b8] {
  background: #f3f4f6;
  text-align: center;
  padding: 0.6rem;
  border-bottom: 2px solid #e5e7eb;
}
.summary-table td[data-v-524a33b8] {
  text-align: center;
  padding: 0.6rem;
  border-bottom: 1px solid #e5e7eb;
}
.summary-table tr[data-v-524a33b8]:hover {
  background: #f9fafb;
}
.empty[data-v-524a33b8] {
  text-align: center;
  color: #777;
  padding: 1rem 0;
}

.category-section[data-v-afb17d89] {
  background: #fff;
  padding: 1rem;
  border-radius: 0.75rem;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}
.chart-wrapper[data-v-afb17d89] {
  display: flex;
  justify-content: center;
  align-items: center;
  /* flexible height instead of fixed 260px */
  height: auto;
  min-height: 220px;
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
.chart-wrapper[data-v-afb17d89] { min-height: 160px;
}
}
.summary-table[data-v-afb17d89] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.summary-table th[data-v-afb17d89], .summary-table td[data-v-afb17d89] {
  border: 1px solid #e5e7eb;
  padding: 0.5rem;
  text-align: center;
}
.summary-table th[data-v-afb17d89] {
  background: #f3f4f6;
  font-weight: 600;
}
.dot[data-v-afb17d89] {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  margin-right: 6px;
}
.empty[data-v-afb17d89] {
  text-align: center;
  color: #777;
  padding: 1rem;
}

/* ═══ 전체 레이아웃 ═══ */
.dashboard[data-v-03f3c565] {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 24px;
  background: #f4f5f7;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color: #1f2937;
}

/* ═══ 필터 바 ═══ */
.filter-bar[data-v-03f3c565] {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  padding: 12px 16px;
  border-radius: 10px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
  flex-wrap: wrap;
}
.filter-group[data-v-03f3c565] { display: flex; align-items: center; gap: 6px;
}
.filter-group label[data-v-03f3c565] { font-size: 13px; font-weight: 600; color: #6b7280; white-space: nowrap;
}
.filter-group input[type="date"][data-v-03f3c565],
.filter-group select[data-v-03f3c565],
.client-search[data-v-03f3c565] {
  height: 32px; padding: 0 8px; border: 1px solid #d1d5db;
  border-radius: 6px; font-size: 13px; background: #fff; color: #374151;
}
.client-search[data-v-03f3c565] { width: 110px;
}
.date-sep[data-v-03f3c565] { color: #9ca3af; font-size: 13px;
}
.filter-actions[data-v-03f3c565] { margin-left: auto; display: flex; gap: 6px;
}

/* ═══ 버튼 ═══ */
.btn[data-v-03f3c565] {
  padding: 6px 14px; border: 1px solid #d1d5db; border-radius: 6px;
  background: #fff; cursor: pointer; font-size: 13px; font-weight: 500;
  color: #374151; transition: all 0.15s;
}
.btn[data-v-03f3c565]:hover { background: #f3f4f6;
}
.btn[data-v-03f3c565]:disabled { opacity: 0.4; cursor: default;
}
.btn-primary[data-v-03f3c565] { background: #3b82f6; color: #fff; border-color: #3b82f6;
}
.btn-primary[data-v-03f3c565]:hover { background: #2563eb;
}
.btn-green[data-v-03f3c565] { background: #10b981; color: #fff; border-color: #10b981;
}
.btn-green[data-v-03f3c565]:hover { background: #059669;
}
.btn-xs[data-v-03f3c565] { padding: 4px 10px; font-size: 12px;
}
.btn-capture[data-v-03f3c565] { background: #6366f1; color: #fff; border-color: #6366f1;
}
.btn-capture[data-v-03f3c565]:hover { background: #4f46e5;
}

/* 📸 아이콘 버튼 */
.btn-icon[data-v-03f3c565] {
  background: none; border: none; cursor: pointer;
  font-size: 16px; padding: 4px; border-radius: 4px;
  opacity: 0.5; transition: opacity 0.15s;
}
.btn-icon[data-v-03f3c565]:hover { opacity: 1;
}

/* ═══ KPI 카드 ═══ */
.cards-row[data-v-03f3c565] { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px;
}
.kpi-card[data-v-03f3c565] {
  background: #fff; border-radius: 10px; padding: 20px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
  display: flex; flex-direction: column; gap: 8px;
}
.kpi-label[data-v-03f3c565] { font-size: 13px; font-weight: 500; color: #6b7280;
}
.kpi-value[data-v-03f3c565] { font-size: 24px; font-weight: 700; color: #111827; letter-spacing: -0.5px;
}
.kpi-value small[data-v-03f3c565] { font-size: 14px; font-weight: 400; color: #9ca3af; margin-left: 4px;
}

/* ═══ 전달 대비 ═══ */
.diff-card[data-v-03f3c565] {
  background: #fff; border-radius: 10px; padding: 16px 20px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
  display: flex; flex-direction: column; gap: 4px;
}
.diff-label[data-v-03f3c565] { font-size: 13px; font-weight: 500; color: #6b7280;
}
.diff-value[data-v-03f3c565] { font-size: 20px; font-weight: 700;
}
.diff-value.up[data-v-03f3c565] { color: #059669;
}
.diff-value.down[data-v-03f3c565] { color: #dc2626;
}
.diff-abs[data-v-03f3c565] { font-size: 12px; color: #9ca3af;
}
.hint-card[data-v-03f3c565] { justify-content: center; background: #f8fafc; border: 1px dashed #d1d5db; box-shadow: none;
}
.hint-text[data-v-03f3c565] { font-size: 12px; color: #9ca3af; line-height: 1.5; text-align: center;
}

/* ═══ 그리드 / 패널 ═══ */
.grid-2[data-v-03f3c565] { display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
}
.panel[data-v-03f3c565] {
  background: #fff; padding: 20px; border-radius: 10px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}
.panel h3[data-v-03f3c565] { font-size: 15px; font-weight: 700; color: #111827; margin: 0 0 14px 0;
}
.panel-header[data-v-03f3c565] {
  display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px;
}
.panel-header h3[data-v-03f3c565] { margin: 0;
}
.panel-controls[data-v-03f3c565] { display: flex; gap: 6px; align-items: center;
}
.inline-controls[data-v-03f3c565] { display: flex; align-items: center; gap: 6px; margin-bottom: 14px; flex-wrap: wrap;
}
.select-sm[data-v-03f3c565], .input-sm[data-v-03f3c565] {
  height: 30px; padding: 0 8px; border: 1px solid #d1d5db;
  border-radius: 6px; font-size: 12px; background: #fff; color: #374151;
}
.input-sm[data-v-03f3c565] { width: 120px;
}
.sub-section[data-v-03f3c565] { margin-top: 24px; padding-top: 20px; border-top: 1px solid #e5e7eb;
}
.sub-section h4[data-v-03f3c565] { font-size: 14px; font-weight: 700; color: #111827; margin: 0 0 12px 0;
}
.channel-pie-wrap[data-v-03f3c565] {
  display: flex; justify-content: center; align-items: center;
  height: 280px; margin-bottom: 16px;
}
.ratio-note[data-v-03f3c565] { font-size: 11px; color: #9ca3af; margin: 0 0 6px 0;
}

/* ═══ 테이블 ═══ */
.scroll-table[data-v-03f3c565] { overflow-y: auto; border: 1px solid #e5e7eb; border-radius: 8px;
}
.scroll-table table[data-v-03f3c565] { width: 100%; border-collapse: collapse; font-size: 13px;
}
.scroll-table thead th[data-v-03f3c565] {
  position: sticky; top: 0; background: #f9fafb; z-index: 1;
  font-weight: 600; font-size: 12px; color: #6b7280;
  text-transform: uppercase; letter-spacing: 0.3px;
  padding: 10px; border-bottom: 1px solid #e5e7eb; text-align: left;
}
.scroll-table th.r[data-v-03f3c565], .scroll-table td.r[data-v-03f3c565] { text-align: right;
}
.scroll-table td[data-v-03f3c565] { padding: 9px 10px; border-bottom: 1px solid #f3f4f6; color: #374151;
}
.scroll-table tbody tr[data-v-03f3c565]:hover { background: #f9fafb;
}
.scroll-table td.num[data-v-03f3c565] { font-weight: 600; font-variant-numeric: tabular-nums; color: #111827;
}
.scroll-table td.secondary[data-v-03f3c565], .scroll-table .secondary[data-v-03f3c565] { color: #9ca3af; font-size: 12px;
}
.scroll-table td.rank[data-v-03f3c565] { color: #9ca3af; font-weight: 600; text-align: center;
}
.scroll-table td.empty[data-v-03f3c565] { text-align: center; padding: 28px; color: #9ca3af;
}
.total-row td[data-v-03f3c565] { border-top: 2px solid #e5e7eb; background: #f9fafb; padding: 10px;
}

/* 클릭 가능 행 */
.row-clickable[data-v-03f3c565] { cursor: pointer; transition: background 0.1s;
}
.row-clickable[data-v-03f3c565]:hover { background: #eef2ff !important;
}

/* ═══ 채널 뱃지 ═══ */
.ch-badge[data-v-03f3c565] {
  display: inline-block; padding: 2px 10px; border-radius: 10px;
  font-size: 12px; font-weight: 600; white-space: nowrap;
}

/* ═══ 생존 현황 ═══ */
.survival-badges[data-v-03f3c565] { display: flex; gap: 8px; margin-bottom: 14px;
}
.sv-badge[data-v-03f3c565] { padding: 6px 14px; border-radius: 8px; font-size: 13px; font-weight: 700;
}
.sv-badge.alive[data-v-03f3c565] { background: #dcfce7; color: #166534;
}
.sv-badge.warning[data-v-03f3c565] { background: #fef9c3; color: #854d0e;
}
.sv-badge.dead[data-v-03f3c565] { background: #fee2e2; color: #991b1b;
}
.status-pill[data-v-03f3c565] {
  display: inline-block; padding: 2px 10px; border-radius: 10px;
  font-size: 11px; font-weight: 700; letter-spacing: 0.3px;
}
.st-alive[data-v-03f3c565] { background: #dcfce7; color: #166534;
}
.st-warning[data-v-03f3c565] { background: #fef9c3; color: #854d0e;
}
.st-dead[data-v-03f3c565] { background: #fee2e2; color: #991b1b;
}

/* ═══ 페이지네이션 ═══ */
.pagination[data-v-03f3c565] {
  display: flex; justify-content: center; align-items: center;
  gap: 12px; margin-top: 14px; font-size: 13px; color: #6b7280;
}

/* ═══════════════════════════════════════ */
/* ✅ 모달 팝업                             */
/* ═══════════════════════════════════════ */
.modal-overlay[data-v-03f3c565] {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  backdrop-filter: blur(2px);
}
.modal-box[data-v-03f3c565] {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
  width: 540px;
  max-width: 92vw;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: modal-pop-03f3c565 0.2s ease-out;
}
@keyframes modal-pop-03f3c565 {
from { transform: scale(0.95) translateY(10px); opacity: 0;
}
to   { transform: scale(1) translateY(0); opacity: 1;
}
}

/* 모달 헤더 */
.modal-header[data-v-03f3c565] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 24px;
  border-bottom: 1px solid #e5e7eb;
  background: #f9fafb;
}
.modal-title-wrap[data-v-03f3c565] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.modal-title-wrap h4[data-v-03f3c565] {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: #111827;
}
.modal-title-wrap h4 small[data-v-03f3c565] {
  font-size: 13px;
  font-weight: 400;
  color: #9ca3af;
  margin-left: 4px;
}
.modal-badge[data-v-03f3c565] {
  font-size: 13px;
  padding: 4px 14px;
}
.modal-close[data-v-03f3c565] {
  width: 32px;
  height: 32px;
  border: none;
  background: #e5e7eb;
  border-radius: 50%;
  font-size: 16px;
  color: #6b7280;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s;
}
.modal-close[data-v-03f3c565]:hover {
  background: #dc2626;
  color: #fff;
}

/* 모달 바디 */
.modal-body[data-v-03f3c565] {
  padding: 0;
  overflow-y: auto;
  flex: 1;
}
.modal-table[data-v-03f3c565] {
  border: none;
  border-radius: 0;
  max-height: 60vh;
}
.modal-table .company-name[data-v-03f3c565] {
  font-weight: 600;
  color: #111827;
}

/* 모달 로딩 */
.modal-loading[data-v-03f3c565] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 48px 0;
  color: #6b7280;
  font-size: 14px;
}
.spinner[data-v-03f3c565] {
  width: 20px;
  height: 20px;
  border: 2px solid #e5e7eb;
  border-top-color: #3b82f6;
  border-radius: 50%;
  animation: spin-03f3c565 0.6s linear infinite;
}
@keyframes spin-03f3c565 {
to { transform: rotate(360deg);
}
}

/* 모달 빈 데이터 */
.modal-empty[data-v-03f3c565] {
  text-align: center;
  padding: 48px 0;
  color: #9ca3af;
  font-size: 14px;
}

/* 모달 페이드 트랜지션 */
.modal-fade-enter-active[data-v-03f3c565] { transition: opacity 0.2s;
}
.modal-fade-leave-active[data-v-03f3c565] { transition: opacity 0.15s;
}
.modal-fade-enter-from[data-v-03f3c565],
.modal-fade-leave-to[data-v-03f3c565] { opacity: 0;
}

/* ═══ 반응형 (태블릿·모바일) ═══ */
@media (max-width: 1200px) {
.cards-row[data-v-03f3c565] { grid-template-columns: repeat(2, 1fr);
}
.grid-2[data-v-03f3c565] { grid-template-columns: 1fr;
}
}
@media (max-width: 768px) {
.dashboard[data-v-03f3c565] {
    padding: 12px;
    gap: 12px;
}
.filter-bar[data-v-03f3c565] {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 12px;
}
.filter-group[data-v-03f3c565] {
    flex-wrap: wrap;
    width: 100%;
}
.filter-group label[data-v-03f3c565] {
    width: 100%;
}
.filter-group input[type="date"][data-v-03f3c565],
  .filter-group select[data-v-03f3c565],
  .client-search[data-v-03f3c565] {
    min-width: 0;
    flex: 1;
    height: 36px;
    font-size: 14px;
}
.client-search[data-v-03f3c565] { width: 100%;
}
.filter-actions[data-v-03f3c565] {
    margin-left: 0;
    flex-wrap: wrap;
    gap: 6px;
}
.filter-actions .btn[data-v-03f3c565] {
    flex: 1 1 auto;
    min-width: 64px;
    font-size: 13px;
    text-align: center;
    white-space: nowrap;
}
.cards-row[data-v-03f3c565] {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}
.kpi-card[data-v-03f3c565] { padding: 14px 16px;
}
.kpi-value[data-v-03f3c565] { font-size: 20px;
}
.kpi-value small[data-v-03f3c565] { font-size: 12px;
}
.diff-card[data-v-03f3c565] { padding: 12px 14px;
}
.diff-value[data-v-03f3c565] { font-size: 17px;
}
.grid-2[data-v-03f3c565] { gap: 12px;
}
.panel[data-v-03f3c565] { padding: 14px 14px;
}
.panel-header[data-v-03f3c565] {
    flex-wrap: wrap;
    gap: 8px;
}
.panel-controls[data-v-03f3c565] { flex-wrap: wrap;
}
.inline-controls[data-v-03f3c565] {
    flex-wrap: wrap;
    gap: 6px;
}
.inline-controls .input-sm[data-v-03f3c565] {
    flex: 1;
    min-width: 0;
    width: auto;
    height: 34px;
    font-size: 13px;
}
.scroll-table[data-v-03f3c565] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.scroll-table table[data-v-03f3c565] { min-width: 500px;
}
.channel-pie-wrap[data-v-03f3c565] { height: 200px;
}
.modal-box[data-v-03f3c565] { width: 95vw; max-height: 85vh;
}
.modal-header[data-v-03f3c565] { padding: 14px 16px;
}
}
@media (max-width: 480px) {
.dashboard[data-v-03f3c565] { padding: 10px; gap: 10px;
}
.filter-bar[data-v-03f3c565] { padding: 10px;
}
.cards-row[data-v-03f3c565] { grid-template-columns: 1fr; gap: 8px;
}
.filter-actions .btn[data-v-03f3c565] { min-width: 60px; font-size: 12px;
}
.kpi-value[data-v-03f3c565] { font-size: 18px;
}
.kpi-card[data-v-03f3c565] { padding: 12px 14px;
}
.diff-card[data-v-03f3c565] { padding: 10px 12px;
}
.hint-card[data-v-03f3c565] { display: none;
}
}

body[data-v-bb80fc95], html[data-v-bb80fc95] { margin: 0; padding: 0; background: #f5f6fa;
}

/* ✅ 상단 헤더 */
.header[data-v-bb80fc95] { margin-bottom: 18px;
}
.header-top[data-v-bb80fc95] {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.header-right[data-v-bb80fc95] {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #6b7280;
  font-size: 12px;
}
.trade-date[data-v-bb80fc95] { white-space: nowrap;
}
.title-underline[data-v-bb80fc95] {
  margin-top: 12px;
  height: 2px;
  background: #1e66ff;
  border-radius: 2px;
}
.title[data-v-bb80fc95] {
  color: #1e66ff;
  font-size: 28px;
  font-weight: 800;
  margin: 0;
}
.button-group button[data-v-bb80fc95] {
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 6px 10px;
  cursor: pointer;
  font-size: 12px;
}
.button-group button[data-v-bb80fc95]:hover { background: #e9ecef;
}

/* 기존 내용 유지 */
.receipt-container[data-v-bb80fc95] {
  width: 100%;
  max-width: 850px;
  margin: 40px auto;
  background: #fff;
  padding: 40px 50px;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
  font-family: 'Pretendard', sans-serif;
  color: #333;
}
.info-section[data-v-bb80fc95] {
  position: relative;
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}
.info-section-watermark[data-v-bb80fc95] {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 800px;
  height: auto;
  opacity: 0.07;
  pointer-events: none;
  z-index: 2;
}
.info-box[data-v-bb80fc95] {
  position: relative;
  z-index: 1;
  width: 48%;
  background: #fafbfc;
  border: 1px solid #e2e5e9;
  border-radius: 8px;
  padding: 15px 20px;
  line-height: 1.6;
  font-size: 13px;
}
.info-box h3[data-v-bb80fc95] { font-size: 14px; font-weight: bold; margin-bottom: 6px; color: #333;
}
.info-box span[data-v-bb80fc95] { color: #999; font-size: 12px; font-weight: normal;
}
.item-table[data-v-bb80fc95] { width: 100%; border-collapse: collapse; margin-bottom: 30px; font-size: 13px;
}
.item-table th[data-v-bb80fc95] {
  background: #f8f9fa;
  border-top: 2px solid #007bff;
  border-bottom: 1px solid #dee2e6;
  padding: 10px;
  color: #333;
  text-align: center;
}
.item-table td[data-v-bb80fc95] {
  border-bottom: 1px solid #eee;
  padding: 8px;
  text-align: center;
}
.total-section[data-v-bb80fc95] { display: flex; justify-content: flex-end;
}
.summary-box[data-v-bb80fc95] {
  width: 300px;
  background: #f8f9fa;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 20px;
}
.summary-row[data-v-bb80fc95] {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
  font-size: 14px;
}
.summary-row.total[data-v-bb80fc95] {
  background: #007bff;
  color: #fff;
  padding: 12px 15px;
  border-radius: 6px;
  font-weight: bold;
  margin-top: 10px;
}
.footer-note[data-v-bb80fc95] {
  text-align: center;
  font-size: 12px;
  color: #777;
  margin-top: 30px;
  border-top: 1px dashed #ddd;
  padding-top: 10px;
}
.jpg-capture-label[data-v-bb80fc95] {
  margin: 12px 0 0 0;
  text-align: left;
  font-size: 13px;
  color: #000;
  font-weight: 500;
}
.footer-confirm[data-v-bb80fc95] {
  position: relative;
  display: inline-block;
  margin-bottom: 6px;
}
.footer-confirm p[data-v-bb80fc95] {
  margin: 0;
  padding: 0;
  padding-right: 42px; /* 인감이 겹칠 공간 */
}
.stamp-img[data-v-bb80fc95] {
  position: absolute;
  right: -10px;
  top: calc(50% + 10px);
  transform: translateY(-50%);
  width: 56px;
  height: 56px;
  object-fit: contain;
  mix-blend-mode: multiply;
  opacity: 0.9;
  pointer-events: none;
}
.header[data-v-bb80fc95] {
  margin-bottom: 18px;
}
.header-top[data-v-bb80fc95] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start; /* 위쪽 정렬로 변경 */
}
.header-right[data-v-bb80fc95] {
  display: flex;
  flex-direction: column; /* ✅ 세로 배치 (거래일자 → 버튼) */
  align-items: flex-end;
  gap: 6px;
  color: #6b7280;
  font-size: 12px;
}
.trade-date[data-v-bb80fc95] {
  white-space: nowrap;
  font-weight: 500;
}
.title-underline[data-v-bb80fc95] {
  margin-top: 12px;
  height: 2px;
  background: #1e66ff;
  border-radius: 2px;
}
.title[data-v-bb80fc95] {
  color: #1e66ff;
  font-size: 28px;
  font-weight: 800;
  margin: 0;
}
.button-group[data-v-bb80fc95] {
  display: flex;
  gap: 6px;
}
.button-group button[data-v-bb80fc95] {
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 6px 10px;
  cursor: pointer;
  font-size: 12px;
}
.button-group button[data-v-bb80fc95]:hover {
  background: #e9ecef;
}
.summary-box.modern[data-v-bb80fc95] {
  width: 100%;
  max-width: 320px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  font-size: 14px;
}
.summary-box.modern .summary-row[data-v-bb80fc95] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid #f1f3f5;
}
.summary-box.modern .summary-row[data-v-bb80fc95]:last-child {
  border-bottom: none;
}
.summary-box.modern .label[data-v-bb80fc95] {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #374151;
  font-weight: 500;
}
.summary-box.modern .label i[data-v-bb80fc95] {
  font-size: 16px;
  color: #6b7280; /* 중간 회색 */
}
.summary-box.modern strong[data-v-bb80fc95] {
  color: #111827;
  font-weight: 600;
}
.summary-box.modern .modern-total[data-v-bb80fc95] {
  position: relative;
  overflow: hidden;
  background: #6899ff;
  color: #fff;
  font-weight: 700;
  font-size: 15px;
}
.total-row-watermark[data-v-bb80fc95] {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 85%;
  max-width: 100%;
  height: auto;
  opacity: 0.19;
  pointer-events: none;
  z-index: 0;
}
.summary-box.modern .modern-total .label[data-v-bb80fc95],
.summary-box.modern .modern-total strong[data-v-bb80fc95] {
  position: relative;
  z-index: 1;
}
.summary-box.modern .modern-total .label i[data-v-bb80fc95] {
  color: #fff;
}
/* 거래명세서 로고  */
.receipt-logo[data-v-bb80fc95] {
  height: 25px;          /* 로고 사이즈 */
  display: block;
  object-fit: contain;
}

/* 로고 */
.header-top .receipt-logo[data-v-bb80fc95] {
  margin-right: 50px;
}

/* 반응형: 워터마크·레이아웃 */
@media (max-width: 900px) {
.receipt-container[data-v-bb80fc95] { padding: 24px 20px;
}
.info-section[data-v-bb80fc95] { flex-wrap: wrap; gap: 16px;
}
.info-box[data-v-bb80fc95] { width: 100%; min-width: 0;
}
}
@media (max-width: 600px) {
.receipt-container[data-v-bb80fc95] { padding: 16px 12px; margin: 20px auto;
}
.info-section-watermark[data-v-bb80fc95] { max-width: 100%;
}
.total-section[data-v-bb80fc95] { justify-content: stretch;
}
.summary-box.modern[data-v-bb80fc95] { max-width: 100%;
}
.total-row-watermark[data-v-bb80fc95] { width: 90%;
}
}


@page {
  size: A4;
  margin: 18mm;
@bottom-left {
    content: "별지 " counter(page) " (총 " counter(pages) "쪽)";
    font-size: 10px;
    color: #000;
    font-family: 'Pretendard', sans-serif;
}
}
.print-doc-no {
  display: none;
  position: fixed;
  bottom: 10mm;
  left: 10mm;
  font-size: 11px;
  color: #000;
  font-family: 'Pretendard', sans-serif;
  z-index: 9999;
  background: #fff;
  padding: 4px 8px;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
.print-footer-inline {
  display: none;
  margin-top: 14px;
  font-size: 11px;
  color: #000;
  font-family: 'Pretendard', sans-serif;
}
.on-screen-page-info {
  position: fixed;
  bottom: 30px;
  left: 80px;
  font-size: 11px;
  color: #555;
  background: rgba(255,255,255,0.95);
  padding: 6px 10px;
  border-radius: 6px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.1);
  z-index: 9998;
  font-family: 'Pretendard', sans-serif;
}
@media print {
.no-print { display: none !important;
}
.print-doc-no { display: block !important;
}
.print-footer-inline { display: block !important;
}
.receipt-container {
    box-shadow: none;
    margin: 0;
    padding: 0;
}
.button-group { display: none !important;
}
}

.category-dashboard[data-v-f5212fd7] {
  max-width: 900px;
  margin: 20px auto;
  background: white;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}
.toolbar[data-v-f5212fd7] {
  display: flex;
  justify-content: space-between;
  margin-bottom: 16px;
}
.search-input[data-v-f5212fd7] {
  flex: 1;
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 8px 12px;
  margin-right: 10px;
}
.button-group[data-v-f5212fd7] {
  display: flex;
  gap: 8px;
}
.btn[data-v-f5212fd7] {
  border: none;
  padding: 8px 12px;
  border-radius: 6px;
  cursor: pointer;
  transition: 0.2s;
}
.btn[data-v-f5212fd7]:hover {
  opacity: 0.85;
}
.btn.blue[data-v-f5212fd7] { background: #3b82f6; color: #fff;
}
.btn.green[data-v-f5212fd7] { background: #10b981; color: #fff;
}
.btn.red[data-v-f5212fd7] { background: #ef4444; color: #fff;
}
.btn.orange[data-v-f5212fd7] { background: #f59e0b; color: #fff;
}
.btn.purple[data-v-f5212fd7] { background: #8b5cf6; color: #fff;
}
.data-table[data-v-f5212fd7] {
  width: 100%;
  border-collapse: collapse;
}
.data-table th[data-v-f5212fd7], .data-table td[data-v-f5212fd7] {
  border: 1px solid #eee;
  text-align: left;
  padding: 10px;
}
.data-table thead[data-v-f5212fd7] {
  background: #f9fafb;
  font-weight: 600;
}
.selected[data-v-f5212fd7] {
  background-color: #f0f9ff;
}
.loading[data-v-f5212fd7], .no-data[data-v-f5212fd7] {
  text-align: center;
  padding: 20px;
  color: #666;
}

.dashboard-header[data-v-32c8e723] {
  margin-bottom: 24px;
}
.filter-area[data-v-32c8e723] {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.filter-area input[type="date"][data-v-32c8e723] {
  min-width: 0;
}
.apply-btn[data-v-32c8e723] {
  padding: 6px 14px;
  background: #2f6af5;
  color: #fff;
  border-radius: 6px;
  border: none;
  cursor: pointer;
}
@media (max-width: 768px) {
.dashboard-header[data-v-32c8e723] { margin-bottom: 18px;
}
.dashboard-header h2[data-v-32c8e723] { font-size: 1.1rem;
}
.filter-area[data-v-32c8e723] {
    width: 100%;
    gap: 6px;
}
.filter-area input[type="date"][data-v-32c8e723] {
    flex: 1;
    min-width: 120px;
}
.apply-btn[data-v-32c8e723] { flex: 1; min-width: 80px;
}
}
@media (max-width: 480px) {
.dashboard-header h2[data-v-32c8e723] { font-size: 1rem;
}
.filter-area span[data-v-32c8e723] { font-size: 12px;
}
}

.summary-card[data-v-60dbc27e] {
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}
.title[data-v-60dbc27e] {
  color: #555;
  font-weight: 500;
}
.value[data-v-60dbc27e] {
  margin-top: 12px;
  font-size: 26px;
  font-weight: 700;
}
.unit[data-v-60dbc27e] {
  font-size: 14px;
  margin-left: 4px;
  color: #777;
}
@media (max-width: 768px) {
.summary-card[data-v-60dbc27e] { padding: 14px 16px;
}
.value[data-v-60dbc27e] { font-size: 20px; margin-top: 8px;
}
.unit[data-v-60dbc27e] { font-size: 12px;
}
}

.summary-cards[data-v-30aacb15] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 32px;
}
@media (max-width: 768px) {
.summary-cards[data-v-30aacb15] {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 24px;
}
}
@media (min-width: 769px) and (max-width: 1024px) {
.summary-cards[data-v-30aacb15] {
    grid-template-columns: repeat(2, 1fr);
}
}

.card[data-v-264ee9ae] {
  background: #fff;
  padding: 20px;
  border-radius: 12px;
}
.card-title[data-v-264ee9ae] {
  font-weight: 700;
  margin-bottom: 12px;
}
.title-row[data-v-264ee9ae] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.warning-badge[data-v-264ee9ae] {
  color: #ef4444;
  background: #fee2e2;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
}
.success-badge[data-v-264ee9ae] {
  color: #047857;
  background: #d1fae5;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
}


.card[data-v-bbe9c77c] {
  background: #fff;
  padding: 20px;
  border-radius: 12px;
}
.card-header[data-v-bbe9c77c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.card-title[data-v-bbe9c77c] {
  font-weight: 700;
}
select[data-v-bbe9c77c] {
  padding: 4px 8px;
}

/* 리스트 */
.table-wrap[data-v-bbe9c77c] {
  max-height: 500px;
  overflow-y: auto;
}
.top-table[data-v-bbe9c77c] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.top-table th[data-v-bbe9c77c],
.top-table td[data-v-bbe9c77c] {
  padding: 10px 8px;
  border-bottom: 1px solid #e5e7eb;
}
.top-table th[data-v-bbe9c77c] {
  background: #f9fafb;
  position: sticky;
  top: 0;
}
.top-table td.right[data-v-bbe9c77c] {
  text-align: right;
  font-weight: 600;
}
.top-table tbody tr[data-v-bbe9c77c]:hover {
  background: #f3f4f6;
}
.empty[data-v-bbe9c77c] {
  text-align: center;
  padding: 20px;
  color: #6b7280;
}

.card[data-v-3b4d5c9b] {
  padding: 24px;
  border-radius: 12px;
  color: #fff;
  text-align: center;
}
.title[data-v-3b4d5c9b] {
  font-size: 14px;
  margin-bottom: 6px;
}
.value[data-v-3b4d5c9b] {
  font-size: 28px;
  font-weight: 700;
}
.red[data-v-3b4d5c9b] { background: #e53935
}
.yellow[data-v-3b4d5c9b] { background: #fbc02d; color: #000
}
.green[data-v-3b4d5c9b] { background: #43a047
}
.dark[data-v-3b4d5c9b] { background: #263238
}

.return-section[data-v-2f6b7093] {
  padding: 24px;
}

/* 헤더 */
.header[data-v-2f6b7093] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.title[data-v-2f6b7093] {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.title h3[data-v-2f6b7093] {
  font-size: 20px;
  font-weight: 700;
}
.sub[data-v-2f6b7093] {
  font-size: 13px;
  color: #6b7280;
}

/* 🔹 검색 박스 */
.search-box[data-v-2f6b7093] {
  display: flex;
  align-items: center;
  gap: 8px;

  padding: 10px 12px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
}
.search-box input[data-v-2f6b7093] {
  height: 36px;
  padding: 0 10px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 14px;
}
.search-box input[data-v-2f6b7093]:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15);
}
.search-box .tilde[data-v-2f6b7093] {
  font-size: 14px;
  color: #6b7280;
}
.search-box button[data-v-2f6b7093] {
  height: 36px;
  padding: 0 16px;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  border: none;
  border-radius: 6px;
  cursor: pointer;
}
.search-box button[data-v-2f6b7093]:hover {
  background: #1e40af;
}

/* 🔹 환불 합계 */
.total-amount[data-v-2f6b7093] {
  margin: 16px 0 20px;
  font-size: 15px;
  color: #374151;
}
.total-amount strong[data-v-2f6b7093] {
  margin-left: 6px;
  font-size: 17px;
}

/* 🔹 카드 */
.grid[data-v-2f6b7093] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

/* 반응형 */
@media (max-width: 1200px) {
.grid[data-v-2f6b7093] {
    grid-template-columns: repeat(2, 1fr);
}
.header[data-v-2f6b7093] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
}

.return-container[data-v-dd712bb6] {
  padding: 20px;
}

/* 🔹 상단 헤더 */
.table-header[data-v-dd712bb6] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}
.table-title[data-v-dd712bb6] {
  font-size: 18px;
  font-weight: 700;
}

/* 우측 컨트롤 */
.table-controls[data-v-dd712bb6] {
  display: flex;
  align-items: center;
  gap: 16px;
}
.page-size[data-v-dd712bb6] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
}
.page-size select[data-v-dd712bb6] {
  height: 32px;
  padding: 0 6px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
}

/* 🔹 검색 */
.search-box[data-v-dd712bb6] {
  display: flex;
  gap: 8px;
}
.search-box input[data-v-dd712bb6] {
  width: 200px;
  height: 32px;
  padding: 0 10px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
}
.btn-search[data-v-dd712bb6] {
  height: 32px;
  padding: 0 14px;
  background: #2563eb;
  color: #fff;
  border-radius: 6px;
  border: none;
  cursor: pointer;
}

/* 🔹 테이블 */
.table-card[data-v-dd712bb6] {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
}
.return-table[data-v-dd712bb6] {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 14px;
}
.return-table th[data-v-dd712bb6],
.return-table td[data-v-dd712bb6] {
  padding: 14px 12px;
  vertical-align: middle;
  border-bottom: 1px solid #f1f5f9;
}

/* 헤더 */
.return-table thead th[data-v-dd712bb6] {
  background: #f9fafb;
  font-weight: 600;
}

/* 컬럼 정렬 */
.col-date[data-v-dd712bb6] {
  text-align: center;
  width: 120px;
  white-space: nowrap;
}
.col-text[data-v-dd712bb6] {
  text-align: left;
  white-space: nowrap;
}
.col-product[data-v-dd712bb6] {
  text-align: left;
  min-width: 360px;
  max-width: 420px;
  line-height: 1.4;
}
.col-center[data-v-dd712bb6] {
  text-align: center;
  white-space: nowrap;
}
.col-price[data-v-dd712bb6] {
  text-align: right;
  width: 140px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* 강조 */
.negative[data-v-dd712bb6] {
  color: #dc2626;
  font-weight: 600;
}
.zero[data-v-dd712bb6] {
  color: #9ca3af;
}

/* 빈 데이터 */
.empty[data-v-dd712bb6] {
  padding: 40px 0;
  color: #9ca3af;
  text-align: center;
}

/* 🔹 페이징 */
.pagination[data-v-dd712bb6] {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 16px;
}
.pagination button[data-v-dd712bb6] {
  padding: 6px 12px;
  border: 1px solid #d1d5db;
  background: #fff;
  border-radius: 6px;
}
.pagination button[data-v-dd712bb6]:disabled {
  opacity: 0.4;
}

/* 히트 추가 시작 */
/* 🔹 금액 요약 (PC 기본: 가로) */
.amount-summary[data-v-dd712bb6] {
  display: flex;
  justify-content: flex-end; /* 오른쪽 */
  align-items: center;
  gap: 32px;
  margin: 12px 0 16px;
  font-size: 14px;
}
.amount-summary .item[data-v-dd712bb6] {
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}
.amount-summary .label[data-v-dd712bb6] {
  color: #6b7280;
}
.amount-summary strong[data-v-dd712bb6] {
  font-size: 15px;
  font-weight: 700;
}
.amount-summary .highlight strong[data-v-dd712bb6] {
  color: #2563eb;
}
@media (max-width: 900px) {
.amount-summary[data-v-dd712bb6] {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}
}
/* 히트 추가 끝  */

/* 반응형 */
@media (max-width: 900px) {
.table-header[data-v-dd712bb6] {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}
.table-controls[data-v-dd712bb6] {
    width: 100%;
    justify-content: space-between;
}
  /* 계산 테이블 위 히트  */
}
/* ✅ 테이블 모바일 반응 */
.table-wrap[data-v-dd712bb6] {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* 테이블 최소 가로폭 */
.return-table[data-v-dd712bb6] {
  min-width: 1000px;
}


/* ═══ 전체 레이아웃 ═══ */
.dashboard-container[data-v-100eea80] {
  padding: 24px;
  max-width: 1400px;
  margin: 0 auto;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ═══════════════════════════════════════ */
/* 🚨 경고 배너                             */
/* ═══════════════════════════════════════ */
.alert-banner[data-v-100eea80] {
  margin-bottom: 16px;
  border-radius: 12px;
  background: linear-gradient(135deg, #fef2f2 0%, #fff7ed 100%);
  border: 1px solid #fca5a5;
  box-shadow: 0 4px 14px rgba(239, 68, 68, 0.12);
  overflow: hidden;
}
.alert-inner[data-v-100eea80] {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 20px;
}
.alert-icon[data-v-100eea80] {
  font-size: 28px;
  flex-shrink: 0;
  margin-top: 2px;
}
.alert-content[data-v-100eea80] {
  flex: 1;
  min-width: 0;
}
.alert-title[data-v-100eea80] {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: #dc2626;
  margin-bottom: 4px;
}
.alert-desc[data-v-100eea80] {
  font-size: 13px;
  color: #92400e;
  margin: 0 0 10px 0;
  line-height: 1.4;
}

/* 미입고 목록 */
.alert-list[data-v-100eea80] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.alert-item[data-v-100eea80] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #78350f;
  padding: 5px 10px;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 6px;
}
.alert-item-name[data-v-100eea80] {
  font-weight: 600;
  max-width: 200px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.alert-item-sep[data-v-100eea80] {
  color: #d6d3d1;
}
.alert-item-date[data-v-100eea80] {
  color: #a8a29e;
}
.alert-item-days[data-v-100eea80] {
  color: #dc2626;
  font-weight: 700;
}
.alert-more[data-v-100eea80] {
  font-size: 12px;
  color: #a8a29e;
  padding: 2px 10px;
}
.alert-close[data-v-100eea80] {
  width: 30px;
  height: 30px;
  border: none;
  background: rgba(0, 0, 0, 0.06);
  border-radius: 50%;
  font-size: 14px;
  color: #9ca3af;
  cursor: pointer;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s;
}
.alert-close[data-v-100eea80]:hover {
  background: #dc2626;
  color: #fff;
}

/* 배너 애니메이션 */
.alert-slide-enter-active[data-v-100eea80] { transition: all 0.3s ease-out;
}
.alert-slide-leave-active[data-v-100eea80] { transition: all 0.2s ease-in;
}
.alert-slide-enter-from[data-v-100eea80] { opacity: 0; transform: translateY(-20px);
}
.alert-slide-leave-to[data-v-100eea80] { opacity: 0; transform: translateY(-10px);
}

/* ═══ 미입고 뱃지 (반품 통계 옆) ═══ */
.overdue-badge[data-v-100eea80] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 12px;
  background: #fef2f2;
  border: 1px solid #fca5a5;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  color: #dc2626;
  cursor: pointer;
  transition: all 0.15s;
  animation: pulse-badge-100eea80 2s infinite;
}
.overdue-badge[data-v-100eea80]:hover {
  background: #fee2e2;
}
@keyframes pulse-badge-100eea80 {
0%, 100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.2);
}
50% { box-shadow: 0 0 0 6px rgba(220, 38, 38, 0);
}
}
.modal-overlay[data-v-100eea80] {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  backdrop-filter: blur(2px);
}
.modal-box[data-v-100eea80] {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
  max-width: 92vw;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.modal-header[data-v-100eea80] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 24px;
  border-bottom: 1px solid #e5e7eb;
  background: #f9fafb;
}
.modal-header h4[data-v-100eea80] { margin: 0; font-size: 16px; font-weight: 700;
}
.modal-close[data-v-100eea80] {
  width: 32px; height: 32px;
  border: none;
  background: #e5e7eb;
  border-radius: 50%;
  font-size: 16px;
  cursor: pointer;
}
.modal-close[data-v-100eea80]:hover { background: #dc2626; color: #fff;
}
.modal-body[data-v-100eea80] { padding: 0; overflow-y: auto; flex: 1;
}
.modal-loading[data-v-100eea80], .modal-empty[data-v-100eea80] {
  padding: 24px;
  text-align: center;
  color: #9ca3af;
}
.modal-fade-enter-active[data-v-100eea80] { transition: opacity 0.2s;
}
.modal-fade-leave-active[data-v-100eea80] { transition: opacity 0.15s;
}
.modal-fade-enter-from[data-v-100eea80], .modal-fade-leave-to[data-v-100eea80] { opacity: 0;
}

/* ═══ 회사 선택 바 ═══ */
.company-section[data-v-100eea80] {
  margin-bottom: 20px;
}
.company-bar[data-v-100eea80] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  padding: 14px 20px;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  gap: 16px;
  flex-wrap: wrap;
}
.company-bar-left[data-v-100eea80] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.company-bar-icon[data-v-100eea80] { font-size: 20px;
}
.company-bar-title[data-v-100eea80] {
  font-size: 15px;
  font-weight: 700;
  color: #111827;
  margin: 0;
  white-space: nowrap;
}
.company-current[data-v-100eea80] {
  display: inline-block;
  padding: 3px 12px;
  background: #eff6ff;
  color: #2563eb;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
}
.company-bar-right[data-v-100eea80] {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* 검색 */
.company-search-wrap[data-v-100eea80] {
  position: relative;
}
.company-search-input[data-v-100eea80] {
  width: 200px;
  height: 36px;
  padding: 0 12px;
  font-size: 13px;
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  transition: all 0.15s;
}
.company-search-input[data-v-100eea80]:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
.company-search-input[data-v-100eea80]::placeholder {
  color: #9ca3af;
}

/* 검색 드롭다운 */
.company-dropdown[data-v-100eea80] {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
  max-height: 240px;
  overflow-y: auto;
  z-index: 100;
  list-style: none;
  margin: 0;
  padding: 4px;
}
.company-dropdown li[data-v-100eea80] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 13px;
  color: #374151;
  transition: background 0.1s;
}
.company-dropdown li[data-v-100eea80]:hover { background: #f3f4f6;
}
.company-dropdown li.active[data-v-100eea80] {
  background: #eff6ff;
  color: #2563eb;
  font-weight: 600;
}
.dropdown-name[data-v-100eea80] { flex: 1;
}
.dropdown-check[data-v-100eea80] { color: #2563eb; font-weight: 700; font-size: 14px;
}
.dropdown-fade-enter-active[data-v-100eea80] { transition: all 0.15s ease-out;
}
.dropdown-fade-leave-active[data-v-100eea80] { transition: all 0.1s ease-in;
}
.dropdown-fade-enter-from[data-v-100eea80],
.dropdown-fade-leave-to[data-v-100eea80] { opacity: 0; transform: translateY(-4px);
}

/* 셀렉트 */
.company-select[data-v-100eea80] {
  width: 220px;
  height: 36px;
  padding: 0 12px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #fff;
  font-size: 13px;
  color: #374151;
  cursor: pointer;
  transition: all 0.15s;
}
.company-select[data-v-100eea80]:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

/* ═══ 섹션 ═══ */
.section[data-v-100eea80] {
  margin-top: 28px;
}
.section-header[data-v-100eea80] {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
.section-title[data-v-100eea80] {
  font-size: 16px;
  font-weight: 700;
  color: #111827;
  margin: 0;
}

/* ═══ 차트 그리드 ═══ */
.grid-2[data-v-100eea80] {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 20px;
}
.chart-panel[data-v-100eea80] {
  background: #fff;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

/* ═══ 반응형 (태블릿·모바일) ═══ */
@media (max-width: 1200px) {
.grid-2[data-v-100eea80] { grid-template-columns: 1fr;
}
}
@media (max-width: 768px) {
.dashboard-container[data-v-100eea80] {
    padding: 16px;
    max-width: 100%;
}
.company-bar[data-v-100eea80] {
    flex-direction: column;
    align-items: flex-start;
    padding: 12px 16px;
}
.company-bar-right[data-v-100eea80] {
    width: 100%;
    flex-direction: column;
}
.company-search-input[data-v-100eea80],
  .company-select[data-v-100eea80] { width: 100%;
}
.alert-inner[data-v-100eea80] { padding: 12px 16px; flex-wrap: wrap;
}
.alert-icon[data-v-100eea80] { font-size: 24px;
}
.alert-title[data-v-100eea80] { font-size: 14px;
}
.alert-desc[data-v-100eea80] { font-size: 12px;
}
.alert-item[data-v-100eea80] {
    flex-wrap: wrap;
    gap: 4px;
    font-size: 11px;
}
.alert-item-name[data-v-100eea80] { max-width: 120px;
}
.section[data-v-100eea80] { margin-top: 20px;
}
.section-header[data-v-100eea80] { flex-wrap: wrap; gap: 8px;
}
.section-title[data-v-100eea80] { font-size: 15px;
}
.chart-panel[data-v-100eea80] { padding: 14px 16px;
}
}
@media (max-width: 480px) {
.dashboard-container[data-v-100eea80] { padding: 12px;
}
.company-bar-left[data-v-100eea80] { flex-wrap: wrap;
}
.company-bar-title[data-v-100eea80] { font-size: 14px;
}
.company-current[data-v-100eea80] { font-size: 12px;
}
.alert-item-name[data-v-100eea80] { max-width: 100px;
}
.overdue-badge[data-v-100eea80] { font-size: 11px; padding: 3px 10px;
}
}

/* 기존 CSS 그대로 유지 */
.table-container[data-v-3a64b20d] {
  width: 100%;
  margin: 10px auto;
  padding: 5px;
  background: #fff;
  border-radius: 8px;
  font-size: 11px;
  position: relative;
}
.table-wrapper[data-v-3a64b20d] {
   width: 100%;
  overflow-y: auto;    /* 세로 스크롤 */
  max-height: 600px;   /* 원하는 높이로 조절 */
  overflow-x: auto;    /* 가로 스크롤 */
}
.order-table[data-v-3a64b20d] {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
  font-size: 11px;
}
.order-table th[data-v-3a64b20d] {
  background: #333;
  color: #fff;
  padding: 4px;
  border: 1px solid #555;
}
.order-table td[data-v-3a64b20d] {
  border: 1px solid #ddd;
  padding: 3px;
}
.order-table tbody tr[data-v-3a64b20d]:nth-child(odd) {
  background: #fafafa;
}
.order-table tbody tr[data-v-3a64b20d]:nth-child(even) {
  background: #f0f0f0;
}
.edit-input[data-v-3a64b20d] {
  width: 90%;
  font-size: 11px;
  padding: 2px;
}
.edit-textarea[data-v-3a64b20d] {
  width: 90%;
  font-size: 11px;
  padding: 2px;
  height: 30px;
}
.global-actions[data-v-3a64b20d] {
  margin-bottom: 8px;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.global-actions button[data-v-3a64b20d] {
  padding: 4px 6px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 11px;
}
.btn-add[data-v-3a64b20d] { background: #28a745; color: #fff;
}
.btn-copy[data-v-3a64b20d] { background: #6f42c1; color: #fff;
}
.btn-save[data-v-3a64b20d] { background: #007bff; color: #fff;
}
.btn-update[data-v-3a64b20d] { background: #fd7e14; color: #fff;
}
.btn-delete[data-v-3a64b20d] { background: #dc3545; color: #fff;
}
.pagination[data-v-3a64b20d] {
  margin-top: 8px;
  display: flex;
  justify-content: center;
  gap: 6px;
  font-size: 11px;
}
.search-bar[data-v-3a64b20d] {
  margin-bottom: 8px;
  display: flex;
  gap: 6px;
  align-items: center;
  font-size: 11px;
}
.search-bar input[data-v-3a64b20d],
.search-bar select[data-v-3a64b20d] {
  padding: 2px 4px;
  font-size: 11px;
  border: 1px solid #ccc;
  border-radius: 4px;
}
.search-bar button[data-v-3a64b20d] {
  padding: 2px 6px;
  font-size: 11px;
  background: #dc3545;
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
.total-amount[data-v-3a64b20d] {
  margin-top: 10px;
  font-weight: bold;
  font-size: 12px;
  text-align: right;
}
.summary-box[data-v-3a64b20d] {
  position: fixed;
  top: 50px;
  right: 20px;
  background: #f8f9fa;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 13px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  text-align: left;          /* 왼쪽 정렬 */
  width: auto;               /* 자동 폭 */
  display: flex;             /* ✅ 가로 정렬 */
  gap: 30px;                 /* ✅ 두 박스 간격 */
  align-items: flex-start;   /* 위쪽 정렬 */
  white-space: nowrap;       /* ✅ 줄바꿈 방지 */
  z-index: 999;
}
.summary-section h4[data-v-3a64b20d] {
  font-size: 13px;
  font-weight: bold;
  color: #007bff;
  margin-bottom: 6px;
}
.summary-item[data-v-3a64b20d] {
  margin-bottom: 3px;
}
.summary-box .summary-item[data-v-3a64b20d] {
  margin-bottom: 4px;
}
.summary-box .summary-item span[data-v-3a64b20d] {
  font-weight: bold;
  color: #333;
}
.summary-box .total[data-v-3a64b20d] {
  font-weight: bold;
  color: #007bff;
}
.order-table tbody tr.highlight-row[data-v-3a64b20d] { background: #ffe5e5 !important;
}
/* 테이블 헤더 고정 */
.order-table thead th[data-v-3a64b20d] {
  position: sticky;
  top: 0;
  background: #333;   /* 기존 배경색 유지 */
  color: #fff;
  z-index: 2;         /* 내용보다 위에 오도록 */
}
/* 연도/월 검색 영역 */
.date-search[data-v-3a64b20d] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
  font-size: 12px;
}
.date-search label[data-v-3a64b20d] {
  font-weight: bold;
}
.date-search select[data-v-3a64b20d],
.date-search button[data-v-3a64b20d] {
  padding: 2px 6px;
  font-size: 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
}
.date-search button[data-v-3a64b20d] {
  background: #007bff;
  color: #fff;
  cursor: pointer;
}
.date-search button[data-v-3a64b20d]:hover {
  background: #0056b3;
}

/* 빠른 선택 버튼 */
.quick-select[data-v-3a64b20d] {
  margin-bottom: 10px;
}
.quick-select button[data-v-3a64b20d] {
  margin-right: 5px;
  padding: 3px 8px;
  font-size: 12px;
  border: none;
  border-radius: 4px;
  background: #6c757d;
  color: #fff;
  cursor: pointer;
}
.quick-select button[data-v-3a64b20d]:hover {
  background: #495057;
}
.btn-sample[data-v-3a64b20d] {
  display: inline-block;     /* 버튼처럼 보이게 */
  padding: 4px 6px;
  background: #17a2b8;       /* 청록색 */
  color: #fff !important;    /* 글씨 흰색 */
  border-radius: 4px;
  text-decoration: none;     /* 밑줄 제거 */
  font-size: 11px;
  cursor: pointer;
}
.btn-sample[data-v-3a64b20d]:hover {
  background: #138496;       /* hover 시 조금 진하게 */
  text-decoration: none;     /* hover 시에도 밑줄 안 생기게 */
  color: #fff !important;
}
/* 상태 박스 (작은 색상칸) */
.status-box[data-v-3a64b20d] {
  display: inline-block;
  width: 16px;
  height: 16px;
  border-radius: 4px;
  border: 1px solid #ccc;
}
.status-box.yellow[data-v-3a64b20d] { background: yellow;
}
.status-box.red[data-v-3a64b20d]    { background: red;
}
.status-box.green[data-v-3a64b20d]  { background: green;
}
.status-box.blue[data-v-3a64b20d]   { background: blue;
}
.status-box.white[data-v-3a64b20d]   { background: white;
}

/* 행 색상 */
.row-yellow[data-v-3a64b20d] { background-color: #fff8dc !important;
} /* 연노랑 */
.row-red[data-v-3a64b20d]    { background-color: #ffe5e5 !important;
} /* 연빨강 */
.row-green[data-v-3a64b20d]  { background-color: #e6ffe6 !important;
} /* 연초록 */
.row-blue[data-v-3a64b20d]   { background-color: #e6f0ff !important;
} /* 연파랑 */
.deposit-match-cell[data-v-3a64b20d] {
  min-width: 110px;
}
.deposit-match-badge[data-v-3a64b20d] {
  display: inline-block;
  padding: 2px 7px;
  border-radius: 999px;
  background: #dcfce7;
  border: 1px solid #86efac;
  color: #166534;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
}
.deposit-match-meta[data-v-3a64b20d] {
  display: block;
  margin-top: 2px;
  font-size: 10px;
  color: #64748b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 140px;
}
.selectable-cell[data-v-3a64b20d] {
  user-select: none;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.selectable-cell.selected[data-v-3a64b20d] {
  background-color: #b8e5ff !important; /* 하늘색 강조 */
}
.summary-item span[data-v-3a64b20d] {
  font-weight: bold;
  color: #333;
}
.summary-item.total span[data-v-3a64b20d] {
  color: #007bff;
}
.selectable-cell.selected[data-v-3a64b20d] {
  background-color: #b8e5ff !important; /* 하늘색 배경 */
  outline: 1px solid #ff4444;           /* 빨간 테두리 */
  outline-offset: -2px;
}
.summary-box h4[data-v-3a64b20d] {
  font-weight: bold;
  margin-bottom: 4px;
  color: #007bff;
}
.summary-box hr[data-v-3a64b20d] {
  margin: 6px 0;
  border: 0;
  border-top: 1px dashed #ccc;
}
.summary-section[data-v-3a64b20d] {
  display: flex;
  flex-direction: column;
  min-width: 200px;          /* 각 박스 최소 폭 */
}
.summary-box hr[data-v-3a64b20d] {
  margin: 6px 0;
  border: 0;
  border-top: 1px dashed #bbb;
}
.summary-box h4[data-v-3a64b20d] {
  font-size: 13px;
  font-weight: bold;
  color: #007bff;
  margin-bottom: 4px;
}
.btn-receipt[data-v-3a64b20d] {
  background: #007bff;
  color: #fff;
  border-radius: 4px;
  padding: 4px 6px;
  font-size: 11px;
}
.btn-receipt[data-v-3a64b20d]:hover {
  background: #0056b3;
}

/* 택배 테이블 간격 조정 히트수정 */
.col-shipping-fee[data-v-3a64b20d] {
  width: 42px !important;   
  min-width: 42px !important;
}
.order-table td.col-shipping-fee[data-v-3a64b20d] {
  width: 42px !important;
  min-width: 42px !important;
  white-space: nowrap;
}
/* 출고일자 테이블 간격 조정 히트수정 */
.col-ship-date[data-v-3a64b20d] {
  width: 66px !important;
  min-width: 66px !important;
}
.order-table td.col-ship-date[data-v-3a64b20d] {
  width: 66px !important;
  min-width: 66px !important;
}


/* 푸터 히트 수정 */
.hit-footer[data-v-3a64b20d] {
  margin-top: 40px;
  padding: 18px 12px;
  background: #f2f2f2;
  border-top: 1px solid #ddd;
  text-align: center;
  font-size: 12px;
  color: #555;
  border-radius: 6px;
}
.hit-footer .footer-inner[data-v-3a64b20d] {
  max-width: 800px;
  margin: 0 auto;
  line-height: 1.6;
}
.hit-footer .footer-info[data-v-3a64b20d] {
  font-size: 11px;
  color: #666;
  margin-bottom: 10px;
  line-height: 1.6;
}
.hit-footer .footer-copy[data-v-3a64b20d] {
  font-size: 11px;
  color: #999;
  text-align: center;
}

/* 2차 검색  히트 추가 PC */
.detail-search[data-v-3a64b20d] {
  display: inline-block;   /* 옆으로 이동 */
  margin-left: -138px;       /* 오른쪽 이동 */
  margin-top: 48px;         /* 아래쪽 이동 */
}

/* 2차 검색  히트 추가 모바일 */
@media screen and (max-width: 768px) {
.detail-search[data-v-3a64b20d] {
    margin-left: -166px;     /* 오른쪽 이동 */
    margin-top: 48px;       /* 아래쪽 이동 */
}
}

/* 히트추가 체크토글  */
.selected-count[data-v-3a64b20d] {
  font-size: 12px;
  margin: 6px 0 4px;
  font-weight: 600;
  color: #333;
}



.btn-track {
  margin-top: 3px;
  padding: 2px 10px;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  background: #1e293b;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s;
}
.btn-track:hover { background: #334155;
}
.tracking-popup {
  width: 340px;
  max-height: 400px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 8px 30px rgba(0,0,0,0.15);
  font-size: 12px;
  font-family: 'Pretendard Variable', 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.tracking-popup-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 14px; border-bottom: 1px solid #f1f5f9;
  background: #f8fafc; border-radius: 12px 12px 0 0;
}
.tracking-popup-title { font-weight: 800; color: #1e293b; font-size: 13px;
}
.tracking-popup-close { background: none; border: none; font-size: 18px; cursor: pointer; color: #94a3b8; line-height: 1;
}
.tracking-popup-close:hover { color: #1e293b;
}
.tracking-popup-loading { display: flex; align-items: center; gap: 8px; padding: 24px 14px; color: #64748b; font-weight: 600;
}
.tracking-spinner { display: inline-block; width: 14px; height: 14px; border: 2px solid #e2e8f0; border-top-color: #3b82f6; border-radius: 50%; animation: tspin 0.6s linear infinite;
}
@keyframes tspin {
to { transform: rotate(360deg);
}
}
.tracking-popup-error { padding: 16px 14px; color: #dc2626; font-weight: 600;
}
.tracking-popup-body { padding: 12px 14px;
}
.tracking-popup-empty { padding: 16px 0; text-align: center; color: #94a3b8;
}
.tracking-status-row { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; padding-bottom: 10px; border-bottom: 1px solid #f1f5f9;
}
.tracking-status-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0;
}
.tracking-status-dot.dot-green { background: #10b981; box-shadow: 0 0 0 3px rgba(16,185,129,0.15);
}
.tracking-status-dot.dot-blue { background: #3b82f6; box-shadow: 0 0 0 3px rgba(59,130,246,0.15);
}
.tracking-status-text { font-weight: 800; color: #0f172a; flex: 1;
}
.tracking-status-badge { padding: 3px 10px; border-radius: 50px; font-size: 11px; font-weight: 700;
}
.tracking-status-badge.badge-green { background: #ecfdf5; color: #059669;
}
.tracking-status-badge.badge-blue { background: #eff6ff; color: #2563eb;
}
.tracking-timeline { display: flex; flex-direction: column;
}
.tracking-timeline-item { display: flex; gap: 10px; padding: 6px 0; position: relative; padding-left: 18px; border-left: 2px solid #e2e8f0; margin-left: 5px;
}
.tracking-timeline-item:last-child { border-left-color: transparent;
}
.tracking-tl-dot { position: absolute; left: -5px; top: 9px; width: 8px; height: 8px; border-radius: 50%; background: #e2e8f0;
}
.tracking-tl-dot.active { background: #3b82f6; box-shadow: 0 0 0 3px rgba(59,130,246,0.15);
}
.tracking-tl-content { display: flex; flex-direction: column; gap: 1px;
}
.tracking-tl-time { font-size: 10px; color: #94a3b8; font-weight: 600;
}
.tracking-tl-desc { font-size: 12px; font-weight: 700; color: #1e293b;
}
.tracking-tl-loc { font-size: 10px; color: #64748b;
}

.image-uploader[data-v-ea9f2280] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.btn-select-file[data-v-ea9f2280] {
  font-size: 12px;
  padding: 4px 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 120px; /* Adjust as needed */
}
.btn-upload[data-v-ea9f2280] {
  font-size: 12px;
  padding: 4px 8px;
  border: none;
  border-radius: 4px;
  background: #d9f7be;
  cursor: pointer;
}
.btn-upload[data-v-ea9f2280]:disabled {
  background: #f5f5f5;
  cursor: not-allowed;
}
.upload-message[data-v-ea9f2280] {
  font-size: 12px;
  margin: 0;
}
.upload-message.success[data-v-ea9f2280] {
  color: green;
}
.upload-message.error[data-v-ea9f2280] {
  color: red;
}
.upload-message.info[data-v-ea9f2280] {
  color: #888;
}

.cafe24-auth-wrapper[data-v-4964b9c7] {
  padding: 30px;
  max-width: 1100px;
}
.form-row[data-v-4964b9c7] {
  display: flex;
  align-items: center;
  margin: 10px 0;
}
.form-row label[data-v-4964b9c7] {
  width: 140px;
  font-weight: 600;
}
.form-row input[data-v-4964b9c7],
textarea[data-v-4964b9c7] {
  flex: 1;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 6px;
}
.btn-auth[data-v-4964b9c7] {
  margin: 10px 10px 10px 0;
  padding: 10px 20px;
  background: #2e8bff;
  color: #fff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  border-radius: 6px;
}
.result-text[data-v-4964b9c7] {
  margin-top: 10px;
  background: #f4f6fa;
  padding: 10px;
  border-radius: 6px;
  font-size: 13px;
}
.product-list[data-v-4964b9c7] {
  margin-top: 20px;
}
.product-item[data-v-4964b9c7] {
  display: flex;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid #eee;
}
.product-image[data-v-4964b9c7] {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 6px;
}
.small[data-v-4964b9c7] {
  font-size: 12px;
  color: #888;
}
.batch-table[data-v-4964b9c7] {
  width: 100%;
  border-collapse: collapse;
  margin-top: 15px;
}
.batch-table th[data-v-4964b9c7],
.batch-table td[data-v-4964b9c7] {
  border-bottom: 1px solid #eee;
  padding: 8px;
  text-align: left;
}
.status[data-v-4964b9c7] {
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 12px;
}
.status.P[data-v-4964b9c7] {
  background: #ffe58f;
}
.status.Y[data-v-4964b9c7] {
  background: #b7eb8f;
}
.status.N[data-v-4964b9c7] {
  background: #ffa39e;
}
.status.W[data-v-4964b9c7] {
  background: #ffec3d;
}
.status.M[data-v-4964b9c7] {
  background: #bae7ff;
}
.paging[data-v-4964b9c7] {
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}
.paging .nav[data-v-4964b9c7] {
  width: 36px;
  height: 36px;
  border: 1px solid #ddd;
  background: #fff;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
}
.paging .nav[data-v-4964b9c7]:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.page-info[data-v-4964b9c7] {
  font-weight: 600;
  font-size: 14px;
}
.page-info small[data-v-4964b9c7] {
  margin-left: 6px;
  color: #888;
}

/* 추가된 스타일 */
.edit-input[data-v-4964b9c7] {
  width: 80px;
  padding: 4px;
  border: 1px solid #ccc;
  border-radius: 4px;
}
.btn-edit[data-v-4964b9c7] {
  font-size: 12px;
  padding: 4px 8px;
  border: none;
  border-radius: 4px;
  background: #e6f4ff;
  cursor: pointer;
}
.btn-save[data-v-4964b9c7] {
  font-size: 12px;
  padding: 4px 8px;
  border: none;
  border-radius: 4px;
  background: #b7eb8f;
  cursor: pointer;
}
.btn-select-all[data-v-4964b9c7] {
  margin-left: 8px;
  padding: 2px 8px;
  font-size: 11px;
  border: 1px solid #69c0ff;
  background: #fff;
  color: #1890ff;
  border-radius: 4px;
  cursor: pointer;
}
.btn-select-all[data-v-4964b9c7]:hover:not(:disabled) { background: #e6f7ff;
}
.btn-select-all[data-v-4964b9c7]:disabled { opacity: 0.5; cursor: not-allowed;
}

/* 히트추가 */
.btn-rerun[data-v-4964b9c7] {
  font-size: 12px;
  padding: 4px 8px;
  border: none;
  border-radius: 4px;
  background: #69c0ff;
  color: #fff;
  cursor: pointer;
}
.btn-rerun[data-v-4964b9c7]:disabled {
  background: #bfbfbf;
  cursor: not-allowed;
}
/* 히트추가끝 */
.btn-cancel[data-v-4964b9c7] {
  font-size: 12px;
  padding: 4px 8px;
  border: none;
  border-radius: 4px;
  background: #ffa39e;
  cursor: pointer;
}
.bulk-edit-area[data-v-4964b9c7] {
  background: #f9f9f9;
  padding: 10px;
  border: 1px solid #eee;
  border-radius: 6px;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* 검색 그룹 스타일 */
.search-input-group[data-v-4964b9c7] {
  display: flex;
  align-items: center;
  border: 1px solid #ccc;
  border-radius: 4px;
  overflow: hidden;
}
.search-input-group select[data-v-4964b9c7] {
  border: none;
  outline: none;
  padding: 6px 8px;
  background-color: #f7f7f7;
  border-right: 1px solid #ccc;
}
.search-input-group input[data-v-4964b9c7] {
  border: none;
  outline: none;
  padding: 7px 8px;
  flex: 1;
  min-width: 150px;
}


/* 모달 스타일 */
.modal-overlay[data-v-4964b9c7] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}
.modal-content[data-v-4964b9c7] {
  background: white;
  padding: 20px;
  border-radius: 8px;
  width: 300px;
  text-align: center;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
.progress-container[data-v-4964b9c7] {
  width: 100%;
  height: 20px;
  background-color: #f0f0f0;
  border-radius: 10px;
  margin: 15px 0;
  overflow: hidden;
}
.progress-bar[data-v-4964b9c7] {
  height: 100%;
  background-color: #4caf50;
  transition: width 0.3s ease;
}
.progress-text[data-v-4964b9c7] {
  font-size: 14px;
  color: #333;
}

.bg-primary-light[data-v-6c3f9dac] { background: #eff6ff; border: 1px solid #dbeafe;
}
.bg-danger-light[data-v-6c3f9dac] { background: #fef2f2; border: 1px solid #fee2e2;
}
.bg-success-light[data-v-6c3f9dac] { background: #f0fdf4; border: 1px solid #dcfce7;
}
.bg-warning-light[data-v-6c3f9dac] { background: #fffbeb; border: 1px solid #fef3c7;
}
.table-warning-light[data-v-6c3f9dac] { background-color: #fff9f0 !important;
}
.table-danger-light[data-v-6c3f9dac] { background-color: #fff5f5 !important;
}
tr.ledger-matched.table-success[data-v-6c3f9dac] { background-color: #d4edda !important;
}
/* 지정한 색 → 행 전체(모든 td) 배경 적용 */
.ledger-table tbody tr.ledger-row-bg-yellow td[data-v-6c3f9dac] { background-color: #fff3cd !important;
}
.ledger-table tbody tr.ledger-row-bg-red td[data-v-6c3f9dac] { background-color: #f8d7da !important;
}
.ledger-table tbody tr.ledger-row-bg-blue td[data-v-6c3f9dac] { background-color: #cfe2ff !important;
}
.ledger-table tbody tr.ledger-row-bg-green td[data-v-6c3f9dac] { background-color: #d1e7dd !important;
}
.ledger-color-cell[data-v-6c3f9dac] { white-space: nowrap; cursor: pointer;
}
.ledger-color-cell > div[data-v-6c3f9dac] { display: inline-block;
}
.ledger-status-box[data-v-6c3f9dac] { display: inline-block; width: 14px; height: 14px; border-radius: 3px; border: 1px solid #ccc; margin-right: 4px; vertical-align: middle;
}
.ledger-status-box.yellow[data-v-6c3f9dac] { background: #fff3cd;
}
.ledger-status-box.red[data-v-6c3f9dac] { background: #f8d7da;
}
.ledger-status-box.blue[data-v-6c3f9dac] { background: #cfe2ff;
}
.ledger-status-box.green[data-v-6c3f9dac] { background: #d1e7dd;
}
.ledger-color-select[data-v-6c3f9dac] { width: 72px; font-size: 11px; padding: 2px 4px; display: inline-block;
}
.sticky-header th[data-v-6c3f9dac] { position: sticky; top: 0; background: #f8f9fa; z-index: 10; border-bottom: 2px solid #dee2e6; font-weight: 800;
}
.pointer[data-v-6c3f9dac] { cursor: pointer;
}
.pointer[data-v-6c3f9dac]:hover { text-decoration: underline; color: #0d6efd;
}
.opacity-50[data-v-6c3f9dac] { opacity: 0.5 !important;
}
/* 원장 셀 선택 스타일 */
.ledger-selectable-cell[data-v-6c3f9dac] {
    user-select: none;
    cursor: pointer;
    transition: background-color 0.15s ease;
}
.ledger-cell-selected[data-v-6c3f9dac] {
    background-color: #b8e5ff !important;
    outline: 1px solid #ff4444;
    outline-offset: -2px;
}

.alias-modal-overlay[data-v-e6382610] {
  position: fixed;
  inset: 0;
  background: rgba(2, 6, 23, 0.58);
  backdrop-filter: blur(3px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5000;
}
.alias-modal-dialog[data-v-e6382610] {
  width: 92vw;
  max-width: 1040px;
  max-height: 90vh;
  background: linear-gradient(180deg, #f8fbff 0%, #f4f6fb 100%);
  border: 1px solid #d8e1ef;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.25);
}
.alias-modal-header[data-v-e6382610] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid #d8e1ef;
  background: linear-gradient(90deg, #0f172a 0%, #1f3a8a 100%);
  color: #fff;
}
.header-title[data-v-e6382610] {
  display: grid;
  gap: 2px;
}
.header-actions[data-v-e6382610] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.match-status-badge[data-v-e6382610] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 700;
  border: 1px solid transparent;
  line-height: 1;
}
.match-status-badge.status-matched[data-v-e6382610] {
  background: #dcfce7;
  color: #166534;
  border-color: #86efac;
}
.match-status-badge.status-warning[data-v-e6382610] {
  background: #ffedd5;
  color: #9a3412;
  border-color: #fdba74;
}
.match-status-badge.status-unmatched[data-v-e6382610] {
  background: #fee2e2;
  color: #991b1b;
  border-color: #fca5a5;
}
.match-status-badge.status-pending[data-v-e6382610] {
  background: #e2e8f0;
  color: #334155;
  border-color: #cbd5e1;
}
.eyebrow[data-v-e6382610] {
  margin: 0;
  opacity: 0.8;
  font-size: 11px;
  letter-spacing: 1.2px;
}
.alias-modal-header h3[data-v-e6382610] {
  margin: 2px 0 0;
  font-size: 20px;
}
.btn-close[data-v-e6382610] {
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  border-radius: 10px;
  padding: 8px 12px;
  font-weight: 600;
}
.btn-clear-match[data-v-e6382610] {
  border: 1px solid rgba(255, 255, 255, 0.45);
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
  border-radius: 10px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 700;
}
.btn-clear-match[data-v-e6382610]:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.alias-modal-body[data-v-e6382610] {
  padding: 14px;
  overflow: auto;
  display: grid;
  gap: 12px;
}
.card[data-v-e6382610] {
  border: 1px solid #dbe4f3;
  border-radius: 12px;
  padding: 12px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
}
.card h4[data-v-e6382610] {
  margin: 0 0 10px;
  font-size: 15px;
}
.info-grid[data-v-e6382610] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.info-chip[data-v-e6382610] {
  border: 1px solid #dbe4f3;
  border-radius: 10px;
  padding: 10px;
  background: #f8fbff;
  display: grid;
  gap: 4px;
}
.info-chip span[data-v-e6382610] {
  font-size: 11px;
  color: #64748b;
}
.info-chip strong[data-v-e6382610] {
  font-size: 14px;
  color: #111827;
}
.match-status-row[data-v-e6382610] {
  margin-top: 10px;
  padding: 10px;
  border: 1px solid #dbe4f3;
  border-radius: 10px;
  background: #f8fafc;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.match-status-title[data-v-e6382610] {
  font-size: 12px;
  color: #334155;
}
.match-status-meta[data-v-e6382610] {
  font-size: 11px;
  color: #64748b;
  border-radius: 999px;
  padding: 3px 8px;
  background: #e2e8f0;
}
.matched-order-wrap[data-v-e6382610] {
  margin-top: 10px;
  border: 1px solid #dbe4f3;
  border-radius: 10px;
  background: #f8fafc;
  padding: 10px;
  display: grid;
  gap: 8px;
}
.matched-order-title-row[data-v-e6382610] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.matched-order-title[data-v-e6382610] {
  font-size: 13px;
  color: #0f172a;
}
.matched-order-pill[data-v-e6382610] {
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 700;
  color: #166534;
  border: 1px solid #86efac;
  background: #dcfce7;
}
.matched-order-grid[data-v-e6382610] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.matched-order-item[data-v-e6382610] {
  border: 1px solid #dbe4f3;
  border-radius: 8px;
  padding: 8px 9px;
  background: #fff;
  display: grid;
  gap: 4px;
}
.matched-order-item span[data-v-e6382610] {
  font-size: 11px;
  color: #64748b;
}
.matched-order-item strong[data-v-e6382610] {
  font-size: 12px;
  color: #111827;
  line-height: 1.3;
  word-break: break-word;
}
.matched-order-item.full[data-v-e6382610] {
  grid-column: 1 / -1;
}
.matched-order-placeholder[data-v-e6382610] {
  border: 1px dashed #cbd5e1;
  border-radius: 8px;
  padding: 10px;
  font-size: 12px;
  color: #64748b;
  background: #fff;
}
.matched-order-placeholder.warning[data-v-e6382610] {
  color: #9a3412;
  border-color: #fdba74;
  background: #fff7ed;
}
.raw-wrap[data-v-e6382610] {
  margin-top: 10px;
}
.raw-title[data-v-e6382610] {
  display: flex;
  gap: 6px;
  align-items: center;
  margin-bottom: 6px;
}
.raw-ellipsis[data-v-e6382610] {
  display: inline-block;
  max-width: 820px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #475569;
  font-size: 12px;
}
.raw-full[data-v-e6382610] {
  width: 100%;
  min-height: 78px;
  resize: vertical;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  padding: 10px;
  font-size: 13px;
  background: #f8fafc;
}
.section-title-row[data-v-e6382610] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.mode-badge[data-v-e6382610] {
  font-size: 11px;
  font-weight: 700;
  border-radius: 999px;
  padding: 4px 10px;
}
.mode-badge.create[data-v-e6382610] {
  background: #dcfce7;
  color: #166534;
}
.mode-badge.edit[data-v-e6382610] {
  background: #ffedd5;
  color: #9a3412;
}
.form-grid[data-v-e6382610] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.form-grid label[data-v-e6382610] {
  display: grid;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
}
.form-grid label.full[data-v-e6382610] {
  grid-column: 1 / -1;
}
.form-grid input[data-v-e6382610],
.form-grid select[data-v-e6382610] {
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  padding: 9px 10px;
  font-size: 13px;
  background: #fff;
}
.checkbox[data-v-e6382610] {
  display: flex !important;
  flex-direction: row;
  align-items: center;
  gap: 8px !important;
  padding-top: 20px;
}
.form-actions[data-v-e6382610] {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}
.btn-primary[data-v-e6382610],
.btn-secondary[data-v-e6382610],
.btn-warning[data-v-e6382610],
.btn-danger[data-v-e6382610] {
  border: 0;
  border-radius: 10px;
  padding: 8px 13px;
  font-size: 12px;
  font-weight: 700;
}
.btn-primary[data-v-e6382610] {
  background: #2563eb;
  color: #fff;
}
.btn-secondary[data-v-e6382610] {
  background: #64748b;
  color: #fff;
}
.btn-warning[data-v-e6382610] {
  background: #f59e0b;
  color: #fff;
}
.btn-danger[data-v-e6382610] {
  background: #dc2626;
  color: #fff;
}
.table-scroll[data-v-e6382610] {
  overflow: auto;
  max-height: 290px;
  border: 1px solid #dbe4f3;
  border-radius: 10px;
}
.alias-table[data-v-e6382610] {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.alias-table th[data-v-e6382610],
.alias-table td[data-v-e6382610] {
  border-bottom: 1px solid #edf2f7;
  padding: 8px 6px;
  text-align: left;
  white-space: nowrap;
}
.alias-table thead th[data-v-e6382610] {
  position: sticky;
  top: 0;
  background: #0f172a;
  color: #fff;
  z-index: 1;
}
.type-pill[data-v-e6382610] {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  background: #e2e8f0;
  color: #1e293b;
  font-size: 11px;
  font-weight: 700;
}
.memo-cell[data-v-e6382610] {
  max-width: 170px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cell-actions[data-v-e6382610] {
  display: flex;
  gap: 6px;
}
.empty[data-v-e6382610] {
  text-align: center !important;
  color: #9ca3af;
}
.btn-candidate-refresh[data-v-e6382610] {
  min-width: 92px;
}
.candidate-table-scroll[data-v-e6382610] {
  overflow: auto;
  max-height: 300px;
  border: 1px solid #dbe4f3;
  border-radius: 10px;
}
.candidate-table[data-v-e6382610] {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.candidate-table th[data-v-e6382610],
.candidate-table td[data-v-e6382610] {
  border-bottom: 1px solid #edf2f7;
  padding: 8px 6px;
  white-space: nowrap;
  text-align: left;
}
.candidate-table thead th[data-v-e6382610] {
  position: sticky;
  top: 0;
  background: #0f172a;
  color: #fff;
  z-index: 1;
}
.td-ellipsis[data-v-e6382610] {
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.td-ellipsis.long[data-v-e6382610] {
  max-width: 240px;
}
.candidate-row[data-v-e6382610] {
  cursor: pointer;
}
.candidate-row:hover td[data-v-e6382610] {
  background: #f8fafc;
}
.btn-candidate-match[data-v-e6382610] {
  padding: 6px 10px;
  font-size: 11px;
  white-space: nowrap;
}
.candidate-placeholder[data-v-e6382610] {
  border: 1px dashed #cbd5e1;
  border-radius: 10px;
  padding: 14px;
  color: #64748b;
  font-size: 13px;
  background: #f8fafc;
}
.candidate-error[data-v-e6382610] {
  color: #b91c1c;
  border-color: #fca5a5;
  background: #fef2f2;
}
@media (max-width: 960px) {
.alias-modal-header[data-v-e6382610] {
    align-items: flex-start;
    gap: 10px;
}
.header-actions[data-v-e6382610] {
    width: 100%;
    justify-content: flex-start;
}
.info-grid[data-v-e6382610] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.match-status-row[data-v-e6382610] {
    flex-direction: column;
    align-items: flex-start;
}
.form-grid[data-v-e6382610] {
    grid-template-columns: 1fr;
}
.matched-order-grid[data-v-e6382610] {
    grid-template-columns: 1fr;
}
.checkbox[data-v-e6382610] {
    padding-top: 0;
}
.candidate-table th[data-v-e6382610],
  .candidate-table td[data-v-e6382610] {
    font-size: 11px;
}
}

.deposit-page[data-v-3cefb2fb] {
  max-width: 1400px;
  margin: 0 auto;
  padding: 20px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.header-row[data-v-3cefb2fb] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.header-row h2[data-v-3cefb2fb] {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
}
.controls[data-v-3cefb2fb] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.status-badge[data-v-3cefb2fb] {
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
}
.status-badge.on[data-v-3cefb2fb] { background: #dcfce7; color: #16a34a;
}
.status-badge.off[data-v-3cefb2fb] { background: #fee2e2; color: #dc2626;
}
.sec-select[data-v-3cefb2fb], .bank-select[data-v-3cefb2fb], .page-select[data-v-3cefb2fb] {
  padding: 6px 10px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 13px;
  background: #fff;
}
.btn-refresh[data-v-3cefb2fb] {
  padding: 6px 14px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  font-size: 13px;
  transition: all 0.15s;
}
.btn-refresh[data-v-3cefb2fb]:hover { background: #f3f4f6;
}
.btn-refresh.active[data-v-3cefb2fb] { background: #dcfce7; border-color: #16a34a; color: #16a34a;
}

/* 요약 카드 */
.summary-cards[data-v-3cefb2fb] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 16px;
}
.card[data-v-3cefb2fb] {
  padding: 14px 16px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #e5e7eb;
}
.card-label[data-v-3cefb2fb] { font-size: 12px; color: #6b7280; margin-bottom: 4px;
}
.card-value[data-v-3cefb2fb] { font-size: 20px; font-weight: 700; font-variant-numeric: tabular-nums;
}
.card.total .card-value[data-v-3cefb2fb] { color: #2563eb;
}
.card.amount .card-value[data-v-3cefb2fb] { color: #16a34a;
}
.card.unmatched .card-value[data-v-3cefb2fb] { color: #dc2626;
}
.card.all .card-value[data-v-3cefb2fb] { color: #6b7280;
}

/* 필터 */
.type-tabs[data-v-3cefb2fb] {
  display: flex;
  gap: 6px;
  margin-bottom: 10px;
}
.type-tab[data-v-3cefb2fb] {
  min-width: 58px;
  padding: 8px 14px;
  border: 1px solid #cbd5e1;
  border-radius: 9px;
  background: #fff;
  color: #111827;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.type-tab.active[data-v-3cefb2fb] {
  background: #1f2937;
  border-color: #1f2937;
  color: #fff;
}
.filter-row[data-v-3cefb2fb] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.date-input[data-v-3cefb2fb] {
  padding: 8px 10px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 13px;
  background: #fff;
}
.range-sep[data-v-3cefb2fb] {
  color: #6b7280;
  font-size: 13px;
  font-weight: 600;
}
.search-input[data-v-3cefb2fb] {
  flex: 1;
  padding: 8px 12px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 13px;
}

/* 테이블 */
.table-wrapper[data-v-3cefb2fb] {
  overflow-x: auto;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
}
.deposit-table[data-v-3cefb2fb] {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.deposit-table thead th[data-v-3cefb2fb] {
  position: sticky;
  top: 0;
  background: #1f2937;
  color: #fff;
  padding: 10px 8px;
  text-align: center;
  font-weight: 600;
  font-size: 12px;
  white-space: nowrap;
}
.deposit-table tbody td[data-v-3cefb2fb] {
  padding: 8px;
  border-bottom: 1px solid #f3f4f6;
  text-align: center;
  white-space: nowrap;
}
.deposit-table tbody tr[data-v-3cefb2fb]:hover { background: #f9fafb;
}
.col-no[data-v-3cefb2fb] { width: 40px; color: #9ca3af;
}
.col-noti[data-v-3cefb2fb] {
  width: 170px;
  max-width: 170px;
  font-size: 11px;
  color: #64748b;
  text-align: left !important;
  overflow: hidden;
  text-overflow: ellipsis;
}
.col-type[data-v-3cefb2fb] { width: 74px;
}
.col-time[data-v-3cefb2fb] { width: 140px; font-size: 12px;
}
.col-bank[data-v-3cefb2fb] { width: 70px;
}
.col-amount[data-v-3cefb2fb] { width: 110px; font-weight: 600; text-align: right !important; color: #16a34a;
}
.col-sender[data-v-3cefb2fb] { width: 100px;
}
.col-txtime[data-v-3cefb2fb] { width: 120px; font-size: 12px;
}
.col-balance[data-v-3cefb2fb] { width: 110px; text-align: right !important; font-size: 12px; color: #6b7280;
}
.col-raw[data-v-3cefb2fb] { text-align: left !important;
}
.col-action[data-v-3cefb2fb] { width: 110px;
}
.btn-match[data-v-3cefb2fb] {
  border: 1px solid #2563eb;
  background: #eff6ff;
  color: #1d4ed8;
  border-radius: 6px;
  padding: 5px 9px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}
.btn-match[data-v-3cefb2fb]:hover { background: #dbeafe;
}
.raw-text[data-v-3cefb2fb] { font-size: 11px; color: #9ca3af;
}
.type-pill[data-v-3cefb2fb] {
  display: inline-block;
  min-width: 38px;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
}
.type-pill.type-in[data-v-3cefb2fb] {
  background: #d1fae5;
  color: #059669;
}
.type-pill.type-out[data-v-3cefb2fb] {
  background: #fee2e2;
  color: #dc2626;
}
.type-pill.type-alert[data-v-3cefb2fb] {
  background: #fef3c7;
  color: #b45309;
}
.amount-in[data-v-3cefb2fb] { color: #16a34a !important;
}
.amount-out[data-v-3cefb2fb] { color: #dc2626 !important;
}

/* 은행 태그 */
.bank-tag[data-v-3cefb2fb] {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 600;
}
.bank-국민[data-v-3cefb2fb] { background: #fef3c7; color: #92400e;
}
.bank-신한[data-v-3cefb2fb] { background: #dbeafe; color: #1e40af;
}
.bank-우리[data-v-3cefb2fb] { background: #dbeafe; color: #1e3a8a;
}
.bank-하나[data-v-3cefb2fb] { background: #dcfce7; color: #166534;
}
.bank-농협[data-v-3cefb2fb] { background: #dcfce7; color: #14532d;
}
.bank-카카오[data-v-3cefb2fb] { background: #fef9c3; color: #854d0e;
}
.bank-토스[data-v-3cefb2fb] { background: #e0e7ff; color: #3730a3;
}
.bank-기업[data-v-3cefb2fb] { background: #f3e8ff; color: #6b21a8;
}
.bank-미분류[data-v-3cefb2fb] { background: #fee2e2; color: #991b1b;
}
.bank-기타[data-v-3cefb2fb] { background: #f3f4f6; color: #374151;
}

/* 행 상태 */
.row-unmatched[data-v-3cefb2fb] { background: #fef2f2 !important;
}
.row-withdraw[data-v-3cefb2fb] { background: #fff7f7;
}
.row-new[data-v-3cefb2fb] { animation: flash-3cefb2fb 1s ease-in-out;
}
@keyframes flash-3cefb2fb {
0%, 100% { background: transparent;
}
50% { background: #dcfce7;
}
}
.empty-row[data-v-3cefb2fb] {
  text-align: center !important;
  color: #9ca3af;
  padding: 40px !important;
}

/* 페이지네이션 */
.pagination-row[data-v-3cefb2fb] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 12px;
  font-size: 13px;
  color: #6b7280;
}
.page-buttons[data-v-3cefb2fb] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.page-buttons button[data-v-3cefb2fb] {
  padding: 4px 10px;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
}
.page-buttons button[data-v-3cefb2fb]:disabled { opacity: 0.4; cursor: default;
}
.page-info[data-v-3cefb2fb] { font-size: 12px;
}
@media (max-width: 768px) {
.summary-cards[data-v-3cefb2fb] { grid-template-columns: repeat(2, 1fr);
}
.type-tabs[data-v-3cefb2fb] { flex-wrap: wrap;
}
.filter-row[data-v-3cefb2fb] { flex-direction: column;
}
.header-row[data-v-3cefb2fb] { flex-direction: column; gap: 10px; align-items: flex-start;
}
.controls[data-v-3cefb2fb] { flex-wrap: wrap;
}
}

.attendance-container[data-v-69043fb1] { background: #f8f9fc; font-family: 'Pretendard', sans-serif; color: #2d3436;
}
.digital-clock[data-v-69043fb1] { font-size: 4.5rem; font-weight: 800; letter-spacing: -3px; color: #1e272e; line-height: 1;
}
.text-gradient[data-v-69043fb1] { background: linear-gradient(135deg, #377dff, #00ca71); -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
.text-holiday[data-v-69043fb1] { color: #ff4757 !important;
}
.text-sat[data-v-69043fb1] { color: #377dff !important;
}
.role-tag[data-v-69043fb1] { font-size: 0.8rem; padding: 2px 10px; border-radius: 50px; font-weight: 800; margin-left: 8px; vertical-align: middle;
}
.role-tag.admin[data-v-69043fb1] { background: #ffeaa7; color: #d63031;
}
.role-tag.staff[data-v-69043fb1] { background: #dff9fb; color: #0984e3;
}
.action-card[data-v-69043fb1] { height: 140px; border-radius: 28px; cursor: pointer; display: flex; align-items: center; justify-content: center; background: #fff; transition: 0.3s; box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}
.action-card[data-v-69043fb1]:hover { transform: translateY(-8px); box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}
.action-card.in[data-v-69043fb1]:hover { background: #00ca71; color: white;
}
.action-card.out[data-v-69043fb1]:hover { background: #377dff; color: white;
}
.glass-panel[data-v-69043fb1] { background: rgba(255, 255, 255, 0.75); backdrop-filter: blur(15px); border-radius: 32px; border: 1px solid #fff;
}
.day-box[data-v-69043fb1] { min-height: 160px; padding: 12px; border-radius: 20px; background: rgba(255,255,255,0.4); border: 1px solid #edf2f7; position: relative; cursor: pointer;
}
.is-today[data-v-69043fb1] { background: #fff; border: 2px solid #377dff;
}
.day-num[data-v-69043fb1] { font-weight: 900; font-size: 1.1rem; color: #ced4da;
}
.leave-badge[data-v-69043fb1] { display: flex; align-items: center; padding: 5px 10px; border-radius: 10px; margin-bottom: 6px; font-size: 0.75rem; font-weight: 800; border: 1px dashed rgba(0,0,0,0.1);
}
.annual[data-v-69043fb1] { background: #fff9db; color: #f08c00;
}
.sick[data-v-69043fb1] { background: #fff0f6; color: #d6336c;
}
.vacation[data-v-69043fb1] { background: #e3fafc; color: #0c8599;
}
.att-item-bar[data-v-69043fb1] { padding: 6px 10px; border-radius: 10px; margin-bottom: 6px; font-size: 0.75rem; text-align: left; border-left: 5px solid #ccc; background: #fff;
}
.att-item-bar.is-working[data-v-69043fb1] { border-left-color: #00ca71;
}
.att-item-bar.is-done[data-v-69043fb1] { border-left-color: #377dff;
}

/* 🔴 지각 시 빨간 테두리 강조 (전체 테두리) */
.is-late[data-v-69043fb1] { 
  border: 2px solid #ff4757 !important; 
  background-color: #fff5f5 !important; 
  color: #d63031 !important;
}
.att-item-bar.is-late[data-v-69043fb1] { border-left: 8px solid #ff4757 !important;
}
.att-main[data-v-69043fb1] { display: flex; justify-content: space-between; font-weight: 800;
}
.late-badge[data-v-69043fb1] { background: #ff4757; color: white; font-size: 0.6rem; padding: 1px 4px; border-radius: 4px;
}
.att-time[data-v-69043fb1] { font-weight: 700; font-size: 0.7rem;
}
.more-pill[data-v-69043fb1] { background: #eef2ff; color: #377dff; font-size: 0.65rem; font-weight: 900; padding: 3px 10px; border-radius: 50px; border: 1px solid rgba(55,125,255,0.1);
}
.nav-btn[data-v-69043fb1] { border: none; background: #fff; width: 36px; height: 36px; border-radius: 10px; box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}
.detail-card[data-v-69043fb1] { border-radius: 16px; border-left: 8px solid #ccc; background: #fff; border: 1px solid #eee;
}
.detail-card.is-working[data-v-69043fb1] { border-left-color: #00ca71;
}
.detail-card.is-done[data-v-69043fb1] { border-left-color: #377dff;
}
.detail-card.is-leave[data-v-69043fb1] { border-left-color: #fcc419; background: #fffcf0;
}
.btn-xs[data-v-69043fb1] { font-size: 0.7rem; border-radius: 6px;
}


.kd[data-v-06051aa4]{--bg:#f8fafc;--sf:#fff;--bd:#e2e8f0;--bdl:#f1f5f9;--t1:#0f172a;--t2:#475569;--t3:#94a3b8;--bl:#3b82f6;--bll:#eff6ff;--gn:#10b981;--gnl:#ecfdf5;--yw:#f59e0b;--ywl:#fffbeb;--rd:#ef4444;--rdl:#fef2f2;--pp:#8b5cf6;--ppl:#f5f3ff;--r:12px;--rs:8px;--rx:6px;--sh:0 1px 3px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.06);--f:'Noto Sans KR',-apple-system,sans-serif;--fm:'JetBrains Mono',monospace;font-family:var(--f);background:var(--bg);color:var(--t1);min-height:100vh;font-size:14px;line-height:1.6}

/* Topbar */
.kd-topbar[data-v-06051aa4]{background:var(--sf);border-bottom:1px solid var(--bd);position:sticky;top:0;z-index:100}
.kd-topbar-inner[data-v-06051aa4]{max-width:1440px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between}
.kd-brand[data-v-06051aa4]{display:flex;align-items:center;gap:12px}
.kd-logo[data-v-06051aa4]{width:36px;height:36px;background:var(--bl);color:#fff;border-radius:var(--rs);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px}
.kd-title[data-v-06051aa4]{font-size:16px;font-weight:700;margin:0;line-height:1.2}
.kd-subtitle[data-v-06051aa4]{font-size:11px;color:var(--t3);font-weight:500}
.kd-topbar-actions[data-v-06051aa4]{display:flex;align-items:center;gap:16px}
.kd-quota[data-v-06051aa4]{min-width:160px}
.kd-quota-text[data-v-06051aa4]{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--t2)}
.kd-quota-text strong[data-v-06051aa4]{color:var(--bl);font-family:var(--fm)}
.kd-quota-label[data-v-06051aa4]{background:var(--bll);color:var(--bl);padding:1px 6px;border-radius:4px;font-size:10px;font-weight:700}
.kd-quota-sep[data-v-06051aa4]{color:var(--t3)}
.kd-quota-bar[data-v-06051aa4]{height:3px;background:var(--bdl);border-radius:2px;margin-top:4px}
.kd-quota-fill[data-v-06051aa4]{height:100%;background:var(--bl);border-radius:2px;transition:width .3s}

/* Guide */
.kd-guide[data-v-06051aa4]{background:var(--bll);border-bottom:1px solid #dbeafe}
.kd-guide-inner[data-v-06051aa4]{max-width:1440px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:32px;position:relative}
.kd-guide-step[data-v-06051aa4]{display:flex;align-items:flex-start;gap:10px}
.kd-guide-step p[data-v-06051aa4]{margin:0;font-size:11px;color:var(--t2)}
.kd-guide-step strong[data-v-06051aa4]{font-size:12px}
.kd-guide-num[data-v-06051aa4]{width:22px;height:22px;background:var(--bl);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}
.kd-guide-close[data-v-06051aa4]{position:absolute;right:24px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--t3);cursor:pointer;font-size:18px}

/* Alerts */
.kd-alert[data-v-06051aa4]{max-width:1440px;margin:12px auto 0;padding:10px 16px;border-radius:var(--rs);display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500}
.kd-alert-error[data-v-06051aa4]{background:var(--rdl);color:var(--rd);border:1px solid #fecaca}
.kd-alert-success[data-v-06051aa4]{background:var(--gnl);color:var(--gn);border:1px solid #bbf7d0}
.kd-alert-close[data-v-06051aa4]{background:none;border:none;color:inherit;cursor:pointer;margin-left:auto;opacity:.6}

/* Body */
.kd-body[data-v-06051aa4]{max-width:1440px;margin:0 auto;padding:24px;position:relative;z-index:0}

/* Search */
.kd-search-section[data-v-06051aa4]{margin-bottom:20px}
.kd-search-box[data-v-06051aa4]{display:flex;align-items:center;background:var(--sf);border:2px solid var(--bd);border-radius:var(--r);padding:4px 4px 4px 16px;transition:border-color .2s;max-width:560px}
.kd-search-box[data-v-06051aa4]:focus-within{border-color:var(--bl);box-shadow:0 0 0 3px rgba(59,130,246,.1)}
.kd-search-icon[data-v-06051aa4]{color:var(--t3);font-size:16px}
.kd-search-input[data-v-06051aa4]{border:none;outline:none;flex:1;padding:10px 12px;font-size:14px;font-weight:500;background:transparent;font-family:var(--f)}
.kd-search-input[data-v-06051aa4]::placeholder{color:var(--t3)}
.kd-search-btn[data-v-06051aa4]{background:var(--bl);color:#fff;border:none;padding:10px 24px;border-radius:var(--rs);font-weight:700;font-size:14px;cursor:pointer;transition:background .15s;font-family:var(--f)}
.kd-search-btn[data-v-06051aa4]:hover{background:#2563eb}
.kd-search-btn[data-v-06051aa4]:disabled{background:var(--t3);cursor:not-allowed}
.kd-recent[data-v-06051aa4]{display:flex;align-items:center;gap:6px;margin-top:10px;flex-wrap:wrap}
.kd-recent-label[data-v-06051aa4]{font-size:11px;color:var(--t3);font-weight:600}
.kd-recent-tag[data-v-06051aa4]{border:1px solid var(--bd);background:var(--sf);padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;color:var(--t2);font-family:var(--f)}
.kd-recent-tag[data-v-06051aa4]:hover{background:var(--bll);border-color:var(--bl);color:var(--bl)}

/* Grid */
.kd-grid[data-v-06051aa4]{display:grid;grid-template-columns:300px 1fr;gap:20px;align-items:start}
.kd-sidebar[data-v-06051aa4]{display:flex;flex-direction:column;gap:16px}
@media(min-width:1025px){.kd-sidebar[data-v-06051aa4]{position:sticky;top:72px}}
@media(max-width:1024px){.kd-grid[data-v-06051aa4]{grid-template-columns:1fr}}
.kd-main[data-v-06051aa4]{display:flex;flex-direction:column;gap:16px;min-width:0;overflow:hidden}

/* Card */
.kd-card[data-v-06051aa4]{background:var(--sf);border:1px solid var(--bd);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;min-width:0}
.kd-card-header[data-v-06051aa4]{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--bdl)}
.kd-card-header h3[data-v-06051aa4]{font-size:13px;font-weight:700;margin:0;display:flex;align-items:center;gap:8px;white-space:nowrap}
.kd-card-body[data-v-06051aa4]{padding:16px 18px}
.kd-badge-subtle[data-v-06051aa4]{font-size:10px;background:var(--bdl);color:var(--t3);padding:2px 8px;border-radius:4px;font-weight:600}

/* ★★★ 차트 컨테이너 — 핵심 수정 ★★★ */
.kd-chart-box[data-v-06051aa4]{position:relative;width:100%;overflow:hidden}

/* canvas를 absolute로 넣어서 부모 height에 맞춤 → 절대 늘어나지 않음 */
.kd-chart-box canvas[data-v-06051aa4]{position:absolute!important;top:0;left:0;width:100%!important;height:100%!important}

/* Charts Grid — 3열, min-width:0으로 overflow 방지 */
.kd-charts-grid[data-v-06051aa4]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media(max-width:1200px){.kd-charts-grid[data-v-06051aa4]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:768px){.kd-charts-grid[data-v-06051aa4]{grid-template-columns:1fr}}
.kd-chart-legend[data-v-06051aa4]{display:flex;gap:16px;margin-top:10px;font-size:11px;color:var(--t2)}
.kd-ldot[data-v-06051aa4]{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:middle}
.kd-device-stats[data-v-06051aa4]{display:flex;justify-content:center;gap:24px;margin-top:10px}
.kd-device-item[data-v-06051aa4]{display:flex;align-items:center;gap:6px;font-size:12px}
.kd-device-item strong[data-v-06051aa4]{font-family:var(--fm);font-size:13px}
.kd-ddot[data-v-06051aa4]{width:10px;height:10px;border-radius:50%;display:inline-block}

/* Heatmap */
.kd-heatmap[data-v-06051aa4]{margin-bottom:16px}
.kd-hm-bar[data-v-06051aa4]{display:flex;height:28px;border-radius:6px;overflow:hidden;gap:2px}
.kd-hm-seg[data-v-06051aa4]{display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;transition:flex .3s;min-width:0;overflow:hidden}
.kd-hm-low[data-v-06051aa4]{background:var(--gn)}
.kd-hm-mid[data-v-06051aa4]{background:var(--yw)}
.kd-hm-high[data-v-06051aa4]{background:var(--rd)}
.kd-hm-labels[data-v-06051aa4]{display:flex;gap:12px;margin-top:8px}
.kd-hm-labels span[data-v-06051aa4]{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--t2)}
.kd-hm-labels b[data-v-06051aa4]{font-family:var(--fm)}
.kd-hm-dot[data-v-06051aa4]{display:inline-block;width:8px;height:8px;border-radius:2px}

/* Mini bars */
.kd-minibar-section[data-v-06051aa4]{margin-top:4px}
.kd-minibar-title[data-v-06051aa4]{font-size:11px;font-weight:700;color:var(--t3);margin-bottom:8px;text-transform:uppercase;letter-spacing:.3px}
.kd-minibar-row[data-v-06051aa4]{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.kd-minibar-name[data-v-06051aa4]{font-size:11px;font-weight:600;width:80px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}
.kd-minibar-track[data-v-06051aa4]{flex:1;height:6px;background:var(--bdl);border-radius:3px;overflow:hidden}
.kd-minibar-fill[data-v-06051aa4]{height:100%;background:linear-gradient(90deg,var(--bl),#60a5fa);border-radius:3px;transition:width .4s}
.kd-minibar-val[data-v-06051aa4]{font-size:11px;font-family:var(--fm);font-weight:600;color:var(--t2);width:44px;text-align:right;flex-shrink:0}

/* AI Insights */
.kd-insights[data-v-06051aa4]{background:linear-gradient(135deg,#f0f4ff,#faf5ff);border:1px solid #e0e7ff;border-radius:var(--r);padding:16px 18px}
.kd-insights-header[data-v-06051aa4]{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.kd-insights-icon[data-v-06051aa4]{font-size:16px;color:var(--pp)}
.kd-insights-title[data-v-06051aa4]{font-size:13px;font-weight:800;color:var(--pp)}
.kd-insights-desc[data-v-06051aa4]{font-size:11px;color:var(--t3)}
.kd-insights-picks[data-v-06051aa4]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:768px){.kd-insights-picks[data-v-06051aa4]{grid-template-columns:1fr}}
.kd-pick[data-v-06051aa4]{background:var(--sf);border:1px solid var(--bd);border-radius:var(--rs);padding:12px 14px;transition:all .15s}
.kd-pick[data-v-06051aa4]:hover{border-color:var(--pp);box-shadow:0 2px 8px rgba(139,92,246,.1)}
.kd-pick-keyword[data-v-06051aa4]{font-size:14px;font-weight:700;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kd-pick-stats[data-v-06051aa4]{display:flex;align-items:center;gap:8px}
.kd-pick-vol[data-v-06051aa4]{font-size:12px;color:var(--t2);font-family:var(--fm)}
.kd-score-mini[data-v-06051aa4]{width:28px;height:28px;border-radius:50%;font-size:11px;font-weight:800;font-family:var(--fm);display:flex;align-items:center;justify-content:center}

/* Stats */
.kd-stats-row[data-v-06051aa4]{display:flex;align-items:center;background:var(--sf);border:1px solid var(--bd);border-radius:var(--r);padding:14px 20px;box-shadow:var(--sh)}
.kd-stat[data-v-06051aa4]{flex:1;text-align:center}
.kd-stat-label[data-v-06051aa4]{display:block;font-size:10px;color:var(--t3);font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}
.kd-stat-value[data-v-06051aa4]{font-size:20px;font-weight:800;font-family:var(--fm)}
.kd-stat-hl[data-v-06051aa4]{color:var(--bl)}
.kd-stat-divider[data-v-06051aa4]{width:1px;height:32px;background:var(--bd)}

/* Tabs */
.kd-card-header-multi[data-v-06051aa4]{display:flex;flex-direction:column}
.kd-chm-top[data-v-06051aa4]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--bdl)}
.kd-chm-top h3[data-v-06051aa4]{font-size:13px;font-weight:700;margin:0}
.kd-chm-actions[data-v-06051aa4]{display:flex;gap:8px}
.kd-chm-bottom[data-v-06051aa4]{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;background:var(--bg);flex-wrap:wrap;gap:10px;border-bottom:1px solid var(--bdl)}
.kd-tabs[data-v-06051aa4]{display:flex;gap:4px;background:var(--sf);padding:3px;border-radius:var(--rs);border:1px solid var(--bd)}
.kd-tab[data-v-06051aa4]{border:none;background:transparent;padding:6px 14px;border-radius:var(--rx);font-size:12px;font-weight:600;color:var(--t3);cursor:pointer;transition:all .15s;font-family:var(--f);white-space:nowrap}
.kd-tab.active[data-v-06051aa4]{background:var(--t1);color:#fff}
.kd-tab-cnt[data-v-06051aa4]{font-family:var(--fm);font-size:10px;margin-left:3px;opacity:.7}
.kd-filters[data-v-06051aa4]{display:flex;gap:4px;align-items:center}
.kd-filter-lbl[data-v-06051aa4]{font-size:11px;color:var(--t3);font-weight:600;margin-right:4px}
.kd-chip[data-v-06051aa4]{border:1px solid var(--bd);background:var(--sf);padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;color:var(--t2);font-family:var(--f)}
.kd-chip.active[data-v-06051aa4]{background:var(--t1);color:#fff;border-color:var(--t1)}
.kd-chip-g.active[data-v-06051aa4]{background:var(--gn);border-color:var(--gn)}
.kd-chip-y.active[data-v-06051aa4]{background:var(--yw);border-color:var(--yw)}
.kd-chip-r.active[data-v-06051aa4]{background:var(--rd);border-color:var(--rd)}

/* Table */
.kd-table-wrap[data-v-06051aa4]{overflow-x:auto;max-height:520px;overflow-y:auto}
.kd-table-wrap[data-v-06051aa4]::-webkit-scrollbar{width:4px;height:4px}
.kd-table-wrap[data-v-06051aa4]::-webkit-scrollbar-thumb{background:var(--bd);border-radius:2px}
.kd-table-sm[data-v-06051aa4]{max-height:340px}
.kd-table[data-v-06051aa4]{width:100%;border-collapse:collapse;font-size:13px}
.kd-table thead[data-v-06051aa4]{position:sticky;top:0;z-index:1}
.kd-table th[data-v-06051aa4]{background:var(--bg);padding:9px 14px;font-size:11px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.3px;text-align:left;border-bottom:1px solid var(--bd);white-space:nowrap}
.kd-table td[data-v-06051aa4]{padding:9px 14px;border-bottom:1px solid var(--bdl)}
.kd-th-ck[data-v-06051aa4]{width:36px;text-align:center!important}
.kd-th-ck input[data-v-06051aa4],.kd-table td:first-child input[data-v-06051aa4]{accent-color:var(--bl)}
.kd-th-kw[data-v-06051aa4]{min-width:140px}
.kd-th-n[data-v-06051aa4]{text-align:right!important}
.kd-th-bar[data-v-06051aa4]{width:100px}
.kd-th-c[data-v-06051aa4],.kd-th-s[data-v-06051aa4],.kd-th-t[data-v-06051aa4]{text-align:center!important}
.kd-sortable[data-v-06051aa4]{cursor:pointer;user-select:none}
.kd-sortable[data-v-06051aa4]:hover{color:var(--bl)}
.kd-si[data-v-06051aa4]{font-size:10px;margin-left:2px;opacity:.4}
.kd-si-on[data-v-06051aa4]{opacity:1;color:var(--bl)}
.kd-row[data-v-06051aa4]{transition:background .1s}
.kd-row[data-v-06051aa4]:hover{background:#f8fbff}
.kd-cell-kw[data-v-06051aa4]{font-weight:600;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kd-cell-n[data-v-06051aa4]{text-align:right;font-family:var(--fm);font-weight:500}
.kd-cell-blue[data-v-06051aa4]{color:var(--bl);font-weight:700}
.kd-cell-muted[data-v-06051aa4]{color:var(--t3);font-size:11px;font-family:var(--fm)}
.kd-ibar[data-v-06051aa4]{width:100%;height:5px;background:var(--bdl);border-radius:3px;overflow:hidden}
.kd-ibar-fill[data-v-06051aa4]{height:100%;background:var(--bl);border-radius:3px;transition:width .3s;opacity:.6}
.kd-comp[data-v-06051aa4]{display:inline-block;padding:3px 10px;border-radius:4px;font-size:11px;font-weight:700;text-align:center}
.kd-cp-low[data-v-06051aa4]{background:var(--gnl);color:var(--gn)}
.kd-cp-mid[data-v-06051aa4]{background:var(--ywl);color:var(--yw)}
.kd-cp-high[data-v-06051aa4]{background:var(--rdl);color:var(--rd)}
.kd-score[data-v-06051aa4]{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;font-size:11px;font-weight:800;font-family:var(--fm)}
.kd-sc-a[data-v-06051aa4]{background:var(--gnl);color:var(--gn)}
.kd-sc-b[data-v-06051aa4]{background:var(--bll);color:var(--bl)}
.kd-sc-c[data-v-06051aa4]{background:var(--ywl);color:var(--yw)}
.kd-sc-d[data-v-06051aa4]{background:var(--rdl);color:var(--rd)}
.kd-fire[data-v-06051aa4]{font-size:14px}
.kd-dash[data-v-06051aa4]{color:var(--t3)}

/* Paging */
.kd-paging[data-v-06051aa4]{display:flex;justify-content:center;align-items:center;gap:8px;padding:14px;border-top:1px solid var(--bdl)}
.kd-pg-btn[data-v-06051aa4]{width:32px;height:32px;border:1px solid var(--bd);background:var(--sf);border-radius:var(--rx);font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;color:var(--t2)}
.kd-pg-btn[data-v-06051aa4]:hover:not(:disabled){background:var(--bg);border-color:var(--bl);color:var(--bl)}
.kd-pg-btn[data-v-06051aa4]:disabled{opacity:.3;cursor:not-allowed}
.kd-pg-info[data-v-06051aa4]{font-size:12px;font-family:var(--fm);color:var(--t3);font-weight:600;min-width:50px;text-align:center}

/* Empty */
.kd-empty[data-v-06051aa4]{text-align:center;padding:48px 20px;color:var(--t3)}
.kd-empty-icon[data-v-06051aa4]{font-size:36px;opacity:.25;margin-bottom:12px}
.kd-empty-t[data-v-06051aa4]{font-size:15px;font-weight:700;color:var(--t2);margin:0 0 4px}
.kd-empty-d[data-v-06051aa4]{font-size:13px;margin:0;line-height:1.6}
.kd-empty-sm[data-v-06051aa4]{text-align:center;padding:28px 16px;color:var(--t3);font-size:12px}
.kd-empty-cell[data-v-06051aa4]{text-align:center!important;color:var(--t3);padding:20px!important}
.kd-loading[data-v-06051aa4]{text-align:center;padding:28px}

/* Buttons */
.kd-btn-primary[data-v-06051aa4]{background:var(--bl);color:#fff;border:none;padding:8px 16px;border-radius:var(--rs);font-weight:700;font-size:13px;cursor:pointer;transition:background .15s;font-family:var(--f)}
.kd-btn-primary[data-v-06051aa4]:hover{background:#2563eb}
.kd-btn-primary[data-v-06051aa4]:disabled{background:var(--t3);cursor:not-allowed}
.kd-btn-outline[data-v-06051aa4]{background:var(--sf);color:var(--t2);border:1px solid var(--bd);padding:8px 16px;border-radius:var(--rs);font-weight:600;font-size:13px;cursor:pointer;font-family:var(--f)}
.kd-btn-outline[data-v-06051aa4]:hover{background:var(--bg)}
.kd-btn-ghost[data-v-06051aa4]{background:none;border:none;color:var(--t3);padding:8px;border-radius:var(--rs);cursor:pointer;transition:all .15s;font-family:var(--f);font-size:13px;font-weight:600}
.kd-btn-ghost[data-v-06051aa4]:hover{background:var(--bg);color:var(--t1)}
.kd-btn-ghost-r[data-v-06051aa4]:hover{color:var(--rd);background:var(--rdl)}
.kd-btn-danger[data-v-06051aa4]{background:var(--rd);color:#fff;border:none;padding:8px 16px;border-radius:var(--rs);font-weight:700;font-size:13px;cursor:pointer;font-family:var(--f)}
.kd-btn-danger[data-v-06051aa4]:disabled{opacity:.5;cursor:not-allowed}
.kd-btn-icon[data-v-06051aa4]{background:none;border:none;color:var(--t3);cursor:pointer;padding:6px;border-radius:var(--rx);transition:all .2s;font-size:15px}
.kd-btn-icon[data-v-06051aa4]:hover{background:var(--bg);color:var(--t1);transform:rotate(180deg)}
.kd-btn-sm[data-v-06051aa4]{padding:5px 12px;font-size:12px}
.kd-btn-xs[data-v-06051aa4]{padding:4px 10px;font-size:11px}

/* Rank list */
.kd-rank-list[data-v-06051aa4]{max-height:460px;overflow-y:auto;padding:6px}
.kd-rank-list[data-v-06051aa4]::-webkit-scrollbar{width:3px}
.kd-rank-list[data-v-06051aa4]::-webkit-scrollbar-thumb{background:var(--bd);border-radius:2px}
.kd-rank-item[data-v-06051aa4]{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--rx);cursor:pointer;transition:background .15s}
.kd-rank-item[data-v-06051aa4]:hover{background:var(--bll)}
.kd-rank-item:hover .kd-rank-arrow[data-v-06051aa4]{opacity:1}
.kd-rank-num[data-v-06051aa4]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--rx);font-size:11px;font-weight:700;background:var(--bdl);color:var(--t3);font-family:var(--fm);flex-shrink:0}
.kd-rank-gold[data-v-06051aa4]{background:#fef3c7;color:#b45309}
.kd-rank-silver[data-v-06051aa4]{background:#f1f5f9;color:#475569}
.kd-rank-bronze[data-v-06051aa4]{background:#fed7aa;color:#c2410c}
.kd-rank-keyword[data-v-06051aa4]{font-size:12px;font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kd-rank-arrow[data-v-06051aa4]{color:var(--t3);font-size:10px;opacity:0;transition:opacity .15s}

/* Trend pills */
.kd-trend-pills[data-v-06051aa4]{margin-top:12px;display:flex;flex-direction:column;gap:5px}
.kd-trend-pill[data-v-06051aa4]{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--bg);border-radius:var(--rx);font-size:11px}
.kd-trend-name[data-v-06051aa4]{font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kd-trend-value[data-v-06051aa4]{font-family:var(--fm);font-weight:600;color:var(--bl)}
.kd-trend-delta[data-v-06051aa4]{font-family:var(--fm);font-weight:600;font-size:10px}
.kd-up[data-v-06051aa4]{color:var(--gn)}
.kd-down[data-v-06051aa4]{color:var(--rd)}

/* Admin */
.kd-admin-grid[data-v-06051aa4]{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:1024px){.kd-admin-grid[data-v-06051aa4]{grid-template-columns:1fr}}
.kd-hdr-acts[data-v-06051aa4]{display:flex;align-items:center;gap:6px}
.kd-dtag[data-v-06051aa4]{font-family:var(--fm);font-size:11px;background:var(--bg);padding:2px 8px;border-radius:4px;color:var(--t2)}
.kd-role[data-v-06051aa4]{font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px}
.kd-role-a[data-v-06051aa4]{background:var(--bll);color:var(--bl)}
.kd-role-u[data-v-06051aa4]{background:var(--bdl);color:var(--t3)}

/* Q&A */
.kd-write[data-v-06051aa4]{padding:16px 18px;border-bottom:1px solid var(--bdl);display:flex;flex-direction:column;gap:10px;background:var(--bg)}
.kd-write-ft[data-v-06051aa4]{display:flex;justify-content:space-between;align-items:center}
.kd-write-acts[data-v-06051aa4]{display:flex;gap:6px}
.kd-pw-row[data-v-06051aa4]{display:flex;align-items:center;gap:8px}
.kd-pw-hint[data-v-06051aa4]{font-size:10px;color:var(--t3)}
.kd-input[data-v-06051aa4]{border:1px solid var(--bd);border-radius:var(--rs);padding:9px 14px;font-size:13px;font-family:var(--f);outline:none;transition:border-color .15s;width:100%}
.kd-input[data-v-06051aa4]:focus{border-color:var(--bl);box-shadow:0 0 0 3px rgba(59,130,246,.08)}
.kd-input-sm[data-v-06051aa4]{width:150px;padding:7px 12px;font-size:12px}
.kd-textarea[data-v-06051aa4]{border:1px solid var(--bd);border-radius:var(--rs);padding:9px 14px;font-size:13px;font-family:var(--f);outline:none;resize:vertical;transition:border-color .15s;width:100%}
.kd-textarea[data-v-06051aa4]:focus{border-color:var(--bl);box-shadow:0 0 0 3px rgba(59,130,246,.08)}
.kd-posts[data-v-06051aa4]{padding:0}
.kd-post[data-v-06051aa4]{display:flex;justify-content:space-between;align-items:flex-start;padding:14px 18px;border-bottom:1px solid var(--bdl);transition:background .1s}
.kd-post[data-v-06051aa4]:hover{background:var(--bg)}
.kd-post[data-v-06051aa4]:last-child{border-bottom:none}
.kd-post-body-wrap[data-v-06051aa4]{flex:1;min-width:0}
.kd-post-tl[data-v-06051aa4]{font-weight:700;font-size:13px;margin-bottom:3px;display:flex;align-items:center;gap:6px}
.kd-lock[data-v-06051aa4]{color:var(--yw);font-size:11px}
.kd-abadge[data-v-06051aa4]{font-size:9px;background:var(--bll);color:var(--bl);padding:1px 6px;border-radius:3px;font-weight:700}
.kd-mybadge[data-v-06051aa4]{font-size:9px;background:var(--gnl);color:var(--gn);padding:1px 6px;border-radius:3px;font-weight:700}
.kd-post-txt[data-v-06051aa4]{font-size:12px;color:var(--t2);margin:0 0 5px;line-height:1.5}
.kd-post-meta[data-v-06051aa4]{display:flex;gap:10px;font-size:10px;color:var(--t3);align-items:center}
.kd-reply-cnt[data-v-06051aa4]{color:var(--bl);font-weight:600}
.kd-post-acts[data-v-06051aa4]{display:flex;gap:4px;flex-shrink:0;margin-left:12px}

/* Modal */
.kd-overlay[data-v-06051aa4]{position:fixed;inset:0;background:rgba(15,23,42,.4);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1050}
.kd-modal[data-v-06051aa4]{background:var(--sf);border-radius:var(--r);padding:24px;width:90%;max-width:360px;box-shadow:0 20px 60px rgba(0,0,0,.2)}
.kd-modal h4[data-v-06051aa4]{font-size:15px;font-weight:700;margin:0 0 6px}
.kd-modal-desc[data-v-06051aa4]{color:var(--t2);font-size:13px;margin:0 0 14px}
.kd-modal-ft[data-v-06051aa4]{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.kd-footer[data-v-06051aa4]{max-width:1440px;margin:0 auto;padding:20px 24px;text-align:center}
.kd-footer p[data-v-06051aa4]{font-size:11px;color:var(--t3);margin:0}

/* Transitions */
.fade-enter-active[data-v-06051aa4],.fade-leave-active[data-v-06051aa4]{transition:opacity .2s}
.fade-enter-from[data-v-06051aa4],.fade-leave-to[data-v-06051aa4]{opacity:0}
.slide-enter-active[data-v-06051aa4],.slide-leave-active[data-v-06051aa4]{transition:all .2s}
.slide-enter-from[data-v-06051aa4],.slide-leave-to[data-v-06051aa4]{opacity:0;transform:translateY(-8px)}

.api-test-container[data-v-01686056] { font-family: 'Malgun Gothic', sans-serif; padding: 20px; background: #f0f2f5; font-size: 13px; color: #333; min-height: 100vh;
}
.container[data-v-01686056] { max-width: 1100px; margin: 0 auto; background: #fff; padding: 25px; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}
h1[data-v-01686056] { color: #0056b3; border-bottom: 3px solid #0056b3; padding-bottom: 10px; font-size: 1.4em; margin-bottom: 20px;
}
.key-box[data-v-01686056] { margin-bottom: 20px; background: #e7f3ff; padding: 15px; border-radius: 8px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.key-box input[data-v-01686056] { padding: 8px; border: 1px solid #ced4da; border-radius: 4px;
}
.search-type-label[data-v-01686056] { margin-left: 8px;
}
.search-type-select[data-v-01686056] { padding: 6px 10px; border: 1px solid #ced4da; border-radius: 4px; font-size: 13px;
}
.search-results-box[data-v-01686056] { margin-bottom: 16px; padding: 12px; background: #f8f9fa; border: 1px solid #dee2e6; border-radius: 8px; max-height: 280px; overflow: auto;
}
.search-results-title[data-v-01686056] { font-weight: bold; margin-bottom: 8px; font-size: 13px; color: #495057;
}
.search-results-table[data-v-01686056] { width: 100%; border-collapse: collapse; font-size: 12px;
}
.search-results-table th[data-v-01686056], .search-results-table td[data-v-01686056] { padding: 8px; border: 1px solid #dee2e6; text-align: left;
}
.search-results-table th[data-v-01686056] { background: #e9ecef;
}
.search-result-row[data-v-01686056] { cursor: pointer;
}
.search-result-row[data-v-01686056]:hover { background: #cce5ff;
}
.main-btn[data-v-01686056] { padding: 10px 20px; background: #0056b3; color: white; border: none; border-radius: 4px; cursor: pointer; font-weight: bold;
}
.main-btn[data-v-01686056]:hover:not(:disabled) { background: #004494;
}
.main-btn[data-v-01686056]:disabled { background: #6c757d; cursor: not-allowed;
}
.proposal-box[data-v-01686056] { background: #fff8e1; border: 2px solid #ffc107; border-radius: 8px; padding: 15px; margin-bottom: 20px;
}
.proposal-title[data-v-01686056] { margin: 0 0 10px; color: #e65100; font-size: 1.1em;
}
.proposal-controls[data-v-01686056] { display: flex; gap: 10px; align-items: center; margin-bottom: 10px; flex-wrap: wrap;
}
.proposal-input[data-v-01686056] { width: 120px; padding: 8px; border: 1px solid #ccc; border-radius: 4px;
}
.btn-add[data-v-01686056] { padding: 8px 16px; background: #e65100; color: #fff; border: none; border-radius: 4px; cursor: pointer; font-weight: bold;
}
.btn-add[data-v-01686056]:disabled { background: #999; cursor: not-allowed;
}
.btn-excel-url[data-v-01686056] { padding: 8px 16px; background: #0d9488; color: #fff; border: none; border-radius: 4px; cursor: pointer; font-weight: bold;
}
.btn-excel-url[data-v-01686056]:hover:not(:disabled) { background: #0f766e;
}
.btn-excel-url[data-v-01686056]:disabled { background: #999; cursor: not-allowed;
}
.btn-excel[data-v-01686056] { padding: 8px 16px; background: #1d6f42; color: #fff; border: none; border-radius: 4px; cursor: pointer; font-weight: bold;
}
.btn-excel[data-v-01686056]:hover:not(:disabled) { background: #155231;
}
.btn-excel[data-v-01686056]:disabled { background: #999; cursor: not-allowed;
}
.btn-excel-type2[data-v-01686056] { padding: 8px 16px; background: #0056b3; color: #fff; border: none; border-radius: 4px; cursor: pointer; font-weight: bold;
}
.btn-excel-type2[data-v-01686056]:hover { background: #004494;
}
.btn-excel-type2[data-v-01686056]:disabled { background: #999; cursor: not-allowed;
}
.btn-remove[data-v-01686056] { background: #dc3545; color: #fff; border: none; border-radius: 3px; padding: 2px 8px; cursor: pointer; font-size: 11px;
}
.proposal-list table[data-v-01686056] { width: 100%; border-collapse: collapse; font-size: 12px;
}
.proposal-list th[data-v-01686056], .proposal-list td[data-v-01686056] { padding: 6px; border: 1px solid #ddd;
}
.proposal-list th[data-v-01686056] { background: #f2f2f2;
}
.proposal-empty[data-v-01686056] { color: #999; font-size: 12px; padding: 10px;
}
.status-message[data-v-01686056] { margin-bottom: 15px; font-weight: bold; min-height: 20px;
}
.extract-wrapper[data-v-01686056] { background: #f8f9fa; border: 2px solid #dee2e6; border-radius: 10px; padding: 20px; margin-bottom: 30px;
}
.extract-title[data-v-01686056] { font-weight: bold; font-size: 1.1em; margin-bottom: 10px; display: flex; justify-content: space-between; align-items: center;
}
.url-box[data-v-01686056] { background: #fff; border: 1px solid #ccc; padding: 12px; border-radius: 4px; max-height: 150px; overflow-y: auto; font-family: 'Consolas', monospace; font-size: 12px; margin-bottom: 15px; line-height: 1.6; white-space: pre-wrap;
}
.html-box[data-v-01686056] { background: #282c34; color: #98c379; padding: 15px; border-radius: 4px; font-family: 'Consolas', monospace; font-size: 12px; max-height: 150px; overflow-y: auto; white-space: pre-wrap; word-break: break-all;
}
.copy-btn[data-v-01686056] { padding: 4px 12px; font-size: 11px; background: #6c757d; color: #fff; border: none; border-radius: 4px; cursor: pointer;
}
.copy-btn[data-v-01686056]:hover { background: #495057;
}
.section-title[data-v-01686056] { margin: 30px 0 10px; padding-left: 10px; border-left: 5px solid #0056b3; font-size: 1.1em; font-weight: bold;
}
.col-tag[data-v-01686056] { font-family: 'Consolas', monospace; color: #d63384; font-size: 11px; font-weight: normal; margin-left: 5px;
}
.info-grid[data-v-01686056] { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; margin-bottom: 20px;
}
.info-item[data-v-01686056] { padding: 12px; background: #fff; border-radius: 6px; border: 1px solid #eee;
}
.info-item label[data-v-01686056] { display: block; font-size: 11px; color: #777; margin-bottom: 5px; font-weight: bold;
}
.info-item span[data-v-01686056] { font-size: 13px; font-weight: 500; word-break: break-all;
}
.price-val[data-v-01686056] { color: #d63384; font-weight: bold; font-size: 1.2em;
}
.status-badge[data-v-01686056] { display: inline-block; padding: 2px 8px; border-radius: 4px; font-size: 11px; font-weight: bold; color: #fff; margin-right: 4px;
}
.bg-blue[data-v-01686056] { background: #007bff;
}
.bg-green[data-v-01686056] { background: #28a745;
}
.detail-header-row[data-v-01686056] { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 20px;
}
.prod-name-display[data-v-01686056] { font-size: 1.7em; font-weight: bold; margin: 0; padding-left: 15px; border-left: 6px solid #0056b3; flex: 1; min-width: 0;
}
.btn-add-proposal[data-v-01686056] { padding: 8px 16px; background: #0056b3; color: #fff; border: none; border-radius: 4px; font-size: 13px; font-weight: 600; cursor: pointer; white-space: nowrap;
}
.btn-add-proposal[data-v-01686056]:hover { background: #004494;
}
.proposal-list-card[data-v-01686056] { background: #fff8e1; border: 2px solid #ffc107; border-radius: 8px; padding: 15px; margin-bottom: 20px;
}
.proposal-list-heading[data-v-01686056] { font-size: 1rem; font-weight: 700; color: #e65100; margin: 0 0 12px;
}
.proposal-list-actions[data-v-01686056] { display: flex; gap: 10px; margin-bottom: 12px; flex-wrap: wrap;
}
.proposal-table-wrap[data-v-01686056] { max-height: 280px; overflow: auto; border: 1px solid #dee2e6; border-radius: 8px;
}
.proposal-list-table[data-v-01686056] { width: 100%; border-collapse: collapse; font-size: 12px;
}
.proposal-list-table th[data-v-01686056] { background: #f2f2f2; padding: 8px 10px; text-align: left;
}
.proposal-list-table td[data-v-01686056] { padding: 8px 10px; border-top: 1px solid #ddd;
}
.preview-card[data-v-01686056] { border: 1px solid #eee; padding: 20px; border-radius: 8px; background: #fafafa; text-align: center;
}
.preview-card img[data-v-01686056] { max-width: 70%; border: 1px solid #ddd; border-radius: 4px;
}
.desc-preview[data-v-01686056] { border: 1px solid #ddd; padding: 25px; background: #fff; border-radius: 8px; min-height: 200px;
}
.desc-preview img[data-v-01686056] { max-width: 70% !important; height: auto !important; display: block; margin: 20px auto;
}
.access-denied[data-v-01686056] { display: flex; align-items: center; justify-content: center; min-height: 80vh;
}
.denied-content[data-v-01686056] { text-align: center; padding: 40px;
}

/* ═══ 기존 스타일 ═══ */
.product-data-container[data-v-fdae3737]{font-family:'Noto Sans KR','Malgun Gothic',sans-serif;padding:24px 16px 48px;background:linear-gradient(180deg,#f8fafc,#f1f5f9);min-height:100vh;color:#334155}
.page-header[data-v-fdae3737]{max-width:720px;margin:0 auto 24px;text-align:center}
.page-header h1[data-v-fdae3737]{font-size:1.5rem;font-weight:700;color:#0f172a;margin:0 0 8px}
.subtitle[data-v-fdae3737]{font-size:.9rem;color:#64748b;margin:0;line-height:1.5}
.usage-card[data-v-fdae3737]{max-width:720px;margin:0 auto 20px;background:#fff;border-radius:12px;padding:20px 24px;box-shadow:0 1px 3px rgba(0,0,0,.06);border:1px solid #e2e8f0}
.usage-title[data-v-fdae3737]{font-size:.95rem;font-weight:700;color:#0f172a;margin:0;padding:4px 0 12px;display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none}
.usage-title[data-v-fdae3737]:hover{color:#0ea5e9}
.usage-toggle[data-v-fdae3737]{margin-left:auto;font-size:.7rem;color:#64748b;transition:transform .2s}
.usage-toggle.open[data-v-fdae3737]{transform:rotate(-180deg)}
.usage-body[data-v-fdae3737]{padding-top:4px}
.usage-icon[data-v-fdae3737]{width:22px;height:22px;border-radius:50%;background:#0ea5e9;color:#fff;font-size:.75rem;display:inline-flex;align-items:center;justify-content:center}
.usage-intro[data-v-fdae3737]{font-size:.9rem;color:#475569;margin:0 0 16px;line-height:1.6}
.usage-step-block[data-v-fdae3737]{margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid #e2e8f0}
.usage-step-block[data-v-fdae3737]:last-of-type{margin-bottom:0;padding-bottom:0;border-bottom:none}
.usage-step-num[data-v-fdae3737]{display:block;font-size:.95rem;color:#0f172a;margin-bottom:6px}
.usage-desc[data-v-fdae3737]{font-size:.85rem;color:#64748b;margin:0 0 10px;line-height:1.5}
.usage-sublist[data-v-fdae3737]{margin:0;padding-left:20px;font-size:.9rem;line-height:1.8;color:#475569}
.usage-sublist li[data-v-fdae3737]{margin-bottom:6px}.usage-sublist li[data-v-fdae3737]:last-child{margin-bottom:0}
.usage-sublist strong[data-v-fdae3737]{color:#0f172a}.usage-sublist em[data-v-fdae3737]{font-style:normal;color:#0ea5e9;font-weight:600}
.search-card[data-v-fdae3737]{max-width:720px;margin:0 auto 16px;background:#fff;border-radius:12px;padding:16px 20px;box-shadow:0 1px 3px rgba(0,0,0,.06);border:1px solid #e2e8f0}
.search-row[data-v-fdae3737]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.search-select[data-v-fdae3737]{padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:.9rem;color:#334155;background:#fff;min-width:140px}
.search-input[data-v-fdae3737]{flex:1;min-width:160px;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:.9rem}
.search-input[data-v-fdae3737]::placeholder{color:#94a3b8}
.btn-primary[data-v-fdae3737]{padding:10px 18px;background:#0ea5e9;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;white-space:nowrap}
.btn-primary[data-v-fdae3737]:hover:not(:disabled){background:#0284c7}.btn-primary[data-v-fdae3737]:disabled{background:#94a3b8;cursor:not-allowed}
.status-toast[data-v-fdae3737]{max-width:720px;margin:0 auto 16px;padding:10px 16px;border-radius:8px;font-size:.85rem;font-weight:500}
.status-toast.success[data-v-fdae3737]{background:#d1fae5;color:#065f46}.status-toast.error[data-v-fdae3737]{background:#fee2e2;color:#991b1b}
.results-card[data-v-fdae3737]{max-width:720px;margin:0 auto 24px;background:#fff;border-radius:12px;padding:16px 20px;box-shadow:0 1px 3px rgba(0,0,0,.06);border:1px solid #e2e8f0}
.results-heading[data-v-fdae3737]{font-size:.95rem;font-weight:700;color:#0f172a;margin:0 0 12px}
.results-count[data-v-fdae3737]{font-weight:400;color:#64748b;font-size:.85rem}
.results-table-wrap[data-v-fdae3737]{max-height:260px;overflow:auto;border-radius:8px;border:1px solid #e2e8f0}
.results-table[data-v-fdae3737]{width:100%;border-collapse:collapse;font-size:.85rem}
.results-table th[data-v-fdae3737]{background:#f8fafc;padding:10px 12px;text-align:left;font-weight:600;color:#475569}
.results-table td[data-v-fdae3737]{padding:10px 12px;border-top:1px solid #e2e8f0}
.result-row[data-v-fdae3737]{cursor:pointer}.result-row[data-v-fdae3737]:hover{background:#f0f9ff}
.cell-no[data-v-fdae3737]{color:#64748b}.cell-name[data-v-fdae3737]{font-weight:500;color:#0f172a}
.demo-row-glow[data-v-fdae3737]{animation:rowglow-fdae3737 1.5s ease-in-out infinite}
@keyframes rowglow-fdae3737{0%,100%{background:#fff}50%{background:#dbeafe}}
.detail-section[data-v-fdae3737]{max-width:720px;margin:0 auto}
.detail-header[data-v-fdae3737]{margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.detail-title[data-v-fdae3737]{font-size:1.2rem;font-weight:700;color:#0f172a;margin:0;line-height:1.4;flex:1;min-width:0}
.btn-add-list[data-v-fdae3737]{padding:8px 16px;background:#0ea5e9;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;white-space:nowrap}
.btn-add-list[data-v-fdae3737]:hover{background:#0284c7}
.export-list-card[data-v-fdae3737]{max-width:720px;margin:24px auto 0;background:#fff;border-radius:12px;padding:18px 20px;box-shadow:0 1px 3px rgba(0,0,0,.06);border:1px solid #e2e8f0}
.export-list-heading[data-v-fdae3737]{font-size:1rem;font-weight:700;color:#0f172a;margin:0 0 12px}
.export-list-actions[data-v-fdae3737]{margin-bottom:12px}
.btn-excel[data-v-fdae3737]{padding:10px 20px;background:#059669;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer}
.btn-excel[data-v-fdae3737]:hover:not(:disabled){background:#047857}.btn-excel[data-v-fdae3737]:disabled{background:#94a3b8;cursor:not-allowed}
.export-table-wrap[data-v-fdae3737]{max-height:280px;overflow:auto;border:1px solid #e2e8f0;border-radius:8px}
.export-table[data-v-fdae3737]{width:100%;border-collapse:collapse;font-size:.85rem}
.export-table th[data-v-fdae3737]{background:#f8fafc;padding:10px 12px;text-align:left;font-weight:600;color:#475569}
.export-table td[data-v-fdae3737]{padding:10px 12px;border-top:1px solid #e2e8f0}
.export-name[data-v-fdae3737]{font-weight:500;color:#0f172a}.export-no[data-v-fdae3737]{color:#64748b}.export-price[data-v-fdae3737]{color:#0ea5e9;font-weight:600}
.btn-remove[data-v-fdae3737]{padding:4px 10px;font-size:.8rem;background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer}
.btn-remove[data-v-fdae3737]:hover{background:#fee2e2;color:#991b1b}
.block[data-v-fdae3737]{background:#fff;border-radius:12px;padding:18px 20px;margin-bottom:16px;box-shadow:0 1px 3px rgba(0,0,0,.06);border:1px solid #e2e8f0}
.block-title[data-v-fdae3737]{font-size:.9rem;font-weight:700;color:#0f172a;margin:0 0 12px}
.copy-row[data-v-fdae3737]{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.copy-label[data-v-fdae3737]{font-size:.8rem;color:#64748b}
.btn-copy[data-v-fdae3737]{padding:6px 12px;font-size:.8rem;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;font-weight:500}
.btn-copy[data-v-fdae3737]:hover{background:#e2e8f0}
.code-box[data-v-fdae3737]{font-family:Consolas,Monaco,monospace;font-size:.8rem;padding:12px;border-radius:8px;max-height:120px;overflow-y:auto;margin-bottom:14px;white-space:pre-wrap;word-break:break-all}
.url-box[data-v-fdae3737]{background:#f8fafc;border:1px solid #e2e8f0;color:#334155}
.html-box[data-v-fdae3737]{background:#1e293b;color:#94a3b8}
.info-cards[data-v-fdae3737]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.info-card[data-v-fdae3737]{background:#f8fafc;border-radius:8px;padding:12px;border:1px solid #e2e8f0}
.info-label[data-v-fdae3737]{display:block;font-size:.75rem;color:#64748b;margin-bottom:4px}
.info-value[data-v-fdae3737]{font-size:.9rem;font-weight:600;color:#0f172a}.info-value.price[data-v-fdae3737]{color:#0ea5e9}
.badges[data-v-fdae3737]{display:flex;gap:8px;margin-bottom:8px}
.badge[data-v-fdae3737]{padding:4px 10px;border-radius:6px;font-size:.8rem;font-weight:600}
.badge.display[data-v-fdae3737]{background:#dbeafe;color:#1e40af}.badge.selling[data-v-fdae3737]{background:#d1fae5;color:#065f46}
.meta[data-v-fdae3737]{font-size:.8rem;color:#64748b;margin:0}
.desc-text[data-v-fdae3737]{font-size:.9rem;color:#475569;line-height:1.6;margin:0 0 8px}.desc-text[data-v-fdae3737]:last-child{margin-bottom:0}
.image-wrap[data-v-fdae3737]{text-align:center;padding:16px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}
.image-wrap img[data-v-fdae3737]{max-width:100%;max-height:320px;border-radius:6px}
.desc-preview[data-v-fdae3737]{border:1px solid #e2e8f0;border-radius:8px;padding:20px;background:#fff;min-height:120px;font-size:.9rem;line-height:1.6}
.desc-preview[data-v-fdae3737] img{max-width:100%;height:auto;display:block;margin:16px auto}
.hit-footer[data-v-fdae3737]{max-width:720px;margin:40px auto 0;padding:18px 12px;background:#f2f2f2;border-top:1px solid #ddd;text-align:center;font-size:12px;color:#555;border-radius:6px}
.hit-footer .footer-inner[data-v-fdae3737]{max-width:800px;margin:0 auto;line-height:1.6}
.hit-footer .footer-info[data-v-fdae3737]{font-size:11px;color:#666;margin-bottom:10px;line-height:1.6}
.hit-footer .footer-copy[data-v-fdae3737]{font-size:11px;color:#999;text-align:center}

/* ═══ 가이드 시작 버튼 ═══ */
.guide-launch-card[data-v-fdae3737]{max-width:720px;margin:0 auto 16px}
.btn-guide[data-v-fdae3737]{width:100%;padding:14px 20px;background:linear-gradient(135deg,#0ea5e9,#6366f1);color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:10px;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 14px rgba(14,165,233,.3);position:relative;overflow:hidden}
.btn-guide[data-v-fdae3737]::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 60%);animation:shimmer-fdae3737 3s ease-in-out infinite}
@keyframes shimmer-fdae3737{0%,100%{transform:translateX(-30%) translateY(-30%)}50%{transform:translateX(30%) translateY(30%)}}
.btn-guide[data-v-fdae3737]:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(14,165,233,.4)}
.btn-guide strong[data-v-fdae3737]{font-weight:700}
.guide-icon[data-v-fdae3737]{font-size:1.2rem}
.guide-arrow[data-v-fdae3737]{margin-left:auto;font-size:1.1rem;animation:arrbounce-fdae3737 1.2s ease-in-out infinite}
@keyframes arrbounce-fdae3737{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}

/* ═══ 데모 뱃지 ═══ */
.demo-badge[data-v-fdae3737]{max-width:720px;margin:0 auto 16px;padding:10px 18px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:10px;font-size:.85rem;font-weight:600;color:#92400e;display:flex;align-items:center;gap:10px}
.demo-dot[data-v-fdae3737]{width:10px;height:10px;border-radius:50%;background:#f59e0b;animation:dpulse-fdae3737 1.2s ease-in-out infinite;flex-shrink:0}
@keyframes dpulse-fdae3737{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}
.demo-end[data-v-fdae3737]{margin-left:auto;padding:4px 12px;background:#fff;color:#92400e;border:1px solid #f59e0b;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer}
.demo-end[data-v-fdae3737]:hover{background:#fef3c7}
.demo-fade-enter-active[data-v-fdae3737]{transition:opacity .3s,transform .3s}.demo-fade-leave-active[data-v-fdae3737]{transition:opacity .2s,transform .2s}
.demo-fade-enter-from[data-v-fdae3737]{opacity:0;transform:translateY(-10px)}.demo-fade-leave-to[data-v-fdae3737]{opacity:0;transform:translateY(-10px)}

/* ═══ 이미지 링크 가이드 ═══ */
.image-usage-block[data-v-fdae3737]{border:1px solid #bfdbfe;background:linear-gradient(180deg,#eff6ff,#fff)}
.img-usage-grid[data-v-fdae3737]{display:grid;grid-template-columns:1fr;gap:12px}
.img-usage-card[data-v-fdae3737]{border-radius:10px;padding:14px 16px;border:1px solid #e2e8f0}
.img-usage-card.main-card[data-v-fdae3737]{background:#f0f9ff;border-color:#bae6fd}
.img-usage-card.detail-card[data-v-fdae3737]{background:#fefce8;border-color:#fde68a}
.img-usage-card.html-card[data-v-fdae3737]{background:#f0fdf4;border-color:#bbf7d0}
.img-usage-header[data-v-fdae3737]{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.img-usage-badge[data-v-fdae3737]{padding:3px 10px;border-radius:6px;font-size:.75rem;font-weight:700;color:#fff}
.img-usage-badge.main[data-v-fdae3737]{background:#0ea5e9}.img-usage-badge.detail[data-v-fdae3737]{background:#f59e0b}.img-usage-badge.html[data-v-fdae3737]{background:#10b981}
.img-usage-type[data-v-fdae3737]{font-size:.78rem;color:#64748b}
.img-usage-desc[data-v-fdae3737]{font-size:.85rem;color:#475569;margin:0 0 8px;line-height:1.5}
.img-usage-example[data-v-fdae3737]{background:#1e293b;border-radius:6px;padding:10px 12px;margin-bottom:8px}
.img-usage-example code[data-v-fdae3737]{font-family:Consolas,Monaco,monospace;font-size:.78rem;color:#94a3b8;word-break:break-all}
.img-usage-example code strong[data-v-fdae3737]{color:#38bdf8}
.img-usage-tip[data-v-fdae3737]{font-size:.82rem;color:#0369a1;margin:0;line-height:1.5}

/* ═══════════════════════════════════════
   튜토리얼 팝업 — 하단 고정, 오버레이 없음
   ═══════════════════════════════════════ */
.tut-popup[data-v-fdae3737]{
  position:fixed;
  bottom:0;left:0;right:0;
  z-index:99999;
  background:#fff;
  border-top:1px solid #e2e8f0;
  box-shadow:0 -8px 30px rgba(0,0,0,.15);
  border-radius:20px 20px 0 0;
  max-width:600px;
  margin:0 auto;
  padding:0 0 env(safe-area-inset-bottom,0);
}
.tut-bar[data-v-fdae3737]{height:4px;background:#e2e8f0;border-radius:20px 20px 0 0;overflow:hidden}
.tut-bar-fill[data-v-fdae3737]{height:100%;background:linear-gradient(90deg,#0ea5e9,#6366f1);transition:width .4s ease;border-radius:20px 20px 0 0}
.tut-body[data-v-fdae3737]{padding:20px 24px 16px}
.tut-step-num[data-v-fdae3737]{font-size:.72rem;font-weight:700;color:#0ea5e9;letter-spacing:1px;margin-bottom:6px}
.tut-title[data-v-fdae3737]{font-size:1.05rem;font-weight:700;color:#0f172a;margin:0 0 8px;line-height:1.4}
.tut-desc[data-v-fdae3737]{font-size:.88rem;color:#475569;margin:0 0 14px;line-height:1.6}
.tut-dots[data-v-fdae3737]{display:flex;gap:6px;justify-content:center;margin-bottom:14px}
.tut-dot[data-v-fdae3737]{width:8px;height:8px;border-radius:50%;background:#e2e8f0;transition:all .3s}
.tut-dot.active[data-v-fdae3737]{background:#0ea5e9;transform:scale(1.4);box-shadow:0 0 8px rgba(14,165,233,.4)}
.tut-dot.done[data-v-fdae3737]{background:#6366f1}
.tut-btns[data-v-fdae3737]{display:flex;justify-content:space-between;align-items:center;gap:8px}
.tut-btn[data-v-fdae3737]{padding:10px 20px;border:none;border-radius:10px;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .15s}
.tut-btn.prev[data-v-fdae3737]{background:#f1f5f9;color:#475569}.tut-btn.prev[data-v-fdae3737]:hover{background:#e2e8f0}
.tut-btn.next[data-v-fdae3737]{background:linear-gradient(135deg,#0ea5e9,#6366f1);color:#fff}.tut-btn.next[data-v-fdae3737]:hover{transform:translateX(2px)}
.tut-btn.done[data-v-fdae3737]{background:linear-gradient(135deg,#059669,#10b981);color:#fff}.tut-btn.done[data-v-fdae3737]:hover{transform:scale(1.03)}
.tut-close[data-v-fdae3737]{position:absolute;top:12px;right:16px;background:none;border:none;font-size:1.1rem;color:#94a3b8;cursor:pointer;padding:4px;line-height:1}
.tut-close[data-v-fdae3737]:hover{color:#475569}

/* 튜토리얼 내 이미지 가이드 */
.tut-img-guide[data-v-fdae3737]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;margin-bottom:14px}
.tig-row[data-v-fdae3737]{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:.82rem;color:#475569}
.tig-row[data-v-fdae3737]:last-child{margin-bottom:0}
.tig-badge[data-v-fdae3737]{padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:700;color:#fff;flex-shrink:0}
.tig-badge.main[data-v-fdae3737]{background:#0ea5e9}.tig-badge.detail[data-v-fdae3737]{background:#f59e0b}.tig-badge.html[data-v-fdae3737]{background:#10b981}

/* 팝업 슬라이드 트랜지션 */
.tut-slide-enter-active[data-v-fdae3737]{transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .25s}
.tut-slide-leave-active[data-v-fdae3737]{transition:transform .25s ease,opacity .2s}
.tut-slide-enter-from[data-v-fdae3737]{transform:translateY(100%);opacity:0}
.tut-slide-leave-to[data-v-fdae3737]{transform:translateY(100%);opacity:0}

[data-v-7decda1f] { margin:0; padding:0; box-sizing:border-box;
}
.sales-dashboard[data-v-7decda1f] {
  font-family: 'Pretendard', 'Noto Sans KR', sans-serif;
  background: #f5f6fa;
  color: #1a1d2e;
  min-height: 100vh;
}

/* 사이드바 */
.sidebar[data-v-7decda1f] {
  position: fixed; left:0; top:0; bottom:0; width:220px;
  background: #fff;
  border-right: 1px solid #e8eaf0;
  display: flex; flex-direction:column;
  z-index: 100;
  padding: 24px 0;
}
.logo[data-v-7decda1f] {
  padding: 0 20px 24px;
  border-bottom: 1px solid #f0f1f5;
}
.logo h1[data-v-7decda1f] { font-size:15px; font-weight:800; color:#1a1d2e; line-height:1.3;
}
.logo p[data-v-7decda1f] { font-size:11px; color:#9096a8; margin-top:3px;
}
.nav-section[data-v-7decda1f] { padding: 16px 12px 8px;
}
.nav-section.scrollable[data-v-7decda1f] { 
  overflow-y: auto; 
  max-height: calc(100vh - 200px);
  flex: 1;
}
.nav-section.scrollable[data-v-7decda1f]::-webkit-scrollbar {
  width: 6px;
}
.nav-section.scrollable[data-v-7decda1f]::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}
.nav-section.scrollable[data-v-7decda1f]::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}
.nav-section.scrollable[data-v-7decda1f]::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}
.nav-label[data-v-7decda1f] { font-size:10px; font-weight:700; color:#b0b7c9; text-transform:uppercase; letter-spacing:1px; padding: 0 8px; margin-bottom:6px;
}

/* 필터 */
.filter-group[data-v-7decda1f] { padding: 0 12px; margin-bottom: 8px;
}
.filter-title[data-v-7decda1f] { font-size:11px; font-weight:600; color:#6b7280; margin-bottom:8px; padding: 0 4px;
}
.filter-btn[data-v-7decda1f] {
  display:flex; align-items:center; gap:8px;
  width:100%; background:none; border:none;
  padding: 7px 10px; border-radius:8px;
  font-size:13px; font-weight:500; color:#4b5563;
  cursor:pointer; text-align:left;
  transition:all 0.15s;
  font-family: inherit;
  margin-bottom: 2px;
}
.filter-btn[data-v-7decda1f]:hover { background:#f3f4f6;
}
.filter-btn.active[data-v-7decda1f] { background:#eff6ff; color:#2563eb; font-weight:600;
}
.filter-dot[data-v-7decda1f] { width:8px; height:8px; border-radius:50%; flex-shrink:0;
}
.filter-count[data-v-7decda1f] { margin-left:auto; font-size:11px; color:#9ca3af; background:#f3f4f6; padding:1px 6px; border-radius:10px;
}
.filter-btn.active .filter-count[data-v-7decda1f] { background:#dbeafe; color:#2563eb;
}
.sidebar-upload[data-v-7decda1f] {
  margin-top:auto; padding:16px 12px;
  border-top: 1px solid #f0f1f5;
}
.upload-btn[data-v-7decda1f] {
  width:100%; display:flex; align-items:center; gap:8px;
  background: #2563eb; color:#fff; border:none;
  padding: 10px 14px; border-radius:10px;
  font-size:13px; font-weight:600; cursor:pointer;
  font-family:inherit; transition:background 0.2s;
}
.upload-btn[data-v-7decda1f]:hover { background:#1d4ed8;
}
.upload-btn svg[data-v-7decda1f] { width:15px; height:15px; flex-shrink:0;
}
.upload-spinner[data-v-7decda1f] { display:none; width:15px; height:15px; border:2px solid rgba(255,255,255,0.3); border-top-color:#fff; border-radius:50%; animation:spin-7decda1f 0.7s linear infinite;
}
.upload-btn.loading .upload-spinner[data-v-7decda1f] { display:block;
}
.upload-btn.loading .upload-icon[data-v-7decda1f] { display:none;
}
@keyframes spin-7decda1f {
to { transform:rotate(360deg);
}
}
.file-info[data-v-7decda1f] { font-size:11px; color:#9ca3af; margin-top:8px; text-align:center;
}

/* 메인 */
.main[data-v-7decda1f] {
  margin-left:220px;
  padding: 28px 28px;
}

/* 헤더 */
.page-header[data-v-7decda1f] {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom: 24px;
}
.page-title[data-v-7decda1f] { font-size:20px; font-weight:800; color:#1a1d2e;
}
.page-period[data-v-7decda1f] { font-size:13px; color:#9096a8; margin-top:2px;
}
.active-filter-badge[data-v-7decda1f] {
  background:#eff6ff; color:#2563eb; border:1px solid #bfdbfe;
  padding:5px 12px; border-radius:20px; font-size:12px; font-weight:600;
  display:none;
}
.active-filter-badge.show[data-v-7decda1f] { display:block;
}

/* KPI */
.kpi-grid[data-v-7decda1f] {
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px;
  margin-bottom: 20px;
}
.kpi[data-v-7decda1f] {
  background:#fff; border-radius:14px;
  padding: 20px 22px;
  border: 1px solid #e8eaf0;
  display:flex; align-items:center; gap:16px;
}
.kpi-icon[data-v-7decda1f] { width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:20px; flex-shrink:0;
}
.kpi.blue .kpi-icon[data-v-7decda1f] { background:#eff6ff;
}
.kpi.green .kpi-icon[data-v-7decda1f] { background:#f0fdf4;
}
.kpi.orange .kpi-icon[data-v-7decda1f] { background:#fff7ed;
}
.kpi-label[data-v-7decda1f] { font-size:12px; color:#9096a8; font-weight:500;
}
.kpi-value[data-v-7decda1f] { font-size:24px; font-weight:800; color:#1a1d2e; margin-top:2px; letter-spacing:-0.5px;
}
.kpi.blue .kpi-value[data-v-7decda1f] { color:#2563eb;
}
.kpi.green .kpi-value[data-v-7decda1f] { color:#16a34a;
}
.kpi.orange .kpi-value[data-v-7decda1f] { color:#ea580c;
}
.kpi-unit[data-v-7decda1f] { font-size:13px; font-weight:500; color:#9096a8;
}

/* 차트 레이아웃 */
.row[data-v-7decda1f] { display:grid; gap:16px; margin-bottom:16px;
}
.row.cols-2[data-v-7decda1f] { grid-template-columns:1fr 1fr;
}
.row.cols-3[data-v-7decda1f] { grid-template-columns:1.6fr 1fr 1fr;
}
.row.cols-2-1[data-v-7decda1f] { grid-template-columns:2fr 1fr;
}
.card[data-v-7decda1f] {
  background:#fff; border-radius:14px;
  padding:22px; border:1px solid #e8eaf0;
}
.card-header[data-v-7decda1f] { margin-bottom:18px;
}
.card-title[data-v-7decda1f] { font-size:14px; font-weight:700; color:#1a1d2e;
}
.card-sub[data-v-7decda1f] { font-size:12px; color:#9096a8; margin-top:2px;
}

/* 본사 카드 */
.bonsa-grid[data-v-7decda1f] { display:grid; grid-template-columns:repeat(auto-fill, minmax(140px,1fr)); gap:10px;
}
.bonsa-card[data-v-7decda1f] {
  background:#f8f9fc; border-radius:10px;
  padding:16px; border:2px solid transparent;
  cursor:pointer; transition:all 0.15s;
  text-align:center;
}
.bonsa-card[data-v-7decda1f]:hover, .bonsa-card.active[data-v-7decda1f] { border-color:#2563eb; background:#eff6ff;
}
.bonsa-name[data-v-7decda1f] { font-size:13px; font-weight:700; color:#1a1d2e; margin-bottom:6px;
}
.bonsa-sales[data-v-7decda1f] { font-size:16px; font-weight:800; color:#2563eb;
}
.bonsa-count[data-v-7decda1f] { font-size:11px; color:#9096a8; margin-top:3px;
}

/* 카테고리 */
.cat-list[data-v-7decda1f] { display:flex; flex-direction:column; gap:10px;
}
.cat-row[data-v-7decda1f] { display:flex; align-items:center; gap:10px;
}
.cat-emoji[data-v-7decda1f] { font-size:18px; width:28px; text-align:center;
}
.cat-info[data-v-7decda1f] { flex:1;
}
.cat-name[data-v-7decda1f] { font-size:13px; font-weight:600; color:#1a1d2e;
}
.cat-bar-wrap[data-v-7decda1f] { background:#f0f1f5; border-radius:4px; height:6px; margin-top:4px; overflow:hidden;
}
.cat-bar[data-v-7decda1f] { height:100%; border-radius:4px;
}
.cat-val[data-v-7decda1f] { font-size:13px; font-weight:700; color:#1a1d2e; white-space:nowrap;
}
.cat-cnt[data-v-7decda1f] { font-size:11px; color:#9096a8;
}

/* 담당자 */
.mgr-list[data-v-7decda1f] { display:flex; flex-direction:column; gap:10px;
}
.mgr-row[data-v-7decda1f] {
  display:flex; align-items:center; gap:12px;
  padding:12px; background:#f8f9fc; border-radius:10px;
}
.mgr-avatar[data-v-7decda1f] { width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0;
}
.mgr-name[data-v-7decda1f] { font-size:13px; font-weight:700;
}
.mgr-count[data-v-7decda1f] { font-size:11px; color:#9096a8;
}
.mgr-sales[data-v-7decda1f] { margin-left:auto; font-size:14px; font-weight:800; color:#2563eb;
}

/* 제품 테이블 */
.prod-table[data-v-7decda1f] { width:100%; border-collapse:collapse;
}
.prod-table th[data-v-7decda1f] { font-size:11px; color:#9096a8; font-weight:600; text-transform:uppercase; letter-spacing:0.5px; padding:0 8px 10px; text-align:left; border-bottom:1px solid #f0f1f5;
}
.prod-table th[data-v-7decda1f]:last-child { text-align:right;
}
.prod-table td[data-v-7decda1f] { padding:9px 8px; font-size:13px; border-bottom:1px solid #f8f9fc;
}
.prod-table tr:last-child td[data-v-7decda1f] { border-bottom:none;
}
.prod-table tr:hover td[data-v-7decda1f] { background:#f8f9fc;
}
.prod-cat-badge[data-v-7decda1f] { display:inline-block; padding:2px 8px; border-radius:6px; font-size:11px; font-weight:600;
}
.prod-sales[data-v-7decda1f] { font-weight:700; color:#1a1d2e; text-align:right;
}

/* 페이징 */
.pagination-wrapper[data-v-7decda1f] {
  margin-top: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  border-top: 1px solid #f0f1f5;
}
.pagination-info[data-v-7decda1f] {
  font-size: 13px;
  color: #6b7280;
}
.pagination[data-v-7decda1f] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.pagination-btn[data-v-7decda1f] {
  padding: 6px 12px;
  border: 1px solid #e5e7eb;
  background: #fff;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  color: #374151;
  cursor: pointer;
  transition: all 0.15s;
  font-family: inherit;
}
.pagination-btn[data-v-7decda1f]:hover:not(:disabled) {
  background: #f3f4f6;
  border-color: #d1d5db;
}
.pagination-btn[data-v-7decda1f]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.pagination-page[data-v-7decda1f] {
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 600;
  color: #1a1d2e;
}
.action-btns[data-v-7decda1f] { display:flex; gap:8px; align-items:center;
}
.action-btn[data-v-7decda1f] {
  display:flex; align-items:center; gap:6px;
  padding: 8px 14px; border-radius:8px; border:none;
  font-size:13px; font-weight:600; cursor:pointer;
  font-family:inherit; transition:all 0.15s;
}
.action-btn.print[data-v-7decda1f] { background:#f3f4f6; color:#374151;
}
.action-btn.print[data-v-7decda1f]:hover { background:#e5e7eb;
}
.action-btn.jpg[data-v-7decda1f] { background:#2563eb; color:#fff;
}
.action-btn.jpg[data-v-7decda1f]:hover { background:#1d4ed8;
}
.action-btn svg[data-v-7decda1f] { width:15px; height:15px;
}
.action-btn.loading[data-v-7decda1f] { opacity:0.7; pointer-events:none;
}

/* 소싱 리포트 */
.sourcing-select[data-v-7decda1f] {
  padding: 7px 12px; border:1px solid #e5e7eb; border-radius:8px;
  font-size:13px; font-weight:500; color:#374151; background:#fff;
  cursor:pointer; font-family:inherit; outline:none;
}
.sourcing-select[data-v-7decda1f]:focus { border-color:#2563eb;
}
.sourcing-loading[data-v-7decda1f] {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:48px 0; gap:16px;
}
.sourcing-spinner[data-v-7decda1f] {
  width:40px; height:40px;
  border:3px solid #e5e7eb; border-top-color:#2563eb;
  border-radius:50%; animation:spin-7decda1f 0.8s linear infinite;
}
.sourcing-loading-text[data-v-7decda1f] { text-align:center;
}
.sourcing-loading-text strong[data-v-7decda1f] { font-size:15px; color:#1a1d2e;
}
.sourcing-loading-text p[data-v-7decda1f] { font-size:13px; color:#6b7280; margin-top:4px;
}
.sourcing-summary[data-v-7decda1f] {
  display:flex; gap:14px; padding:18px 20px;
  background:linear-gradient(135deg, #eff6ff 0%, #f0fdf4 100%);
  border-radius:12px; border:1px solid #dbeafe;
}
.sourcing-summary-icon[data-v-7decda1f] { font-size:24px; flex-shrink:0;
}
.sourcing-summary-title[data-v-7decda1f] { font-size:13px; font-weight:700; color:#1e40af; margin-bottom:6px;
}
.sourcing-summary-text[data-v-7decda1f] { font-size:13px; color:#374151; line-height:1.7;
}
.sourcing-table th[data-v-7decda1f] { font-size:11px !important;
}
.sourcing-table td[data-v-7decda1f] { vertical-align:middle;
}
.sourcing-cat-badge[data-v-7decda1f] {
  display:inline-block; padding:3px 10px; border-radius:6px;
  font-size:12px; font-weight:600; background:#f3f4f6; color:#374151;
}
.sourcing-timing[data-v-7decda1f] {
  display:inline-block; padding:3px 8px; border-radius:6px;
  font-size:11px; font-weight:700; text-align:center;
}
.sourcing-timing.urgent[data-v-7decda1f] { background:#fef2f2; color:#dc2626;
}
.sourcing-timing.good[data-v-7decda1f] { background:#f0fdf4; color:#16a34a;
}
.sourcing-timing.prepare[data-v-7decda1f] { background:#fffbeb; color:#d97706;
}
.sourcing-trend[data-v-7decda1f] {
  display:inline-block; font-size:12px; font-weight:600;
}
.sourcing-trend.up[data-v-7decda1f] { color:#16a34a;
}
.sourcing-trend.down[data-v-7decda1f] { color:#dc2626;
}
.sourcing-trend.stable[data-v-7decda1f] { color:#6b7280;
}
.sourcing-tabs[data-v-7decda1f] {
  display:flex; gap:8px; margin-top:16px;
}
.sourcing-tab[data-v-7decda1f] {
  display:inline-flex; align-items:center; gap:6px;
  padding:8px 16px; border-radius:8px;
  font-size:13px; font-weight:600; color:#6b7280;
  background:#f3f4f6; border:1px solid #e5e7eb;
  cursor:pointer; transition:all .15s;
}
.sourcing-tab[data-v-7decda1f]:hover { background:#e5e7eb;
}
.sourcing-tab.active[data-v-7decda1f] {
  background:#2563eb; color:#fff; border-color:#2563eb;
}
.sourcing-tab-count[data-v-7decda1f] {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:20px; height:20px; padding:0 6px;
  border-radius:10px; font-size:11px; font-weight:700;
  background:rgba(0,0,0,.08);
}
.sourcing-tab.active .sourcing-tab-count[data-v-7decda1f] {
  background:rgba(255,255,255,.25); color:#fff;
}
.sourcing-bottom-grid[data-v-7decda1f] {
  display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:20px;
}
.sourcing-alert-card[data-v-7decda1f] {
  display:flex; gap:12px; padding:16px 18px;
  border-radius:12px; border:1px solid;
}
.sourcing-alert-card.season[data-v-7decda1f] {
  background:#fffbeb; border-color:#fde68a;
}
.sourcing-alert-card.avoid[data-v-7decda1f] {
  background:#fef2f2; border-color:#fecaca;
}
.sourcing-alert-icon[data-v-7decda1f] { font-size:20px; flex-shrink:0;
}
.sourcing-alert-title[data-v-7decda1f] { font-size:13px; font-weight:700; color:#1a1d2e; margin-bottom:6px;
}
.sourcing-alert-text[data-v-7decda1f] { font-size:13px; color:#4b5563; line-height:1.6;
}
.sourcing-avoid-list[data-v-7decda1f] {
  list-style:none; padding:0; margin:0;
}
.sourcing-avoid-list li[data-v-7decda1f] {
  font-size:12px; color:#6b7280; padding:3px 0;
  border-bottom:1px dashed #fecaca;
  line-height:1.5;
}
.sourcing-avoid-list li[data-v-7decda1f]:last-child { border-bottom:none;
}
.sourcing-avoid-list li[data-v-7decda1f]::before {
  content:'• '; color:#ef4444; font-weight:700;
}
.sourcing-footer[data-v-7decda1f] {
  margin-top:16px; padding-top:12px; border-top:1px solid #f0f1f5;
  font-size:11px; color:#9ca3af; text-align:right;
}
.sourcing-empty[data-v-7decda1f] {
  text-align:center; padding:48px 0;
}
@media print {
.sidebar[data-v-7decda1f], .action-btns[data-v-7decda1f], .sidebar-upload[data-v-7decda1f] { display:none !important;
}
.main[data-v-7decda1f] { margin-left:0 !important; padding:16px !important;
}
.sales-dashboard[data-v-7decda1f] { background:#fff !important;
}
.card[data-v-7decda1f] { break-inside:avoid; border:1px solid #e8eaf0 !important;
}
}




[data-v-e39262fa],[data-v-e39262fa]::before,[data-v-e39262fa]::after { box-sizing: border-box; margin: 0; padding: 0;
}
.dlv-container[data-v-e39262fa] {
  max-width: 1100px;
  margin: 32px auto;
  padding: 0 16px 48px;
  font-family: 'Pretendard Variable', 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: #1a1a2e;
  -webkit-font-smoothing: antialiased;
}

/* ===== Card ===== */
.dlv-card[data-v-e39262fa] {
  background: #fff;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04), 0 4px 24px rgba(0,0,0,0.06);
  border: 1px solid rgba(0,0,0,0.03);
}

/* ===== Header ===== */
.dlv-header[data-v-e39262fa] {
  position: relative;
  padding: 48px 32px 40px;
  background: linear-gradient(145deg, #0c1322 0%, #162033 40%, #1a2744 100%);
  overflow: hidden;
}
.dlv-header-glow[data-v-e39262fa] {
  position: absolute; top: -40%; right: -10%; width: 380px; height: 380px; border-radius: 50%;
  background: radial-gradient(circle, rgba(56,189,248,0.07) 0%, transparent 65%); pointer-events: none;
}
.dlv-header-glow2[data-v-e39262fa] {
  position: absolute; bottom: -30%; left: -5%; width: 300px; height: 300px; border-radius: 50%;
  background: radial-gradient(circle, rgba(139,92,246,0.05) 0%, transparent 65%); pointer-events: none;
}
.dlv-header-content[data-v-e39262fa] { position: relative; z-index: 1; text-align: center;
}
.dlv-header-icon[data-v-e39262fa] {
  display: inline-flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; border-radius: 14px;
  background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1);
  color: #38bdf8; margin-bottom: 16px;
}
.dlv-header-title[data-v-e39262fa] { font-size: 22px; font-weight: 800; color: #fff; letter-spacing: -0.025em; margin-bottom: 6px;
}
.dlv-header-desc[data-v-e39262fa] { font-size: 12.5px; color: rgba(255,255,255,0.38); font-weight: 400;
}

/* ===== Tabs ===== */
.dlv-tabs[data-v-e39262fa] {
  display: flex; gap: 4px; padding: 4px; background: #f1f5f9;
  border-radius: 14px; margin: 20px 28px 0;
}
.dlv-tab[data-v-e39262fa] {
  flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px 20px; border: none; border-radius: 10px; background: transparent;
  color: #64748b; font-size: 14px; font-weight: 600; font-family: inherit;
  cursor: pointer; transition: all 0.2s;
}
.dlv-tab.active[data-v-e39262fa] {
  background: #fff; color: #1e293b;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}
.dlv-tab[data-v-e39262fa]:hover:not(.active) { color: #334155;
}

/* ===== Alerts ===== */
.dlv-alert[data-v-e39262fa] {
  display: flex; align-items: center; gap: 10px; padding: 13px 18px;
  margin: 16px 24px 0; border-radius: 12px; font-size: 13px; font-weight: 500; position: relative;
}
.dlv-alert--error[data-v-e39262fa] { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca;
}
.dlv-alert-icon[data-v-e39262fa] { flex-shrink: 0; display: flex;
}
.dlv-alert-close[data-v-e39262fa] {
  position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
  background: none; border: none; font-size: 18px; cursor: pointer; color: inherit; opacity: 0.4; line-height: 1;
}
.dlv-alert-close[data-v-e39262fa]:hover { opacity: 1;
}
.alert-enter-active[data-v-e39262fa], .alert-leave-active[data-v-e39262fa] { transition: all 0.3s ease;
}
.alert-enter-from[data-v-e39262fa], .alert-leave-to[data-v-e39262fa] { opacity: 0; transform: translateY(-10px);
}

/* ===== Body ===== */
.dlv-body[data-v-e39262fa] { padding: 24px 28px 32px;
}

/* ===== Password Gate ===== */
.dlv-pw-gate[data-v-e39262fa] {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 48px 24px; text-align: center;
}
.dlv-pw-icon[data-v-e39262fa] {
  display: inline-flex; align-items: center; justify-content: center;
  width: 56px; height: 56px; border-radius: 50%;
  background: #f1f5f9; color: #64748b; margin-bottom: 16px;
}
.dlv-pw-title[data-v-e39262fa] {
  font-size: 14px; font-weight: 700; color: #334155; margin-bottom: 20px;
}
.dlv-pw-row[data-v-e39262fa] {
  display: flex; gap: 8px; align-items: center;
}
.dlv-pw-input[data-v-e39262fa] {
  height: 44px; padding: 0 16px; border: 1.5px solid #dde3ea; border-radius: 10px;
  font-size: 14px; font-weight: 600; font-family: inherit; color: #1e293b;
  background: #fff; outline: none; width: 200px; text-align: center;
  letter-spacing: 0.15em; transition: border-color 0.2s;
}
.dlv-pw-input[data-v-e39262fa]:focus { border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59,130,246,0.08);
}
.dlv-pw-btn[data-v-e39262fa] {
  height: 44px; padding: 0 24px; background: #1e293b; color: #fff; border: none;
  border-radius: 10px; font-size: 14px; font-weight: 700; font-family: inherit;
  cursor: pointer; transition: all 0.15s; white-space: nowrap;
}
.dlv-pw-btn[data-v-e39262fa]:hover { background: #334155;
}
.dlv-pw-error[data-v-e39262fa] {
  margin-top: 12px; font-size: 12.5px; font-weight: 600; color: #dc2626;
}

/* ===== Search Box (Single) ===== */
.dlv-search-box[data-v-e39262fa] {
  background: #f8fafc; border: 1px solid #e8ecf1; border-radius: 18px; padding: 24px;
}
.dlv-search-hint[data-v-e39262fa] {
  display: flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 600;
  color: #64748b; margin-bottom: 14px; letter-spacing: 0.02em;
}
.dlv-search-row[data-v-e39262fa] { display: flex; gap: 10px;
}
.dlv-select-group[data-v-e39262fa] { flex-shrink: 0;
}
.dlv-select[data-v-e39262fa] {
  height: 50px; padding: 0 16px; border: 1.5px solid #dde3ea; border-radius: 12px;
  font-size: 14px; font-weight: 600; font-family: inherit; color: #1e293b;
  background: #fff; outline: none; cursor: pointer; transition: border-color 0.2s; min-width: 150px;
}
.dlv-select[data-v-e39262fa]:focus { border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59,130,246,0.08);
}
.dlv-input-group[data-v-e39262fa] {
  flex: 1; display: flex; align-items: center; background: #fff;
  border: 1.5px solid #dde3ea; border-radius: 12px; transition: all 0.2s; overflow: hidden;
}
.dlv-input-group[data-v-e39262fa]:focus-within { border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59,130,246,0.08);
}
.dlv-input[data-v-e39262fa] {
  flex: 1; border: none; outline: none; padding: 14px 16px; font-size: 15px;
  font-weight: 600; font-family: inherit; color: #1e293b; background: transparent; letter-spacing: 0.06em;
}
.dlv-input[data-v-e39262fa]::placeholder { color: #b0b8c4; font-weight: 400; letter-spacing: 0;
}
.dlv-btn-search[data-v-e39262fa] {
  display: inline-flex; align-items: center; gap: 7px; padding: 0 26px; height: 50px;
  background: #1e293b; color: #fff; border: none; border-radius: 12px;
  font-size: 14px; font-weight: 700; font-family: inherit; cursor: pointer;
  transition: all 0.15s; white-space: nowrap; flex-shrink: 0;
}
.dlv-btn-search[data-v-e39262fa]:hover:not(:disabled) { background: #334155; transform: translateY(-1px); box-shadow: 0 4px 14px rgba(30,41,59,0.3);
}
.dlv-btn-search[data-v-e39262fa]:active:not(:disabled) { transform: translateY(0);
}
.dlv-btn-search[data-v-e39262fa]:disabled { opacity: 0.5; cursor: not-allowed;
}
.dlv-spinner[data-v-e39262fa] {
  width: 15px; height: 15px; border: 2px solid rgba(255,255,255,0.3);
  border-top-color: #fff; border-radius: 50%; animation: spin-e39262fa 0.6s linear infinite;
}
@keyframes spin-e39262fa {
to { transform: rotate(360deg);
}
}

/* ===== Single Result ===== */
.dlv-result[data-v-e39262fa] { margin-top: 32px;
}
.result-slide-enter-active[data-v-e39262fa] { transition: all 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}
.result-slide-leave-active[data-v-e39262fa] { transition: all 0.25s ease;
}
.result-slide-enter-from[data-v-e39262fa] { opacity: 0; transform: translateY(28px);
}
.result-slide-leave-to[data-v-e39262fa] { opacity: 0; transform: translateY(-8px);
}
.dlv-status-banner[data-v-e39262fa] {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap;
  gap: 14px; padding: 24px 26px; border-radius: 16px; border-left: 5px solid #e2e8f0;
  background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 4px 20px rgba(0,0,0,0.04);
}
.banner--delivered[data-v-e39262fa] { border-left-color: #10b981;
}
.banner--transit[data-v-e39262fa] { border-left-color: #3b82f6;
}
.dlv-status-left[data-v-e39262fa] { display: flex; align-items: center; gap: 14px;
}
.dlv-status-dot[data-v-e39262fa] { width: 12px; height: 12px; border-radius: 50%; flex-shrink: 0;
}
.dot--green[data-v-e39262fa] { background: #10b981; box-shadow: 0 0 0 4px rgba(16,185,129,0.15);
}
.dot--blue[data-v-e39262fa] { background: #3b82f6; box-shadow: 0 0 0 4px rgba(59,130,246,0.15);
}
.dlv-status-text[data-v-e39262fa] { font-size: 18px; font-weight: 800; color: #0f172a; letter-spacing: -0.02em;
}
.dlv-status-sub[data-v-e39262fa] { font-size: 12.5px; color: #64748b; font-weight: 500; margin-top: 2px;
}
.dlv-status-badge[data-v-e39262fa] { display: inline-flex; align-items: center; padding: 7px 18px; border-radius: 50px; font-size: 12.5px; font-weight: 700;
}
.badge--green[data-v-e39262fa] { background: #ecfdf5; color: #059669;
}
.badge--blue[data-v-e39262fa] { background: #eff6ff; color: #2563eb;
}

/* ===== Step Progress Bar ===== */
.dlv-stepper[data-v-e39262fa] {
  display: flex; align-items: flex-start; justify-content: center;
  margin-top: 20px; padding: 28px 16px 20px;
  background: linear-gradient(135deg, #f8fafc, #f1f5f9);
  border: 1px solid #e8ecf1; border-radius: 16px;
}
.dlv-step[data-v-e39262fa] {
  display: flex; flex-direction: column; align-items: center; position: relative;
  flex: 1; min-width: 0;
}
.dlv-step-line[data-v-e39262fa] {
  position: absolute; top: 14px; right: 50%; left: -50%;
  height: 3px; background: #e2e8f0; z-index: 0;
  border-radius: 2px;
}
.dlv-step-line.filled[data-v-e39262fa] {
  background: linear-gradient(90deg, #3b82f6, #60a5fa);
}
.dlv-step-node[data-v-e39262fa] {
  position: relative; z-index: 1;
  width: 30px; height: 30px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: #e2e8f0; border: 3px solid #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
  transition: all 0.3s;
}
.dlv-step.done .dlv-step-node[data-v-e39262fa] {
  background: #3b82f6; color: #fff;
}
.dlv-step.current .dlv-step-node[data-v-e39262fa] {
  background: #fff; border: 3px solid #3b82f6;
  box-shadow: 0 0 0 5px rgba(59,130,246,0.12), 0 2px 8px rgba(59,130,246,0.2);
}
.dlv-step-pulse[data-v-e39262fa] {
  width: 10px; height: 10px; border-radius: 50%; background: #3b82f6;
  animation: pulse-dot-e39262fa 1.8s ease-in-out infinite;
}
@keyframes pulse-dot-e39262fa {
0%, 100% { transform: scale(1); opacity: 1;
}
50% { transform: scale(1.4); opacity: 0.6;
}
}
.dlv-step-empty[data-v-e39262fa] {
  width: 8px; height: 8px; border-radius: 50%; background: #cbd5e1;
}
.dlv-step-label[data-v-e39262fa] {
  margin-top: 10px; font-size: 11.5px; font-weight: 700; color: #94a3b8;
  text-align: center; white-space: nowrap;
}
.dlv-step.done .dlv-step-label[data-v-e39262fa] { color: #3b82f6;
}
.dlv-step.current .dlv-step-label[data-v-e39262fa] { color: #1e293b; font-weight: 800;
}

/* ===== Info Cards ===== */
.dlv-info-row[data-v-e39262fa] { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 14px;
}
.dlv-info-card[data-v-e39262fa] { background: #fff; border: 1px solid #edf0f4; border-radius: 12px; padding: 16px 20px;
}
.dlv-info-label[data-v-e39262fa] { font-size: 11px; font-weight: 600; color: #94a3b8; margin-bottom: 4px;
}
.dlv-info-value[data-v-e39262fa] { font-size: 14px; font-weight: 700; color: #1e293b;
}

/* ===== Timeline (Redesigned) ===== */
.dlv-timeline-section[data-v-e39262fa] {
  margin-top: 18px; background: #fff; border: 1px solid #edf0f4;
  border-radius: 16px; overflow: hidden;
}
.dlv-section-title[data-v-e39262fa] {
  display: flex; align-items: center; gap: 8px; padding: 16px 22px 12px;
  font-size: 13px; font-weight: 750; color: #334155; border-bottom: 1px solid #f1f5f9;
}
.dlv-timeline[data-v-e39262fa] {
  padding: 16px 0;
}
.dlv-tl-item[data-v-e39262fa] {
  display: flex; align-items: flex-start; padding: 0 22px;
  min-height: 56px; transition: background 0.2s;
}
.dlv-tl-item[data-v-e39262fa]:hover { background: #fafbfd;
}
.dlv-tl-item.is-latest[data-v-e39262fa] { background: #f0f7ff;
}
.dlv-tl-item.is-latest[data-v-e39262fa]:hover { background: #e8f2ff;
}

/* Left: date/time */
.dlv-tl-left[data-v-e39262fa] {
  flex-shrink: 0; width: 72px; padding-top: 12px; text-align: right; padding-right: 16px;
}
.dlv-tl-date[data-v-e39262fa] { font-size: 12px; font-weight: 700; color: #64748b; font-variant-numeric: tabular-nums; line-height: 1.3;
}
.dlv-tl-time[data-v-e39262fa] { font-size: 11px; font-weight: 600; color: #94a3b8; font-variant-numeric: tabular-nums;
}
.dlv-tl-item.is-latest .dlv-tl-date[data-v-e39262fa] { color: #1e40af;
}
.dlv-tl-item.is-latest .dlv-tl-time[data-v-e39262fa] { color: #3b82f6;
}

/* Center: dot + line */
.dlv-tl-center[data-v-e39262fa] {
  flex-shrink: 0; width: 28px; display: flex; flex-direction: column; align-items: center;
  position: relative; padding-top: 14px;
}
.dlv-tl-dot[data-v-e39262fa] {
  width: 14px; height: 14px; border-radius: 50%; background: #dde3ea;
  border: 2.5px solid #fff; box-shadow: 0 0 0 1px #e2e8f0;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; z-index: 1;
}
.dlv-tl-dot.active[data-v-e39262fa] {
  width: 18px; height: 18px; background: #3b82f6; border: 3px solid #fff;
  box-shadow: 0 0 0 3px rgba(59,130,246,0.2);
  color: #fff;
}
.dlv-tl-line[data-v-e39262fa] {
  width: 2px; flex: 1; background: #e8ecf1; min-height: 24px; margin-top: 2px;
}

/* Right: description */
.dlv-tl-right[data-v-e39262fa] {
  flex: 1; padding: 10px 0 14px 12px; border-bottom: 1px solid #f3f4f6;
  min-height: 50px;
}
.dlv-tl-item:last-child .dlv-tl-right[data-v-e39262fa] { border-bottom: none;
}
.dlv-tl-right.is-latest .dlv-tl-desc[data-v-e39262fa] { color: #1e40af;
}
.dlv-tl-desc[data-v-e39262fa] {
  font-size: 13.5px; font-weight: 700; color: #1e293b; line-height: 1.5;
}
.dlv-tl-location[data-v-e39262fa] {
  display: inline-flex; align-items: center; gap: 3px;
  font-size: 11.5px; color: #64748b; font-weight: 500; margin-top: 3px;
}
.dlv-tl-item.is-latest .dlv-tl-location[data-v-e39262fa] { color: #3b82f6;
}
.dlv-no-data[data-v-e39262fa] { padding: 32px 22px; text-align: center; font-size: 13px; color: #94a3b8; font-weight: 500;
}
.dlv-result-footer[data-v-e39262fa] { margin-top: 14px; text-align: right; font-size: 11px; color: #94a3b8; font-weight: 500;
}

/* ===== Bulk Upload ===== */
.dlv-bulk-upload[data-v-e39262fa] {
  background: #f8fafc; border: 1px solid #e8ecf1; border-radius: 18px; padding: 24px;
}
.dlv-bulk-actions-top[data-v-e39262fa] {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 16px;
  margin-bottom: 16px; flex-wrap: wrap;
}
.dlv-btn-template[data-v-e39262fa] {
  display: inline-flex; align-items: center; gap: 7px; padding: 10px 20px;
  background: #fff; color: #1e293b; border: 1.5px solid #dde3ea; border-radius: 10px;
  font-size: 13px; font-weight: 700; font-family: inherit; cursor: pointer;
  transition: all 0.15s; white-space: nowrap; flex-shrink: 0;
}
.dlv-btn-template[data-v-e39262fa]:hover { border-color: #3b82f6; color: #3b82f6; transform: translateY(-1px);
}
.dlv-bulk-codes[data-v-e39262fa] { display: flex; flex-wrap: wrap; gap: 4px; align-items: center;
}
.dlv-code-hint[data-v-e39262fa] { font-size: 11px; font-weight: 600; color: #94a3b8; margin-right: 4px;
}
.dlv-code-chip[data-v-e39262fa] {
  font-size: 10px; font-weight: 600; color: #64748b; background: #e8ecf1;
  padding: 2px 8px; border-radius: 6px; white-space: nowrap;
}
.dlv-dropzone[data-v-e39262fa] {
  display: flex; align-items: center; justify-content: center;
  border: 2px dashed #d1d8e0; border-radius: 14px; padding: 36px 20px;
  cursor: pointer; transition: all 0.2s; background: #fff;
}
.dlv-dropzone[data-v-e39262fa]:hover, .dlv-dropzone.dragging[data-v-e39262fa] {
  border-color: #3b82f6; background: #f0f7ff;
}
.dlv-dropzone-inner[data-v-e39262fa] { text-align: center;
}
.dlv-dropzone-text[data-v-e39262fa] { font-size: 14px; font-weight: 600; color: #334155; margin-top: 12px;
}
.dlv-dropzone-sub[data-v-e39262fa] { font-size: 11.5px; color: #94a3b8; margin-top: 4px;
}
.dlv-bulk-preview[data-v-e39262fa] {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  margin-top: 16px; padding: 16px 20px; background: #fff; border: 1px solid #e8ecf1;
  border-radius: 12px; flex-wrap: wrap;
}
.dlv-preview-info[data-v-e39262fa] { display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
.dlv-preview-count[data-v-e39262fa] { font-size: 14px; font-weight: 800; color: #1e293b;
}
.dlv-preview-chips[data-v-e39262fa] { display: flex; gap: 6px; flex-wrap: wrap;
}
.dlv-chip[data-v-e39262fa] {
  font-size: 11px; font-weight: 600; padding: 4px 10px; border-radius: 8px;
  background: #eff6ff; color: #2563eb;
}
.dlv-btn-bulk-search[data-v-e39262fa] {
  display: inline-flex; align-items: center; gap: 7px; padding: 12px 28px;
  background: #3b82f6; color: #fff; border: none; border-radius: 12px;
  font-size: 14px; font-weight: 700; font-family: inherit; cursor: pointer;
  transition: all 0.15s; white-space: nowrap;
}
.dlv-btn-bulk-search[data-v-e39262fa]:hover:not(:disabled) { background: #2563eb; transform: translateY(-1px); box-shadow: 0 4px 14px rgba(59,130,246,0.35);
}
.dlv-btn-bulk-search[data-v-e39262fa]:disabled { opacity: 0.5; cursor: not-allowed;
}

/* ===== Bulk Results ===== */
.dlv-bulk-results[data-v-e39262fa] { margin-top: 28px;
}
.dlv-kpi-row[data-v-e39262fa] { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 20px;
}
.dlv-kpi[data-v-e39262fa] {
  text-align: center; padding: 18px 12px; border-radius: 14px;
  background: #f8fafc; border: 1px solid #e8ecf1;
}
.dlv-kpi-value[data-v-e39262fa] { font-size: 28px; font-weight: 800; color: #0f172a; letter-spacing: -0.02em;
}
.dlv-kpi-label[data-v-e39262fa] { font-size: 12px; font-weight: 600; color: #94a3b8; margin-top: 4px;
}
.kpi-green[data-v-e39262fa] { background: #f0fdf4; border-color: #bbf7d0;
}
.kpi-green .dlv-kpi-value[data-v-e39262fa] { color: #059669;
}
.kpi-blue[data-v-e39262fa] { background: #eff6ff; border-color: #bfdbfe;
}
.kpi-blue .dlv-kpi-value[data-v-e39262fa] { color: #2563eb;
}
.kpi-red[data-v-e39262fa] { background: #fef2f2; border-color: #fecaca;
}
.kpi-red .dlv-kpi-value[data-v-e39262fa] { color: #dc2626;
}
.dlv-action-bar[data-v-e39262fa] {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 14px; gap: 12px; flex-wrap: wrap;
}
.dlv-page-size[data-v-e39262fa] { font-size: 13px; font-weight: 600; color: #64748b; display: flex; align-items: center; gap: 6px;
}
.dlv-size-select[data-v-e39262fa] {
  padding: 6px 10px; border: 1.5px solid #dde3ea; border-radius: 8px;
  font-size: 13px; font-weight: 600; font-family: inherit; background: #fff; cursor: pointer;
}
.dlv-action-btns[data-v-e39262fa] { display: flex; gap: 8px;
}
.dlv-btn-export[data-v-e39262fa] {
  display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px;
  background: #fff; color: #334155; border: 1.5px solid #dde3ea; border-radius: 10px;
  font-size: 12.5px; font-weight: 700; font-family: inherit; cursor: pointer;
  transition: all 0.15s;
}
.dlv-btn-export[data-v-e39262fa]:hover:not(:disabled) { border-color: #3b82f6; color: #3b82f6;
}
.dlv-btn-export[data-v-e39262fa]:disabled { opacity: 0.5; cursor: not-allowed;
}

/* ===== Results Table ===== */
.dlv-table-wrap[data-v-e39262fa] {
  overflow-x: auto; border: 1px solid #e8ecf1; border-radius: 14px;
}
.dlv-table[data-v-e39262fa] {
  width: 100%; border-collapse: collapse; font-size: 13px; min-width: 700px;
}
.dlv-table thead th[data-v-e39262fa] {
  padding: 14px 16px; text-align: left; font-weight: 700; font-size: 12px;
  color: #64748b; background: #f8fafc; border-bottom: 1px solid #e8ecf1;
  white-space: nowrap;
}
.dlv-table tbody td[data-v-e39262fa] {
  padding: 13px 16px; border-bottom: 1px solid #f1f5f9; color: #1e293b;
  font-weight: 500; vertical-align: middle;
}
.dlv-table tbody tr:last-child td[data-v-e39262fa] { border-bottom: none;
}
.dlv-table tbody tr[data-v-e39262fa]:hover { background: #f8fafc;
}
.dlv-table tbody tr.row-error[data-v-e39262fa] { background: #fef2f2;
}
.td-mono[data-v-e39262fa] { font-variant-numeric: tabular-nums; letter-spacing: 0.04em; font-weight: 600;
}
.dlv-badge[data-v-e39262fa] {
  display: inline-flex; padding: 4px 12px; border-radius: 50px;
  font-size: 11px; font-weight: 700; white-space: nowrap;
}
.badge--gray[data-v-e39262fa] { background: #f1f5f9; color: #64748b;
}
.badge--red[data-v-e39262fa] { background: #fef2f2; color: #dc2626;
}

/* ===== Pagination ===== */
.dlv-pagination[data-v-e39262fa] {
  display: flex; align-items: center; justify-content: center; gap: 16px;
  margin-top: 18px; padding: 4px 0;
}
.dlv-pagination button[data-v-e39262fa] {
  padding: 8px 20px; border: 1.5px solid #dde3ea; border-radius: 10px;
  background: #fff; color: #334155; font-size: 13px; font-weight: 700;
  font-family: inherit; cursor: pointer; transition: all 0.15s;
}
.dlv-pagination button[data-v-e39262fa]:hover:not(:disabled) { border-color: #3b82f6; color: #3b82f6;
}
.dlv-pagination button[data-v-e39262fa]:disabled { opacity: 0.4; cursor: not-allowed;
}
.dlv-page-info[data-v-e39262fa] { font-size: 13px; font-weight: 700; color: #64748b;
}

/* ===== Card Footer ===== */
.dlv-card-footer[data-v-e39262fa] {
  padding: 14px 28px; text-align: center; font-size: 11px;
  color: #94a3b8; background: #f8fafc; border-top: 1px solid #edf0f4;
}

/* ===== Responsive ===== */
@media (max-width: 768px) {
.dlv-container[data-v-e39262fa] { margin: 16px auto; padding: 0 8px 32px;
}
.dlv-header[data-v-e39262fa] { padding: 36px 20px 28px;
}
.dlv-header-title[data-v-e39262fa] { font-size: 18px;
}
.dlv-body[data-v-e39262fa] { padding: 20px 16px 24px;
}
.dlv-tabs[data-v-e39262fa] { margin: 16px 16px 0;
}
.dlv-search-box[data-v-e39262fa], .dlv-bulk-upload[data-v-e39262fa] { padding: 18px 16px;
}
.dlv-search-row[data-v-e39262fa] { flex-direction: column;
}
.dlv-select[data-v-e39262fa] { width: 100%;
}
.dlv-btn-search[data-v-e39262fa] { height: 46px; width: 100%; justify-content: center;
}
.dlv-info-row[data-v-e39262fa] { grid-template-columns: 1fr;
}
.dlv-status-banner[data-v-e39262fa] { flex-direction: column; align-items: flex-start;
}
.dlv-stepper[data-v-e39262fa] { padding: 20px 8px 16px;
}
.dlv-step-label[data-v-e39262fa] { font-size: 10px;
}
.dlv-tl-left[data-v-e39262fa] { width: 56px; padding-right: 10px;
}
.dlv-tl-date[data-v-e39262fa] { font-size: 11px;
}
.dlv-kpi-row[data-v-e39262fa] { grid-template-columns: repeat(2, 1fr);
}
.dlv-bulk-actions-top[data-v-e39262fa] { flex-direction: column;
}
.dlv-action-bar[data-v-e39262fa] { flex-direction: column; align-items: flex-start;
}
.dlv-bulk-preview[data-v-e39262fa] { flex-direction: column; align-items: stretch;
}
.dlv-btn-bulk-search[data-v-e39262fa] { width: 100%; justify-content: center;
}
}

[data-v-e9884053],[data-v-e9884053]::before,[data-v-e9884053]::after { box-sizing: border-box;
}

/* ── CSS 변수 ── */
[data-v-e9884053]:root {
  --c-primary: #4f46e5;
  --c-primary-h: #4338ca;
  --c-primary-lt: #ede9fe;
  --c-success: #16a34a;
  --c-success-lt: #dcfce7;
  --c-warn: #f59e0b;
  --c-danger: #ef4444;
  --c-blue: #1d4ed8;
  --c-blue-lt: #dbeafe;
  --c-text: #1e293b;
  --c-text-2: #64748b;
  --c-text-3: #94a3b8;
  --c-border: #e5e7eb;
  --c-bg: #f8fafc;
  --radius: 12px;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.07), 0 1px 2px rgba(0,0,0,.05);
  --shadow-md: 0 4px 16px rgba(0,0,0,.10);
}
.mi-page[data-v-e9884053] {
  padding: 20px 16px;
  max-width: 1440px;
  margin: 0 auto;
  font-family: 'Noto Sans KR', -apple-system, sans-serif;
  font-size: 13px;
  color: var(--c-text);
  background: #f1f5f9;
  min-height: 100vh;
}

/* ── 헤더 ── */
.mi-header[data-v-e9884053] {
  display: flex; align-items: center; justify-content: space-between;
  background: white; border-radius: var(--radius);
  padding: 16px 20px; margin-bottom: 14px;
  box-shadow: var(--shadow-sm); gap: 12px; flex-wrap: wrap;
}
.mi-title[data-v-e9884053] {
  margin: 0 0 2px; font-size: 1.2rem; font-weight: 700;
  background: linear-gradient(135deg, var(--c-primary), #7c3aed);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.mi-sub[data-v-e9884053] { margin: 0; font-size: 11px; color: var(--c-text-2);
}
.header-actions[data-v-e9884053] { display: flex; align-items: center; gap: 8px; flex-shrink: 0; flex-wrap: wrap;
}
.history-select[data-v-e9884053] {
  padding: 8px 12px; border: 1px solid var(--c-border); border-radius: 8px;
  font-size: 12px; color: var(--c-text); background: var(--c-bg); cursor: pointer;
  min-width: 140px; max-width: 200px; transition: border-color .15s;
}
.history-select[data-v-e9884053]:focus { outline: none; border-color: var(--c-primary);
}
.history-select[data-v-e9884053]:disabled { opacity: .5; cursor: not-allowed;
}
.btn-run[data-v-e9884053] {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 9px 20px;
  background: linear-gradient(135deg, var(--c-primary), #7c3aed);
  color: white; border: none; border-radius: 8px;
  font-size: 13px; font-weight: 600; cursor: pointer;
  white-space: nowrap; transition: opacity .15s, transform .1s;
  box-shadow: 0 2px 8px rgba(79,70,229,.35);
}
.btn-run[data-v-e9884053]:hover:not(:disabled) { opacity: .9; transform: translateY(-1px);
}
.btn-run[data-v-e9884053]:active:not(:disabled) { transform: translateY(0);
}
.btn-run[data-v-e9884053]:disabled { opacity: .6; cursor: not-allowed; box-shadow: none;
}
.btn-spinner[data-v-e9884053] {
  width: 13px; height: 13px; border: 2px solid rgba(255,255,255,.4);
  border-top-color: white; border-radius: 50%;
  animation: spin-e9884053 .7s linear infinite;
}
@keyframes spin-e9884053 {
to { transform: rotate(360deg);
}
}

/* ── 날짜 배너 ── */
.report-date-bar[data-v-e9884053] {
  display: flex; align-items: center; justify-content: space-between;
  background: var(--c-blue-lt); border: 1px solid #bfdbfe;
  color: var(--c-blue); padding: 9px 16px; border-radius: 8px;
  font-size: 13px; font-weight: 500; margin-bottom: 12px;
}
.date-bar-close[data-v-e9884053] {
  cursor: pointer; color: var(--c-text-3); line-height: 1;
  padding: 2px 6px; border-radius: 4px; transition: color .15s;
}
.date-bar-close[data-v-e9884053]:hover { color: var(--c-danger);
}

/* ── 로딩 ── */
.loading-panel[data-v-e9884053] {
  background: white; border-radius: var(--radius);
  padding: 48px 20px; text-align: center;
  box-shadow: var(--shadow-sm); margin-bottom: 14px;
}
.loading-funnel[data-v-e9884053] {
  display: flex; align-items: center; justify-content: center;
  flex-wrap: wrap; gap: 0; margin-bottom: 24px;
}
.funnel-step[data-v-e9884053] {
  display: flex; align-items: center; gap: 10px;
  background: var(--c-bg); border: 2px solid var(--c-border);
  border-radius: 10px; padding: 12px 16px;
  transition: background .35s, border-color .35s;
}
.funnel-step.active[data-v-e9884053] { background: var(--c-primary-lt); border-color: #a78bfa;
}
.result-step.active[data-v-e9884053] { background: var(--c-success-lt); border-color: #4ade80;
}
.step-num[data-v-e9884053] {
  width: 30px; height: 30px; border-radius: 50%; background: var(--c-border);
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 13px; flex-shrink: 0; transition: background .35s, color .35s;
}
.funnel-step.active .step-num[data-v-e9884053] { background: #7c3aed; color: white;
}
.result-step.active .step-num[data-v-e9884053] { background: var(--c-success); color: white;
}
.step-label[data-v-e9884053] { font-size: 12px; text-align: left; line-height: 1.5;
}
.step-label small[data-v-e9884053] { color: var(--c-text-2); font-size: 11px;
}
.step-arrow[data-v-e9884053] { font-size: 20px; color: var(--c-border); margin: 0 6px; flex-shrink: 0;
}
.loading-note[data-v-e9884053] { color: var(--c-text-3); font-size: 12px; margin: 0;
}

/* ── 에러 ── */
.error-bar[data-v-e9884053] {
  background: #fef2f2; border: 1px solid #fca5a5;
  color: #dc2626; padding: 10px 16px; border-radius: 8px; margin-bottom: 12px;
  font-size: 13px;
}

/* ── 파이프라인 통계 ── */
.pipeline-stats[data-v-e9884053] {
  display: flex; align-items: center; flex-wrap: wrap; gap: 0;
  background: white; border-radius: var(--radius);
  padding: 16px 20px; margin-bottom: 12px;
  box-shadow: var(--shadow-sm);
}
.pipe-node[data-v-e9884053] { text-align: center; padding: 4px 24px;
}
.pipe-count[data-v-e9884053] { font-size: 2.2rem; font-weight: 800; line-height: 1; letter-spacing: -1px;
}
.pipe-label[data-v-e9884053] { font-size: 11px; color: var(--c-text-2); margin-top: 3px;
}
.pipe-node.start .pipe-count[data-v-e9884053] { color: var(--c-primary);
}
.pipe-node.mid   .pipe-count[data-v-e9884053] { color: var(--c-warn);
}
.pipe-node.final .pipe-count[data-v-e9884053] { color: var(--c-success);
}
.pipe-arrow[data-v-e9884053] { display: flex; flex-direction: column; align-items: center; padding: 0 8px;
}
.pipe-filter[data-v-e9884053] { font-size: 10px; color: var(--c-text-3); text-align: center; line-height: 1.4;
}
.pipe-line[data-v-e9884053] { font-size: 22px; color: var(--c-border); margin-top: -2px;
}
.pipe-copy-wrap[data-v-e9884053] { margin-left: auto;
}
.btn-copy[data-v-e9884053] {
  padding: 7px 16px; background: var(--c-text); color: white;
  border: none; border-radius: 8px; font-size: 12px; cursor: pointer;
  transition: background .15s;
}
.btn-copy[data-v-e9884053]:hover { background: #334155;
}

/* ── 탭 ── */
.view-tabs[data-v-e9884053] {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 10px; flex-wrap: wrap;
}
.tab-btn[data-v-e9884053] {
  padding: 7px 16px; border: 1.5px solid var(--c-border); border-radius: 8px;
  background: white; color: #374151; font-size: 13px; font-weight: 500;
  cursor: pointer; transition: all .15s;
}
.tab-btn[data-v-e9884053]:hover { border-color: var(--c-primary); color: var(--c-primary);
}
.tab-btn.active[data-v-e9884053] {
  background: var(--c-primary); color: white;
  border-color: var(--c-primary);
  box-shadow: 0 2px 8px rgba(79,70,229,.25);
}
.tab-cnt[data-v-e9884053] {
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(0,0,0,.12); color: inherit;
  min-width: 20px; height: 18px; border-radius: 9px;
  font-size: 11px; padding: 0 5px; margin-left: 4px;
}
.sort-wrap[data-v-e9884053] {
  margin-left: auto; display: flex; align-items: center;
  gap: 6px; font-size: 12px; color: var(--c-text-2);
}
.sort-select[data-v-e9884053] {
  padding: 6px 10px; border: 1.5px solid var(--c-border); border-radius: 8px;
  font-size: 12px; background: white; cursor: pointer; transition: border-color .15s;
}
.sort-select[data-v-e9884053]:focus { outline: none; border-color: var(--c-primary);
}

/* ── 테이블 ── */
.table-wrap[data-v-e9884053] {
  background: white; border-radius: var(--radius);
  overflow: auto; margin-bottom: 16px;
  box-shadow: var(--shadow-sm);
}
table[data-v-e9884053] { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 800px;
}
thead th[data-v-e9884053] {
  background: var(--c-bg); padding: 11px 12px;
  text-align: left; color: var(--c-text-2);
  border-bottom: 2px solid var(--c-border);
  font-weight: 600; font-size: 12px; white-space: nowrap; position: sticky; top: 0;
}
thead th[data-v-e9884053]:hover { background: #f1f5f9;
}
tbody tr[data-v-e9884053] { transition: background .12s;
}
tbody tr[data-v-e9884053]:hover { background: #f8faff !important;
}
td[data-v-e9884053] { padding: 9px 12px; border-bottom: 1px solid #f1f5f9; vertical-align: middle;
}
tr:last-child td[data-v-e9884053] { border-bottom: none;
}
.td-rank[data-v-e9884053] { color: var(--c-text-3); width: 36px; font-weight: 700; text-align: center; font-size: 12px;
}
.td-kw[data-v-e9884053]   { font-weight: 600; white-space: nowrap;
}
.kw-grade[data-v-e9884053] { margin-right: 5px;
}
.td-score[data-v-e9884053] { font-size: 15px; font-weight: 800; text-align: right; width: 56px; color: var(--c-text);
}
.td-bar[data-v-e9884053]   { width: 110px; padding: 9px 8px;
}
.td-num[data-v-e9884053]   { text-align: right; white-space: nowrap; color: #374151;
}
.td-price[data-v-e9884053] { text-align: right; white-space: nowrap; font-weight: 700; color: #1e40af;
}
.bar-track[data-v-e9884053] { background: #f1f5f9; border-radius: 99px; height: 7px;
}
.bar-fill[data-v-e9884053]  { height: 7px; border-radius: 99px; transition: width .5s ease;
}
.bar-hot[data-v-e9884053]  { background: linear-gradient(90deg, #ef4444, #f97316);
}
.bar-good[data-v-e9884053] { background: linear-gradient(90deg, #22c55e, #16a34a);
}
.bar-mid[data-v-e9884053]  { background: #eab308;
}
.bar-low[data-v-e9884053]  { background: #cbd5e1;
}
.row-hot[data-v-e9884053]  { background: #fffbfb;
}
.row-good[data-v-e9884053] { background: #f7fdf8;
}
.row-mid[data-v-e9884053]  { opacity: .7;
}
.row-fail[data-v-e9884053] { opacity: .4;
}
.text-fail[data-v-e9884053] { color: var(--c-danger) !important;
}

/* 단계 배지 */
.stage-badge[data-v-e9884053] {
  display: inline-block; padding: 3px 8px;
  border-radius: 20px; font-size: 11px; white-space: nowrap; font-weight: 500;
}
.badge-pass[data-v-e9884053] { background: #dcfce7; color: #166534;
}
.badge-shop[data-v-e9884053] { background: #fef9c3; color: #854d0e;
}
.badge-fail[data-v-e9884053] { background: var(--c-bg); color: var(--c-text-3);
}

/* ── 섹션 공통 ── */
.section-title[data-v-e9884053] {
  font-size: 14px; font-weight: 700; margin: 0 0 12px;
  display: flex; align-items: center; gap: 6px;
}
.section-title small[data-v-e9884053] {
  font-weight: 400; color: var(--c-text-3); font-size: 12px;
}

/* ── 블로그 섹션 ── */
.blog-section[data-v-e9884053] { margin-bottom: 16px; overflow-x: auto;
}
.blog-grid[data-v-e9884053] {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 12px;
  min-width: 600px;
}
.blog-card[data-v-e9884053] {
  background: white; border: 1px solid var(--c-border);
  border-radius: var(--radius); padding: 14px;
  box-shadow: var(--shadow-sm); transition: box-shadow .2s;
}
.blog-card[data-v-e9884053]:hover { box-shadow: var(--shadow-md);
}
.blog-card-top[data-v-e9884053] {
  display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px;
}
.blog-kw-tag[data-v-e9884053] {
  background: var(--c-primary-lt); color: var(--c-primary);
  padding: 3px 10px; border-radius: 20px; font-size: 12px; font-weight: 600;
}
.blog-cnt[data-v-e9884053] { font-size: 11px; color: var(--c-text-3);
}
.blog-posts[data-v-e9884053] { margin: 0; padding: 0; list-style: none;
}
.blog-posts li[data-v-e9884053] {
  display: flex; gap: 6px; padding: 5px 0;
  border-bottom: 1px solid #f1f5f9; font-size: 12px;
}
.blog-posts li[data-v-e9884053]:last-child { border-bottom: none;
}
.post-date[data-v-e9884053] { color: var(--c-text-3); white-space: nowrap; flex-shrink: 0; font-size: 11px;
}
.post-title[data-v-e9884053] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #374151;
}

/* ── 내 상품 배지 + 팝업 ── */
.th-db[data-v-e9884053] { width: 80px; text-align: center;
}
.td-db[data-v-e9884053] { text-align: center;
}
.db-popup-wrap[data-v-e9884053] { position: relative; display: inline-block;
}
.db-match-badge[data-v-e9884053] {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 3px 9px; background: var(--c-blue-lt); color: var(--c-blue);
  border-radius: 20px; font-size: 11px; font-weight: 600;
  white-space: nowrap; cursor: pointer; user-select: none;
  transition: background .15s;
}
.db-match-badge[data-v-e9884053]:hover { background: #bfdbfe;
}
.db-popup[data-v-e9884053] {
  position: absolute; right: 0; top: calc(100% + 6px); z-index: 200;
  background: white; border: 1px solid #bfdbfe;
  border-radius: var(--radius); padding: 12px 14px; min-width: 250px;
  box-shadow: var(--shadow-md);
}
.db-popup-title[data-v-e9884053] {
  font-size: 11px; font-weight: 700; color: var(--c-blue);
  margin-bottom: 8px; padding-bottom: 7px; border-bottom: 1px solid var(--c-border);
}
.db-popup-list[data-v-e9884053] { margin: 0; padding: 0; list-style: none;
}
.db-popup-list li[data-v-e9884053] {
  display: flex; gap: 8px; align-items: center;
  padding: 5px 0; border-bottom: 1px solid #f1f5f9; font-size: 12px;
}
.db-popup-list li[data-v-e9884053]:last-child { border-bottom: none;
}
.pop-no[data-v-e9884053] { color: var(--c-text-3); font-size: 10px; white-space: nowrap; flex-shrink: 0;
}
.pop-name[data-v-e9884053] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--c-text); font-weight: 500;
}
.db-none[data-v-e9884053] { color: #d1d5db; font-size: 12px;
}

/* ── 내 DB 상품 매칭 섹션 ── */
.db-section[data-v-e9884053] { margin-bottom: 16px;
}
.db-grid[data-v-e9884053] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 12px;
}
.db-card[data-v-e9884053] {
  background: white; border: 1.5px solid #bfdbfe;
  border-radius: var(--radius); padding: 14px;
  box-shadow: 0 2px 8px rgba(59,130,246,.08); transition: box-shadow .2s;
}
.db-card[data-v-e9884053]:hover { box-shadow: 0 4px 16px rgba(59,130,246,.15);
}
.db-card-top[data-v-e9884053] {
  display: flex; align-items: flex-start; justify-content: space-between;
  margin-bottom: 10px; gap: 8px;
}
.db-kw-info[data-v-e9884053] { display: flex; flex-direction: column; gap: 4px;
}
.db-kw-tag[data-v-e9884053] {
  background: var(--c-blue-lt); color: var(--c-blue);
  padding: 3px 9px; border-radius: 20px; font-size: 12px; font-weight: 600;
  display: inline-block;
}
.db-score-tag[data-v-e9884053] { font-size: 11px; color: var(--c-text-3); padding-left: 2px;
}
.db-product-cnt[data-v-e9884053] {
  background: var(--c-success-lt); color: var(--c-success);
  padding: 3px 9px; border-radius: 20px; font-size: 11px; font-weight: 600;
  white-space: nowrap; flex-shrink: 0;
}
.db-product-list[data-v-e9884053] { margin: 0; padding: 0; list-style: none;
}
.db-product-list li[data-v-e9884053] {
  display: flex; gap: 8px; align-items: center;
  padding: 5px 0; border-bottom: 1px solid #f1f5f9; font-size: 12px;
}
.db-product-list li[data-v-e9884053]:last-child { border-bottom: none;
}
.product-no[data-v-e9884053] { color: var(--c-text-3); font-size: 10px; white-space: nowrap; flex-shrink: 0;
}
.product-name[data-v-e9884053] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--c-text); font-weight: 500;
}

/* ── 초기 안내 ── */
.empty-panel[data-v-e9884053] {
  background: white; border-radius: var(--radius);
  padding: 60px 30px; text-align: center; margin-bottom: 16px;
  box-shadow: var(--shadow-sm);
}
.empty-icon[data-v-e9884053] { font-size: 3.5rem; margin-bottom: 14px;
}
.empty-panel h3[data-v-e9884053] { font-size: 1.1rem; margin: 0 0 20px; color: var(--c-text);
}
.pipeline-preview[data-v-e9884053] {
  display: flex; align-items: center; justify-content: center;
  gap: 8px; margin-bottom: 20px; flex-wrap: wrap;
}
.prev-step[data-v-e9884053] {
  background: var(--c-bg); border: 1.5px solid var(--c-border);
  border-radius: 10px; padding: 12px 18px; font-size: 12px; line-height: 1.6;
  font-weight: 500;
}
.prev-step.result[data-v-e9884053] { background: #f0fdf4; border-color: #86efac;
}
.prev-step small[data-v-e9884053] { display: block; color: var(--c-text-3); font-weight: 400;
}
.prev-arrow[data-v-e9884053] { color: var(--c-text-3); font-size: 1.3rem;
}
.empty-panel p[data-v-e9884053] { color: var(--c-text-2); font-size: 13px; margin: 0;
}

/* ── 반응형 ── */
@media (max-width: 1024px) {
.pipe-node[data-v-e9884053] { padding: 4px 14px;
}
}
@media (max-width: 768px) {
.mi-page[data-v-e9884053] { padding: 12px;
}
.mi-header[data-v-e9884053] { padding: 14px 16px;
}
.mi-title[data-v-e9884053] { font-size: 1rem;
}
.header-actions[data-v-e9884053] { width: 100%;
}
.history-select[data-v-e9884053] { flex: 1; min-width: 0; max-width: none;
}
.btn-run[data-v-e9884053] { flex: 1; justify-content: center;
}
.pipeline-stats[data-v-e9884053] { gap: 8px; justify-content: center;
}
.pipe-node[data-v-e9884053] { padding: 6px 12px;
}
.pipe-count[data-v-e9884053] { font-size: 1.7rem;
}
.pipe-copy-wrap[data-v-e9884053] { width: 100%; display: flex; justify-content: flex-end; margin-top: 4px;
}
.view-tabs[data-v-e9884053] { gap: 6px;
}
.sort-wrap[data-v-e9884053] { margin-left: 0; width: 100%; justify-content: flex-end;
}
.db-grid[data-v-e9884053] { grid-template-columns: 1fr;
}
.loading-funnel[data-v-e9884053] { flex-direction: column; align-items: stretch; gap: 6px;
}
.step-arrow[data-v-e9884053] { display: none;
}
.funnel-step[data-v-e9884053] { justify-content: flex-start;
}
}
@media (max-width: 480px) {
.mi-header[data-v-e9884053] { flex-direction: column; align-items: stretch;
}
.pipeline-stats[data-v-e9884053] { flex-direction: column; align-items: center;
}
.pipe-arrow[data-v-e9884053] { flex-direction: row; gap: 4px;
}
.pipe-filter[data-v-e9884053] { display: none;
}
}

.click-log-page[data-v-edbe1c1f] { padding: 24px; max-width: 1100px; margin: 0 auto;
}
.page-header[data-v-edbe1c1f] { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px;
}
.page-header h2[data-v-edbe1c1f] { font-size: 20px; font-weight: 700; margin: 0;
}
.badge[data-v-edbe1c1f] { font-size: 11px; background: #22c55e; color: #fff; padding: 2px 8px; border-radius: 20px; margin-left: 8px; vertical-align: middle;
}
.badge.bot[data-v-edbe1c1f] { background: #8b5cf6;
}
.badge.band[data-v-edbe1c1f] { background: #9ca3af;
}
.badge.band.on[data-v-edbe1c1f] { background: #22c55e;
}
.header-actions[data-v-edbe1c1f] { display: flex; align-items: center; gap: 12px;
}
.total-cnt[data-v-edbe1c1f] { font-size: 13px; color: #666;
}
.btn-refresh[data-v-edbe1c1f] { padding: 7px 16px; background: #3b82f6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-size: 13px;
}
.btn-refresh[data-v-edbe1c1f]:disabled { opacity: 0.6; cursor: default;
}
.error-bar[data-v-edbe1c1f] { background: #fee2e2; color: #dc2626; padding: 10px 14px; border-radius: 6px; margin-bottom: 12px; font-size: 13px;
}
.filter-bar[data-v-edbe1c1f] { display: flex; gap: 10px; margin-bottom: 14px;
}
.filter-input[data-v-edbe1c1f] { padding: 7px 12px; border: 1px solid #d1d5db; border-radius: 6px; font-size: 13px; width: 200px;
}
.table-wrap[data-v-edbe1c1f] { overflow-x: auto; border: 1px solid #e5e7eb; border-radius: 8px;
}
table[data-v-edbe1c1f] { width: 100%; border-collapse: collapse; font-size: 13px;
}
thead[data-v-edbe1c1f] { background: #f9fafb;
}
th[data-v-edbe1c1f] { padding: 10px 14px; text-align: left; font-weight: 600; color: #374151; border-bottom: 1px solid #e5e7eb;
}
td[data-v-edbe1c1f] { padding: 9px 14px; border-bottom: 1px solid #f3f4f6; color: #1f2937;
}
tr:hover td[data-v-edbe1c1f] { background: #f0f9ff;
}
.td-num[data-v-edbe1c1f] { text-align: center; color: #6b7280;
}
.td-time[data-v-edbe1c1f] { color: #6b7280; white-space: nowrap;
}
.td-member[data-v-edbe1c1f] { font-weight: 600; color: #2563eb;
}
.td-name[data-v-edbe1c1f] { max-width: 300px;
}
.empty[data-v-edbe1c1f] { text-align: center; padding: 40px; color: #9ca3af;
}
.note[data-v-edbe1c1f] { margin-top: 12px; font-size: 12px; color: #9ca3af;
}

/* ═══ 트렌드 섹션 ═══ */
.trend-section[data-v-edbe1c1f] {
  margin-top: 40px;
  padding-top: 28px;
  border-top: 2px solid #e5e7eb;
}
.trend-section h3[data-v-edbe1c1f] {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 16px 0;
  color: #111827;
}
.trend-filter[data-v-edbe1c1f] {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.keyword-input[data-v-edbe1c1f] { width: 220px;
}
.date-input[data-v-edbe1c1f] { width: 150px;
}
.date-sep[data-v-edbe1c1f] { color: #9ca3af; font-size: 13px;
}
.btn-search[data-v-edbe1c1f] {
  padding: 7px 20px;
  background: #f97316;
  color: #fff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
}
.btn-search[data-v-edbe1c1f]:disabled { opacity: 0.5; cursor: default;
}

/* ═══ 급증 키워드 ═══ */
.surge-section[data-v-edbe1c1f] {
  margin-bottom: 20px;
  padding: 16px;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 8px;
}
.surge-section h4[data-v-edbe1c1f] {
  font-size: 14px;
  font-weight: 700;
  margin: 0 0 10px 0;
  color: #92400e;
}
.surge-section h4 small[data-v-edbe1c1f] {
  font-weight: 400;
  font-size: 11px;
  color: #b45309;
}
.surge-tags[data-v-edbe1c1f] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.surge-tag[data-v-edbe1c1f] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  background: #fff;
  border: 1px solid #fbbf24;
  border-radius: 20px;
  cursor: pointer;
  font-size: 13px;
  transition: all 0.15s;
}
.surge-tag[data-v-edbe1c1f]:hover {
  background: #fef3c7;
  border-color: #f59e0b;
}
.surge-rank[data-v-edbe1c1f] {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #f59e0b;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.surge-keyword[data-v-edbe1c1f] { font-weight: 600; color: #1f2937;
}
.surge-rate[data-v-edbe1c1f] { font-size: 12px; font-weight: 700; color: #dc2626;
}
.surge-rate.new[data-v-edbe1c1f] { color: #7c3aed;
}
.trend-chart-wrap[data-v-edbe1c1f] {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 16px;
  height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.trend-empty[data-v-edbe1c1f] {
  text-align: center;
  padding: 40px;
  color: #9ca3af;
  font-size: 14px;
}
.trend-table-wrap[data-v-edbe1c1f] {
  overflow-x: auto;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
}
.r[data-v-edbe1c1f] { text-align: right;
}
.total-row[data-v-edbe1c1f] { background: #f9fafb;
}
.total-row td[data-v-edbe1c1f] { border-top: 2px solid #e5e7eb;
}
.amount-toggle[data-v-edbe1c1f] {
  display: flex;
  justify-content: flex-end;
  padding: 8px 12px;
}
.btn-toggle[data-v-edbe1c1f] {
  padding: 5px 14px;
  background: #f3f4f6;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  cursor: pointer;
  font-size: 12px;
  color: #374151;
}
.btn-toggle[data-v-edbe1c1f]:hover { background: #e5e7eb;
}

/* ═══ 밴드 + 봇 주문 ═══ */
.action-badge[data-v-edbe1c1f] {
  display: inline-block; padding: 2px 10px; border-radius: 12px;
  font-size: 12px; font-weight: 600;
  background: #f3f4f6; color: #374151;
}
.action-badge.order[data-v-edbe1c1f] { background: #dbeafe; color: #1d4ed8;
}
.action-badge.cancel[data-v-edbe1c1f] { background: #fee2e2; color: #dc2626;
}
.action-badge.inquiry[data-v-edbe1c1f] { background: #fef3c7; color: #b45309;
}
.band-section[data-v-edbe1c1f] {
  margin-top: 40px; padding: 20px; background: #fafbff;
  border: 1px solid #e0e7ff; border-radius: 10px;
}
.band-controls[data-v-edbe1c1f] { display: flex; gap: 10px; margin-bottom: 14px;
}
.btn-band[data-v-edbe1c1f] {
  padding: 8px 18px; border: none; border-radius: 6px;
  font-size: 13px; font-weight: 600; cursor: pointer;
  background: #4f46e5; color: #fff;
}
.btn-band[data-v-edbe1c1f]:disabled { opacity: 0.6; cursor: default;
}
.btn-band.confirm[data-v-edbe1c1f] { background: #16a34a;
}
.btn-band.fetch[data-v-edbe1c1f] { background: #2563eb;
}
.btn-band.auto[data-v-edbe1c1f] { background: #7c3aed;
}
.btn-band.stop[data-v-edbe1c1f] { background: #dc2626;
}
.band-url-bar[data-v-edbe1c1f] { display: flex; gap: 10px; align-items: center;
}
.band-msg[data-v-edbe1c1f] {
  margin-top: 10px; padding: 8px 14px; border-radius: 6px;
  font-size: 13px; background: #ecfdf5; color: #065f46;
}
.band-msg.err[data-v-edbe1c1f] { background: #fee2e2; color: #dc2626;
}
.row-order td[data-v-edbe1c1f] { background: #eff6ff;
}

.apikey-page[data-v-a5f59dbe] { padding: 24px; max-width: 1100px; margin: 0 auto;
}
.page-header[data-v-a5f59dbe] { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px;
}
.page-header h2[data-v-a5f59dbe] { font-size: 20px; font-weight: 700; margin: 0;
}
.btn-create[data-v-a5f59dbe] { padding: 8px 18px; background: #3b82f6; color: #fff; border: none; border-radius: 6px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-create[data-v-a5f59dbe]:hover { background: #2563eb;
}
.table-wrap[data-v-a5f59dbe] { overflow-x: auto; border: 1px solid #e5e7eb; border-radius: 8px;
}
table[data-v-a5f59dbe] { width: 100%; border-collapse: collapse; font-size: 13px;
}
thead[data-v-a5f59dbe] { background: #f9fafb;
}
th[data-v-a5f59dbe] { padding: 10px 14px; text-align: left; font-weight: 600; color: #374151; border-bottom: 1px solid #e5e7eb;
}
td[data-v-a5f59dbe] { padding: 9px 14px; border-bottom: 1px solid #f3f4f6;
}
tr:hover td[data-v-a5f59dbe] { background: #f0f9ff;
}
tr.inactive td[data-v-a5f59dbe] { opacity: 0.5;
}
.empty[data-v-a5f59dbe] { text-align: center; padding: 40px; color: #9ca3af;
}
.r[data-v-a5f59dbe] { text-align: right;
}
.td-name[data-v-a5f59dbe] { font-weight: 600;
}
.td-key[data-v-a5f59dbe] { font-family: monospace; font-size: 12px;
}
.td-key code[data-v-a5f59dbe] { background: #f3f4f6; padding: 2px 6px; border-radius: 4px;
}
.btn-copy[data-v-a5f59dbe] { background: none; border: none; cursor: pointer; font-size: 14px; margin-left: 4px;
}
.td-limit[data-v-a5f59dbe] { color: #6b7280; white-space: nowrap;
}
.td-date[data-v-a5f59dbe] { color: #6b7280; white-space: nowrap; font-size: 12px;
}
.td-actions[data-v-a5f59dbe] { white-space: nowrap;
}
.td-calls[data-v-a5f59dbe] { font-weight: 700; color: #2563eb;
}
.badge[data-v-a5f59dbe] { display: inline-block; padding: 2px 10px; border-radius: 12px; font-size: 11px; font-weight: 600;
}
.badge.active[data-v-a5f59dbe] { background: #dcfce7; color: #166534;
}
.badge.blocked[data-v-a5f59dbe] { background: #fee2e2; color: #dc2626;
}
.btn-usage[data-v-a5f59dbe] { padding: 4px 10px; background: #eff6ff; color: #2563eb; border: 1px solid #93c5fd; border-radius: 4px; font-size: 12px; cursor: pointer; margin-right: 4px;
}
.btn-block[data-v-a5f59dbe] { padding: 4px 10px; background: #fef3c7; color: #92400e; border: 1px solid #fbbf24; border-radius: 4px; font-size: 12px; cursor: pointer; margin-right: 4px;
}
.btn-activate[data-v-a5f59dbe] { padding: 4px 10px; background: #dcfce7; color: #166534; border: 1px solid #86efac; border-radius: 4px; font-size: 12px; cursor: pointer; margin-right: 4px;
}
.btn-delete[data-v-a5f59dbe] { padding: 4px 10px; background: #fee2e2; color: #dc2626; border: 1px solid #fca5a5; border-radius: 4px; font-size: 12px; cursor: pointer;
}

/* 모니터링 */
.monitor-section[data-v-a5f59dbe] { margin-top: 32px; padding-top: 24px; border-top: 2px solid #e5e7eb;
}
.monitor-header[data-v-a5f59dbe] { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px;
}
.monitor-header h3[data-v-a5f59dbe] { font-size: 18px; font-weight: 700; margin: 0;
}
.monitor-controls select[data-v-a5f59dbe] { padding: 6px 12px; border: 1px solid #d1d5db; border-radius: 6px; font-size: 13px;
}
.empty-monitor[data-v-a5f59dbe] { text-align: center; padding: 40px; color: #9ca3af; font-size: 14px;
}

/* 모달 */
.modal-overlay[data-v-a5f59dbe] { position: fixed; inset: 0; background: rgba(0,0,0,0.4); display: flex; align-items: center; justify-content: center; z-index: 1000;
}
.modal-box[data-v-a5f59dbe] { background: #fff; border-radius: 12px; padding: 24px; width: 420px; max-width: 90vw; box-shadow: 0 20px 40px rgba(0,0,0,0.15);
}
.modal-wide[data-v-a5f59dbe] { width: 680px;
}
.modal-box h3[data-v-a5f59dbe] { margin: 0 0 16px; font-size: 18px; font-weight: 700;
}
.form-row[data-v-a5f59dbe] { margin-bottom: 12px;
}
.form-row label[data-v-a5f59dbe] { display: block; font-size: 13px; font-weight: 600; margin-bottom: 4px; color: #374151;
}
.form-row input[data-v-a5f59dbe] { width: 100%; padding: 8px 12px; border: 1px solid #d1d5db; border-radius: 6px; font-size: 13px;
}
.modal-actions[data-v-a5f59dbe] { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px;
}
.btn-cancel[data-v-a5f59dbe] { padding: 8px 16px; background: #e5e7eb; color: #374151; border: none; border-radius: 6px; cursor: pointer; font-size: 13px;
}
.btn-submit[data-v-a5f59dbe] { padding: 8px 16px; background: #3b82f6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-size: 13px; font-weight: 600;
}
.btn-submit[data-v-a5f59dbe]:disabled { opacity: 0.5; cursor: default;
}
.key-notice[data-v-a5f59dbe] { font-size: 13px; color: #dc2626; margin-bottom: 12px;
}
.key-display[data-v-a5f59dbe] { background: #1f2937; color: #4ade80; padding: 14px; border-radius: 8px; font-family: monospace; font-size: 13px; cursor: pointer; position: relative; word-break: break-all;
}
.copy-hint[data-v-a5f59dbe] { display: block; font-size: 11px; color: #9ca3af; margin-top: 6px;
}

/* 시간대별 사용량 */
.usage-date-bar[data-v-a5f59dbe] { display: flex; align-items: center; gap: 12px; margin-bottom: 16px;
}
.usage-date[data-v-a5f59dbe] { font-size: 15px; font-weight: 600;
}
.btn-sm[data-v-a5f59dbe] { padding: 4px 12px; background: #f3f4f6; border: 1px solid #d1d5db; border-radius: 4px; cursor: pointer; font-size: 14px;
}
.bar-chart[data-v-a5f59dbe] { display: flex; align-items: flex-end; gap: 4px; height: 180px; padding: 0 4px;
}
.bar-item[data-v-a5f59dbe] { display: flex; flex-direction: column; align-items: center; flex: 1; min-width: 20px;
}
.bar-value[data-v-a5f59dbe] { font-size: 10px; color: #6b7280; margin-bottom: 2px;
}
.bar[data-v-a5f59dbe] { background: #3b82f6; border-radius: 3px 3px 0 0; width: 100%; min-height: 2px;
}
.bar-label[data-v-a5f59dbe] { font-size: 10px; color: #9ca3af; margin-top: 4px;
}
.usage-total[data-v-a5f59dbe] { text-align: right; font-size: 14px; font-weight: 700; color: #1f2937; margin-top: 12px;
}

[data-v-4cbe6fbb],[data-v-4cbe6fbb]::before,[data-v-4cbe6fbb]::after { box-sizing: border-box;
}
.cr-page[data-v-4cbe6fbb] {
  max-width: 1200px; margin: 0 auto; padding: 24px 20px;
  font-family: 'Noto Sans KR', -apple-system, sans-serif;
  font-size: 13px; color: #1e293b; background: #f1f5f9; min-height: 100vh;
}
.cr-header[data-v-4cbe6fbb] {
  display: flex; align-items: center; justify-content: space-between;
  background: white; border-radius: 12px; padding: 18px 24px;
  margin-bottom: 16px; box-shadow: 0 1px 3px rgba(0,0,0,.07); gap: 12px; flex-wrap: wrap;
}
.cr-logo[data-v-4cbe6fbb] {
  margin: 0 0 2px; font-size: 1.2rem; font-weight: 800;
  background: linear-gradient(135deg, #4f46e5, #7c3aed);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.cr-sub[data-v-4cbe6fbb] { margin: 0; font-size: 11px; color: #64748b;
}
.cr-header-right[data-v-4cbe6fbb] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
.cr-date-badge[data-v-4cbe6fbb] {
  background: #ede9fe; color: #4f46e5;
  padding: 5px 14px; border-radius: 20px; font-size: 12px; font-weight: 600;
}
.cr-date-select[data-v-4cbe6fbb] {
  padding: 7px 10px; border: 1.5px solid #e5e7eb; border-radius: 8px;
  font-size: 12px; background: #f8fafc; cursor: pointer;
}
.cr-date-select[data-v-4cbe6fbb]:focus { outline: none; border-color: #4f46e5;
}
.cr-btn-print[data-v-4cbe6fbb] {
  padding: 7px 14px; background: #f1f5f9; border: 1.5px solid #e5e7eb;
  border-radius: 8px; font-size: 12px; cursor: pointer; color: #374151;
}
.cr-btn-print[data-v-4cbe6fbb]:hover { background: #e2e8f0;
}
.cr-loading[data-v-4cbe6fbb] {
  display: flex; flex-direction: column; align-items: center;
  justify-content: center; padding: 80px 20px;
  background: white; border-radius: 12px;
}
.cr-spinner[data-v-4cbe6fbb] {
  width: 40px; height: 40px; border: 4px solid #e5e7eb;
  border-top-color: #4f46e5; border-radius: 50%;
  animation: spin-4cbe6fbb .8s linear infinite; margin-bottom: 16px;
}
@keyframes spin-4cbe6fbb {
to { transform: rotate(360deg);
}
}
.cr-loading p[data-v-4cbe6fbb] { color: #64748b; margin: 0;
}
.cr-error[data-v-4cbe6fbb] {
  text-align: center; padding: 60px 20px;
  background: white; border-radius: 12px;
}
.cr-error-icon[data-v-4cbe6fbb] { font-size: 3rem; margin-bottom: 12px;
}
.cr-error h3[data-v-4cbe6fbb] { margin: 0; color: #64748b; font-size: 1rem; font-weight: 400;
}
.cr-pipeline[data-v-4cbe6fbb] {
  display: flex; align-items: center; flex-wrap: wrap;
  background: white; border-radius: 12px;
  padding: 16px 24px; margin-bottom: 12px;
  box-shadow: 0 1px 3px rgba(0,0,0,.07);
}
.cr-pipe-node[data-v-4cbe6fbb] { text-align: center; padding: 4px 28px;
}
.cr-pipe-num[data-v-4cbe6fbb] { font-size: 2.2rem; font-weight: 800; line-height: 1; letter-spacing: -1px;
}
.cr-pipe-label[data-v-4cbe6fbb] { font-size: 11px; color: #64748b; margin-top: 3px;
}
.cr-start .cr-pipe-num[data-v-4cbe6fbb] { color: #4f46e5;
}
.cr-mid   .cr-pipe-num[data-v-4cbe6fbb] { color: #f59e0b;
}
.cr-final .cr-pipe-num[data-v-4cbe6fbb] { color: #16a34a;
}
.cr-pipe-arrow[data-v-4cbe6fbb] { display: flex; flex-direction: column; align-items: center; padding: 0 8px;
}
.cr-pipe-filter[data-v-4cbe6fbb] { font-size: 10px; color: #94a3b8;
}
.cr-pipe-line[data-v-4cbe6fbb] { font-size: 22px; color: #e5e7eb;
}
.cr-guide-box[data-v-4cbe6fbb] {
  background: #fffbeb; border: 1.5px solid #fde68a;
  border-radius: 10px; padding: 14px 18px; margin-bottom: 12px;
  display: flex; flex-direction: column; gap: 10px;
}
.cr-guide-row[data-v-4cbe6fbb] {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: 13px; color: #1e293b; line-height: 1.6;
}
.cr-guide-icon[data-v-4cbe6fbb] { font-size: 18px; flex-shrink: 0; margin-top: 1px;
}
.cr-guide-row strong[data-v-4cbe6fbb] { color: #92400e;
}
.cr-info-bar[data-v-4cbe6fbb] {
  background: #f0fdf4; border: 1px solid #bbf7d0; color: #15803d;
  padding: 9px 16px; border-radius: 8px; margin-bottom: 12px;
  font-size: 12px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.cr-badge-hot[data-v-4cbe6fbb] {
  background: #fef2f2; color: #dc2626; border: 1px solid #fca5a5;
  padding: 2px 9px; border-radius: 20px; font-size: 11px; font-weight: 600;
}
.cr-badge-good[data-v-4cbe6fbb] {
  background: #f0fdf4; color: #16a34a; border: 1px solid #86efac;
  padding: 2px 9px; border-radius: 20px; font-size: 11px; font-weight: 600;
}
.cr-table-wrap[data-v-4cbe6fbb] {
  background: white; border-radius: 12px;
  overflow: auto; margin-bottom: 16px;
  box-shadow: 0 1px 3px rgba(0,0,0,.07);
}
.cr-table[data-v-4cbe6fbb] { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 680px;
}
thead th[data-v-4cbe6fbb] {
  background: #f8fafc; padding: 11px 12px; text-align: left;
  color: #64748b; border-bottom: 2px solid #e5e7eb;
  font-weight: 600; font-size: 12px; white-space: nowrap;
}
thead th[data-v-4cbe6fbb]:hover { background: #f1f5f9;
}
tbody tr[data-v-4cbe6fbb]:hover { background: #f8faff !important;
}
td[data-v-4cbe6fbb] { padding: 9px 12px; border-bottom: 1px solid #f1f5f9; vertical-align: middle;
}
tr:last-child td[data-v-4cbe6fbb] { border-bottom: none;
}
.th-rank[data-v-4cbe6fbb] { width: 36px; text-align: center;
}
.td-rank[data-v-4cbe6fbb] { color: #94a3b8; font-weight: 700; text-align: center; font-size: 12px;
}
.td-kw[data-v-4cbe6fbb] { font-weight: 600; white-space: nowrap;
}
.kw-grade[data-v-4cbe6fbb] { margin-right: 5px;
}
.td-score[data-v-4cbe6fbb] { text-align: right; font-size: 15px; font-weight: 800;
}
.th-bar[data-v-4cbe6fbb] { width: 100px;
}
.td-bar[data-v-4cbe6fbb] { padding: 9px 8px;
}
.td-num[data-v-4cbe6fbb] { text-align: right; white-space: nowrap;
}
.td-price[data-v-4cbe6fbb] { text-align: right; white-space: nowrap; font-weight: 700; color: #1e40af;
}
.bar-track[data-v-4cbe6fbb] { background: #f1f5f9; border-radius: 99px; height: 7px;
}
.bar-fill[data-v-4cbe6fbb]  { height: 7px; border-radius: 99px; transition: width .5s ease;
}
.bar-hot[data-v-4cbe6fbb]  { background: linear-gradient(90deg, #ef4444, #f97316);
}
.bar-good[data-v-4cbe6fbb] { background: linear-gradient(90deg, #22c55e, #16a34a);
}
.bar-mid[data-v-4cbe6fbb]  { background: #eab308;
}
.bar-low[data-v-4cbe6fbb]  { background: #cbd5e1;
}
.row-hot[data-v-4cbe6fbb]  { background: #fffbfb;
}
.row-good[data-v-4cbe6fbb] { background: #f7fdf8;
}
.cr-blog-section[data-v-4cbe6fbb] { margin-bottom: 16px;
}
.cr-section-title[data-v-4cbe6fbb] {
  font-size: 14px; font-weight: 700; margin: 0 0 12px;
  display: flex; align-items: center; gap: 6px;
}
.cr-section-title small[data-v-4cbe6fbb] { font-weight: 400; color: #94a3b8; font-size: 12px;
}
.cr-blog-scroll[data-v-4cbe6fbb] { overflow-x: auto;
}
.cr-blog-grid[data-v-4cbe6fbb] {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 12px; min-width: 600px;
}
.cr-blog-card[data-v-4cbe6fbb] {
  background: white; border: 1px solid #e5e7eb;
  border-radius: 12px; padding: 14px;
  box-shadow: 0 1px 3px rgba(0,0,0,.07);
}
.cr-blog-top[data-v-4cbe6fbb] {
  display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px;
}
.cr-blog-kw[data-v-4cbe6fbb] {
  background: #ede9fe; color: #4f46e5;
  padding: 3px 10px; border-radius: 20px; font-size: 12px; font-weight: 600;
}
.cr-blog-cnt[data-v-4cbe6fbb] { font-size: 11px; color: #94a3b8;
}
.cr-blog-posts[data-v-4cbe6fbb] { margin: 0; padding: 0; list-style: none;
}
.cr-blog-posts li[data-v-4cbe6fbb] {
  display: flex; gap: 6px; padding: 5px 0;
  border-bottom: 1px solid #f1f5f9; font-size: 12px;
}
.cr-blog-posts li[data-v-4cbe6fbb]:last-child { border-bottom: none;
}
.cr-post-date[data-v-4cbe6fbb] { color: #94a3b8; white-space: nowrap; flex-shrink: 0; font-size: 11px;
}
.cr-post-title[data-v-4cbe6fbb] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #374151;
}
.cr-post-link[data-v-4cbe6fbb] { text-decoration: none;
}
.cr-post-link[data-v-4cbe6fbb]:hover { color: #4f46e5; text-decoration: underline;
}
.cr-kw-wrap[data-v-4cbe6fbb] { position: relative; display: inline-flex; align-items: center; gap: 5px;
}
.kw-link[data-v-4cbe6fbb] { cursor: pointer; color: #4f46e5; text-decoration: underline dotted;
}
.kw-link[data-v-4cbe6fbb]:hover { color: #4338ca;
}
.kw-prod-cnt[data-v-4cbe6fbb] {
  display: inline-flex; align-items: center;
  padding: 1px 7px; background: #dbeafe; color: #1d4ed8;
  border-radius: 20px; font-size: 11px; font-weight: 600;
  cursor: pointer; white-space: nowrap;
}
.kw-prod-cnt[data-v-4cbe6fbb]:hover { background: #bfdbfe;
}
.cr-popup[data-v-4cbe6fbb] {
  position: absolute; left: 0; top: calc(100% + 6px); z-index: 200;
  background: white; border: 1px solid #bfdbfe;
  border-radius: 10px; padding: 12px 14px; min-width: 240px;
  box-shadow: 0 4px 16px rgba(0,0,0,.12);
}
.cr-popup-hd[data-v-4cbe6fbb] {
  font-size: 11px; font-weight: 700; color: #1d4ed8;
  margin-bottom: 8px; padding-bottom: 6px; border-bottom: 1px solid #e5e7eb;
}
.cr-popup-list[data-v-4cbe6fbb] { margin: 0; padding: 0; list-style: none;
}
.cr-popup-list li[data-v-4cbe6fbb] {
  display: flex; gap: 8px; align-items: center;
  padding: 5px 0; border-bottom: 1px solid #f1f5f9; font-size: 12px;
}
.cr-popup-list li[data-v-4cbe6fbb]:last-child { border-bottom: none;
}
.pop-no[data-v-4cbe6fbb] { color: #94a3b8; font-size: 10px; white-space: nowrap; flex-shrink: 0;
}
.pop-name[data-v-4cbe6fbb] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #1e293b; font-weight: 500;
}
.cr-footer[data-v-4cbe6fbb] {
  text-align: center; color: #94a3b8; font-size: 11px; padding: 20px 0 8px;
}
@media (max-width: 768px) {
.cr-page[data-v-4cbe6fbb] { padding: 12px;
}
.cr-header[data-v-4cbe6fbb] { padding: 14px 16px;
}
.cr-logo[data-v-4cbe6fbb] { font-size: 1rem;
}
.cr-pipeline[data-v-4cbe6fbb] { justify-content: center;
}
.cr-pipe-node[data-v-4cbe6fbb] { padding: 4px 12px;
}
.cr-pipe-num[data-v-4cbe6fbb] { font-size: 1.7rem;
}
.cr-header-right[data-v-4cbe6fbb] { width: 100%;
}
}
@media print {
.cr-header-right[data-v-4cbe6fbb] { display: none;
}
.cr-page[data-v-4cbe6fbb] { background: white; padding: 0;
}
.cr-table-wrap[data-v-4cbe6fbb], .cr-blog-scroll[data-v-4cbe6fbb] { overflow: visible; box-shadow: none;
}
}

.warehouse-local-nav[data-v-e0508303] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.warehouse-local-nav .btn[data-v-e0508303] {
  min-width: 120px;
}

.bg-primary-light[data-v-5cfc8cac] { background: #eff6ff;
}
.bg-success-light[data-v-5cfc8cac] { background: #f0fdf4;
}
.bg-warning-light[data-v-5cfc8cac] { background: #fffbeb;
}
.bg-info-light[data-v-5cfc8cac] { background: #f0f9ff;
}
.border-primary[data-v-5cfc8cac] { border-color: #3b82f6 !important;
}
.border-success[data-v-5cfc8cac] { border-color: #22c55e !important;
}
.border-warning[data-v-5cfc8cac] { border-color: #f59e0b !important;
}
.border-info[data-v-5cfc8cac] { border-color: #0ea5e9 !important;
}

.warehouse-shell[data-v-ec9383cc] {
  max-width: 1320px;
  margin: 0 auto;
}
.bg-primary-light[data-v-ec9383cc] { background: #eff6ff;
}
.bg-success-light[data-v-ec9383cc] { background: #f0fdf4;
}
.bg-warning-light[data-v-ec9383cc] { background: #fffbeb;
}
.bg-info-light[data-v-ec9383cc] { background: #f0f9ff;
}
.bg-danger-light[data-v-ec9383cc] { background: #fef2f2;
}
.border-primary[data-v-ec9383cc] { border-color: #3b82f6 !important;
}
.border-success[data-v-ec9383cc] { border-color: #22c55e !important;
}
.border-warning[data-v-ec9383cc] { border-color: #f59e0b !important;
}
.border-info[data-v-ec9383cc] { border-color: #0ea5e9 !important;
}
.border-danger[data-v-ec9383cc] { border-color: #ef4444 !important;
}

/* 테이블 행 색상 */
.table-warning[data-v-ec9383cc] { background-color: #fef9c3 !important;
}
.table-danger[data-v-ec9383cc] { background-color: #fee2e2 !important;
}
.qty[data-v-ec9383cc] { display: inline-flex; align-items: center; border: 1px solid #dee2e6; border-radius: 6px;
}
.qty input[data-v-ec9383cc] { width: 60px; border: none; text-align: center;
}
.qty button[data-v-ec9383cc] { border: none; background: #fff; padding: 0 10px;
}
.star-btn[data-v-ec9383cc] { cursor: pointer; font-size: 20px; color: #e5e7eb;
}
.star-btn.on[data-v-ec9383cc] { color: #f59e0b;
}
.status-multi-select[data-v-ec9383cc] {
  min-width: 150px;
  height: 96px;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  overflow-y: auto;
}
.status-multi-select option[data-v-ec9383cc] {
  padding: 0.2rem 0.45rem;
  border-radius: 0.25rem;
}
.warehouse-local-nav[data-v-ec9383cc] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.warehouse-local-nav .btn[data-v-ec9383cc] {
  min-width: 120px;
}
.status-multi-select[data-v-ec9383cc]:focus {
  border-color: #86b7fe;
  box-shadow: 0 0 0 0.18rem rgba(13, 110, 253, 0.2);
}
.movement-success-toast[data-v-ec9383cc] {
  position: fixed;
  left: 50%;
  bottom: 24px;
  z-index: 1060;
  transform: translateX(-50%);
  max-width: 280px;
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid #86efac;
  background: #f0fdf4;
  color: #166534;
  font-size: 13px;
  line-height: 1.35;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.12);
}

.warehouse-shell[data-v-63e5b66d] {
  max-width: 1320px;
  margin: 0 auto;
}
.bg-primary-light[data-v-63e5b66d] { background: #eff6ff;
}
.bg-success-light[data-v-63e5b66d] { background: #f0fdf4;
}
.bg-warning-light[data-v-63e5b66d] { background: #fffbeb;
}
.bg-info-light[data-v-63e5b66d] { background: #f0f9ff;
}
.bg-danger-light[data-v-63e5b66d] { background: #fef2f2;
}
.border-primary[data-v-63e5b66d] { border-color: #3b82f6 !important;
}
.border-success[data-v-63e5b66d] { border-color: #22c55e !important;
}
.border-warning[data-v-63e5b66d] { border-color: #f59e0b !important;
}
.border-info[data-v-63e5b66d] { border-color: #0ea5e9 !important;
}
.border-danger[data-v-63e5b66d] { border-color: #ef4444 !important;
}
.warehouse-local-nav[data-v-63e5b66d] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.warehouse-local-nav .btn[data-v-63e5b66d] {
  min-width: 120px;
}
.movement-type-multi[data-v-63e5b66d] {
  min-width: 170px;
  height: 96px;
  overflow-y: auto;
}
.movement-type-multi option[data-v-63e5b66d] {
  padding: 0.2rem 0.45rem;
}

.warehouse-shell[data-v-347f8af7] {
  max-width: 1320px;
  margin: 0 auto;
}
.bg-primary-light[data-v-347f8af7] { background: #eff6ff;
}
.bg-success-light[data-v-347f8af7] { background: #f0fdf4;
}
.bg-warning-light[data-v-347f8af7] { background: #fffbeb;
}
.bg-info-light[data-v-347f8af7] { background: #f0f9ff;
}
.border-primary[data-v-347f8af7] { border-color: #3b82f6 !important;
}
.border-success[data-v-347f8af7] { border-color: #22c55e !important;
}
.border-warning[data-v-347f8af7] { border-color: #f59e0b !important;
}
.border-info[data-v-347f8af7] { border-color: #0ea5e9 !important;
}
.warehouse-local-nav[data-v-347f8af7] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.warehouse-local-nav .btn[data-v-347f8af7] {
  min-width: 120px;
}
.summary-table th[data-v-347f8af7],
.summary-table td[data-v-347f8af7] {
  vertical-align: middle;
}
.summary-total-row td[data-v-347f8af7] {
  background: #f8fafc;
}

.chart-wrap[data-v-deb4bf7b] {
  height: 320px;
}
@media (max-width: 768px) {
.chart-wrap[data-v-deb4bf7b] {
    height: 240px;
}
}

.chart-wrap[data-v-07386453] {
  height: 320px;
}
@media (max-width: 768px) {
.chart-wrap[data-v-07386453] {
    height: 240px;
}
}

.summary-wrap[data-v-30362385] {
  border: 1px solid #dbe2ea;
  border-radius: 10px;
  background: #f8fafc;
  padding: 12px;
}
.summary-cards[data-v-30362385] {
  border-bottom: 1px dashed #cbd5e1;
  padding-bottom: 10px;
}
.summary-card[data-v-30362385] {
  min-width: 140px;
  padding-right: 16px;
  margin-right: 16px;
  border-right: 1px solid #dbe2ea;
}
.summary-card.no-border[data-v-30362385] {
  border-right: none;
  margin-right: 0;
  padding-right: 0;
}
.summary-label[data-v-30362385] {
  font-size: 12px;
  color: #64748b;
}
.summary-value[data-v-30362385] {
  font-weight: 800;
  font-size: 31px;
  line-height: 1.2;
}
.chips-wrap[data-v-30362385] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.count-chip[data-v-30362385],
.type-chip[data-v-30362385] {
  display: inline-flex;
  align-items: center;
  border-radius: 8px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 700;
}
.count-chip[data-v-30362385] {
  background: #1e293b;
  color: #fff;
}
.chip-default[data-v-30362385] { background: #e2e8f0; color: #334155;
}
.chip-in-normal[data-v-30362385] { background: #dcfce7; color: #15803d;
}
.chip-in-return[data-v-30362385] { background: #ede9fe; color: #7c3aed;
}
.chip-in-charter[data-v-30362385] { background: #ffedd5; color: #c2410c;
}
.chip-out-normal[data-v-30362385] { background: #fee2e2; color: #dc2626;
}
.chip-out-charter[data-v-30362385] { background: #ffedd5; color: #ea580c;
}
.chip-out-direct[data-v-30362385] { background: #fff7ed; color: #b45309;
}
.chip-out-free[data-v-30362385] { background: #ffe4e6; color: #be123c;
}
.costs-head[data-v-30362385] {
  min-width: 180px;
}
.details-wrap[data-v-30362385] {
  overflow: hidden;
}
.settlement-table td[data-v-30362385] {
  vertical-align: middle;
  border-color: #eef2f7;
}
.date-row .date-cell[data-v-30362385] {
  background: #f1f5f9;
  font-weight: 700;
  color: #1e3a8a;
}
.move-badge[data-v-30362385] {
  display: inline-flex;
  align-items: center;
  border-radius: 6px;
  padding: 3px 8px;
  font-size: 12px;
  font-weight: 700;
  border: 1px solid transparent;
}
.badge-default[data-v-30362385] { background: #e2e8f0; color: #334155; border-color: #cbd5e1;
}
.badge-in-normal[data-v-30362385] { background: #dcfce7; color: #15803d; border-color: #86efac;
}
.badge-in-return[data-v-30362385] { background: #ede9fe; color: #7c3aed; border-color: #c4b5fd;
}
.badge-in-charter[data-v-30362385] { background: #ffedd5; color: #c2410c; border-color: #fdba74;
}
.badge-out-normal[data-v-30362385] { background: #fee2e2; color: #dc2626; border-color: #fca5a5;
}
.badge-out-charter[data-v-30362385] { background: #ffedd5; color: #ea580c; border-color: #fdba74;
}
.badge-out-direct[data-v-30362385] { background: #fff7ed; color: #b45309; border-color: #fed7aa;
}
.badge-out-free[data-v-30362385] { background: #ffe4e6; color: #be123c; border-color: #fda4af;
}
.amount-cell[data-v-30362385] {
  width: 120px;
  color: #334155;
}
.item-note[data-v-30362385] {
  margin-left: 6px;
  color: #6b7280;
  font-weight: 400;
}
@media (max-width: 768px) {
.summary-card[data-v-30362385] {
    min-width: auto;
    margin-right: 10px;
    padding-right: 10px;
}
.summary-value[data-v-30362385] {
    font-size: 20px;
}
.costs-head[data-v-30362385] {
    min-width: 140px;
    gap: 16px;
}
.amount-cell[data-v-30362385] {
    width: 95px;
}
}

.chart-wrap[data-v-54546240] {
  height: 280px;
}
@media (max-width: 992px) {
.chart-wrap[data-v-54546240] {
    height: 240px;
}
}

.summary-wrap[data-v-5120f0df] {
  border: 1px solid #dbe2ea;
  border-radius: 10px;
  background: #f8fafc;
  padding: 12px;
}
.summary-main[data-v-5120f0df] {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 10px;
}
.summary-label[data-v-5120f0df] {
  color: #64748b;
  font-size: 13px;
  font-weight: 600;
}
.summary-value[data-v-5120f0df] {
  color: #0f172a;
  font-weight: 800;
  font-size: 30px;
  line-height: 1.2;
}
.summary-chips[data-v-5120f0df] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.summary-chip[data-v-5120f0df] {
  display: inline-flex;
  align-items: center;
  border-radius: 8px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 700;
}
.chip-in-stock[data-v-5120f0df] {
  background: #dcfce7;
  color: #15803d;
}
.chip-sold-out[data-v-5120f0df] {
  background: #fee2e2;
  color: #dc2626;
}
.chip-all[data-v-5120f0df] {
  background: #e2e8f0;
  color: #334155;
}
.asset-table td[data-v-5120f0df] {
  border-color: #eef2f7;
}
.status-badge[data-v-5120f0df] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 52px;
  border-radius: 6px;
  padding: 3px 8px;
  font-size: 12px;
  font-weight: 700;
  border: 1px solid transparent;
}
.status-normal[data-v-5120f0df] {
  background: #dcfce7;
  color: #15803d;
  border-color: #86efac;
}
.status-warning[data-v-5120f0df] {
  background: #fef3c7;
  color: #b45309;
  border-color: #fcd34d;
}
.status-sold-out[data-v-5120f0df] {
  background: #fee2e2;
  color: #dc2626;
  border-color: #fca5a5;
}
.status-default[data-v-5120f0df] {
  background: #e2e8f0;
  color: #334155;
  border-color: #cbd5e1;
}
@media (max-width: 768px) {
.summary-value[data-v-5120f0df] {
    font-size: 22px;
}
}

.admin-stats-shell[data-v-fc792022] {
  max-width: 1320px;
  margin: 0 auto;
}
.section-placeholder .card-body[data-v-fc792022] {
  min-height: 96px;
  display: flex;
  align-items: center;
}
