/* 2026-10-09 5-4 영업 현황: 툴바 기준표(입력칸 36px·글자 14), 기간 탭 = 전환 버튼 모양, 상자 테두리 1px·그림자 없앰 */
/* 2026-10-09 5-0 죽은 규칙 정리: JS·HTML 에 없는 클래스만 가리키는 규칙 삭제 (지운규칙목록.txt) */
/* 2026-10-09 style.css 에서 분리 (원래 2971~3142줄) */
/* 2026-10-09 메뉴 선택 하늘색 규칙 제거 */
/* ================================================================
   대시보드 스타일
   ================================================================ */
/* 2026-10-09 영업 현황 메뉴 선택 색: core.css '머리 영역'으로 통합 (하늘색 규칙 제거) */
#panel-dashboard { overflow-y: auto; }
.dash-wrap { max-width:1400px; width:100%; box-sizing:border-box; min-width:0; margin:0 auto; padding:20px 20px 40px; display:flex; flex-direction:column; gap:16px; position:relative; } /* 2026-10-09 width+box-sizing+min-width 추가 */
.dash-wrap > * { min-width: 0; } /* 2026-10-09 모바일 가로 스크롤 */
.dash-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; }
.dash-title { font-size:var(--ds-fs-xl); font-weight:700; color:var(--ds-brand); }
.dash-toolbar-right { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.dash-select, .dash-date-input, .dash-refresh-btn { height:36px; padding:0 var(--ds-sp-3); border:var(--ds-line) solid var(--ds-gray-200); border-radius:var(--ds-radius-md); font-size:var(--ds-fs-base); color:var(--ds-gray-900); background:#fff; outline:none; }
.dash-select { cursor:pointer; }
.dash-select:focus, .dash-date-input:focus { border-color:var(--ds-primary); }
.dash-refresh-btn { width:36px; padding:0; font-size:var(--ds-fs-lg); color:var(--ds-gray-600); cursor:pointer; display:flex; align-items:center; justify-content:center; }
@media (hover: hover) { .dash-select:hover, .dash-refresh-btn:hover { border-color:var(--ds-primary); } }

/* 기간 모드 탭 — 2026-10-09 전환 버튼 모양 (테두리 하나에 붙은 칸, 고른 칸만 파랑). 현황판 주차 탭(.sb-week-tab)도 같은 모양 */
.dash-period-tabs { display:flex; height:36px; background:#fff; border:var(--ds-line) solid var(--ds-primary); border-radius:var(--ds-radius-md); overflow:hidden; }
.dash-period-tab { flex:1; padding:0 var(--ds-sp-3); border:none; border-radius:0; font-size:var(--ds-fs-md); color:var(--ds-primary); background:transparent; cursor:pointer; white-space:nowrap; }
.dash-period-tab + .dash-period-tab { border-left:var(--ds-line) solid var(--ds-primary); }
.dash-period-tab.active { background:var(--ds-primary); color:#fff; font-weight:500; }
.dash-spinner { width:36px; height:36px; border:4px solid #e2e8f0; border-top-color:#2E7FC1; border-radius:50%; animation:dash-spin .7s linear infinite; }
@keyframes dash-spin { to { transform:rotate(360deg); } }
.dash-card { background:#fff; border-radius:var(--ds-radius-lg); padding:var(--ds-sp-4); border:var(--ds-line) solid var(--ds-gray-200); }
.dash-card-title { font-size:13px; font-weight:700; color:#1B3A6B; margin-bottom:14px; display:flex; align-items:center; gap:6px; }
.dash-card-sub { font-size:11px; font-weight:400; color:#94a3b8; }
      .status-chip { display:inline-block; padding:2px 8px; border-radius:20px; font-size:10px; font-weight:600; white-space:nowrap; }
.s-draft { background:#f1f5f9; color:#64748b; border:1px solid #e2e8f0; }
.s-pending { background:#fef3c7; color:#92400e; border:1px solid #fde68a; }
.s-approved { background:#d1fae5; color:#065f46; border:1px solid #a7f3d0; }
.s-rejected { background:#fee2e2; color:#b91c1c; border:1px solid #fca5a5; }
.type-badge { display:inline-block; padding:2px 7px; border-radius:6px; font-size:10px; font-weight:600; }
.type-purchase { background:#dbeafe; color:#1d4ed8; } .type-rental { background:#ede9fe; color:#5b21b6; }
@media (max-width:768px) {
  .dash-wrap { padding:12px 12px 30px; gap:12px; }
  .dash-toolbar-right { width:100%; }  /* 1줄 [연도][기간 탭] · 2줄 [월][유형][담당자][새로고침] */
  .dash-toolbar-right .dash-select { flex:1 1 0; min-width:0; padding:0 var(--ds-sp-2); }
  #dash-year-sel, #dash-month-sel { flex:0 0 auto; }
  #dash-custom-range { flex:0 0 100%; } #dash-custom-range .dash-date-input { flex:1; min-width:0; }
  .dash-period-tabs { flex:1 1 calc(100% - 120px); }
  .dash-period-tab { padding:0 var(--ds-sp-1); }
  .dash-card { padding:var(--ds-sp-3); }
}

/* ══ 거래처별 견적 묶음 뷰 ══════════════════════════════════════════ */
.cq-empty { padding:32px; text-align:center; color:#94a3b8; font-size:13px; }

/* 그룹 컨테이너 */
.cq-group { border:1.5px solid #e8edf5; border-radius:10px; overflow:hidden; margin-bottom:6px; transition:box-shadow .15s; }
.cq-group:last-child { margin-bottom:0; }
.cq-group:hover { box-shadow:0 2px 10px rgba(0,0,0,.06); }

/* 헤더 행 (클릭으로 펼침) */
.cq-group-header {
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px;
  padding:11px 16px; background:#f8fafc; cursor:pointer;
  transition:background .12s; user-select:none;
}
.cq-group-header:hover { background:#f0f5fb; }

/* 헤더 왼쪽: 토글 + 회사명 */
.cq-group-left  { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.cq-group-right { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }

.cq-toggle-icon  { font-size:10px; color:#94a3b8; width:14px; flex-shrink:0; transition:transform .15s; }
.cq-company-name { font-size:13px; font-weight:700; color:#1B3A6B; }
.cq-quote-cnt    { font-size:11px; color:#94a3b8; margin-left:2px; }

/* 신규 뱃지 */
.cq-new-badge {
  display:inline-block; padding:1px 7px; border-radius:20px;
  font-size:10px; font-weight:700; background:#be123c; color:#fff;
  letter-spacing:.3px; flex-shrink:0;
}

/* 상태/금액/날짜 칩 */
.cq-meta-chip {
  display:inline-block; padding:2px 8px; border-radius:20px;
  font-size:11px; font-weight:600; white-space:nowrap;
}
.cq-chip-amt      { background:#ede9fe; color:#5b21b6; font-weight:700; }
.cq-chip-date     { background:#f1f5f9; color:#64748b; font-weight:400; }

/* 견적 테이블 래퍼 */
.cq-body-wrap { border-top:1px solid #e8edf5; overflow-x:auto; }

/* 견적 테이블 */
.cq-quote-table {
  width:100%; border-collapse:collapse; font-size:12px;
}
.cq-quote-table thead tr { background:#f1f5f9; }
.cq-quote-table th {
  padding:7px 12px; text-align:left; font-size:11px;
  font-weight:600; color:#64748b; border-bottom:1px solid #e8edf5;
  white-space:nowrap;
}
.cq-quote-table td { padding:8px 12px; border-bottom:1px solid #f1f5f9; vertical-align:middle; }
.cq-quote-table tbody tr:last-child td { border-bottom:none; }
.cq-quote-table tbody tr:hover { background:#fafbff; }

/* 견적번호 셀 들여쓰기 — [D2] 2026-10-08: inline-flex로 변경 (td 높이 팽창 방지) */
.cq-indent      { display:inline-flex; align-items:center; gap:6px; padding-left:16px; } /* rev 행 */
.cq-indent-root { display:inline-flex; align-items:center; gap:6px; }                    /* 원본 행 */
.cq-branch-icon { color:#cbd5e1; font-size:12px; flex-shrink:0; }
.cq-qnum { font-size:11px; color:#374151; font-family:monospace; }
/* ══════════════════════════════════════════════════════════════════ */
