/* ============================================================
   plugins.css — 외부 플러그인 테마 오버라이드 (Select2 · flatpickr)
   ============================================================ */

/* ── Select2 — 프리미엄 톤(라운드·소프트섀도우·포커스링·리치옵션) ── */
.select2-container{width:100% !important}
.select2-container--default .select2-selection--single{height:var(--cv-h);border:1px solid var(--cv-btn-border);border-radius:var(--cv-radius);display:flex;align-items:center;background:#fff;transition:border-color .15s,box-shadow .15s}
.select2-container--default .select2-selection--single:hover{border-color:#94a3b8}
.select2-container--default .select2-selection--single .select2-selection__rendered{display:flex;align-items:center;height:100%;line-height:normal;padding:0 30px 0 14px;color:#111827;font-size:13px;font-weight:500}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:38px;right:9px}
.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#94a3b8 transparent transparent transparent}
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single{border-color:var(--brand-500);box-shadow:0 0 0 3px var(--cv-ring)}
.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #94a3b8 transparent}
.select2-dropdown{border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 16px 44px rgba(16,24,40,.18);overflow:hidden;margin-top:6px}
.select2-search--dropdown{padding:8px 8px 4px}
.select2-search--dropdown .select2-search__field{border:1px solid #d7dce3;border-radius:8px;padding:8px 11px;font-size:13px;outline:none}
.select2-search--dropdown .select2-search__field:focus{border-color:var(--brand-500);box-shadow:0 0 0 3px var(--cv-ring)}
.select2-container--default .select2-results__option{padding:9px 13px;font-size:13px;color:#1f2937;border-bottom:1px solid #f4f5f7}
.select2-container--default .select2-results__option:last-child{border-bottom:0}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:#fff2f1;color:#111827}
.select2-container--default .select2-results__option[aria-selected=true]{background:#ffe9e6;color:#111827;font-weight:600;box-shadow:inset 3px 0 0 var(--brand)}
.select2-results__options{max-height:360px !important}

/* ── flatpickr — 디자인 톤 정합 + 내부 여백(반응형 그리드) ── */
.flatpickr-calendar{width:300px!important;border-radius:12px;box-shadow:0 12px 32px rgba(16,24,40,.16);border:1px solid #e5e7eb;font-family:inherit;padding:0 0 10px}
.flatpickr-months{padding:9px 12px 4px}
.flatpickr-rContainer{width:100%}
.flatpickr-weekdaycontainer,.flatpickr-days,.dayContainer{width:100%!important;min-width:100%;max-width:100%}
.dayContainer,.flatpickr-weekdaycontainer{padding:0 12px;box-sizing:border-box}
.flatpickr-day{max-width:none;flex-basis:14.2857%;border-radius:8px;color:#334155;height:38px;line-height:38px;margin-top:2px}
.flatpickr-day:hover{background:#fff2f1;border-color:#fff2f1}
.flatpickr-day.today{border-color:var(--brand-500)}
.flatpickr-day.today:hover{background:#ffe9e6;color:#334155}
.flatpickr-day.selected,.flatpickr-day.selected:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.flatpickr-day.flatpickr-disabled,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay{color:#cbd5e1}
.flatpickr-months .flatpickr-month,.flatpickr-current-month input.cur-year,.flatpickr-current-month .flatpickr-monthDropdown-months{color:#111827;font-weight:600}
.flatpickr-weekday{color:#94a3b8;font-weight:600}
.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:var(--brand)}

/* ── 하단 범례: 차트와 붙지 않게 상단 여백(전 차트 공통) ── */
.apexcharts-legend.apexcharts-align-center{padding-top:4px}

/* ── Tabulator dataTree(머지 그룹) 확장 버튼: 솔루션 톤으로 재디자인 ── */
.tabulator-row .tabulator-cell .tabulator-data-tree-control{
  width:17px;height:17px;border-radius:6px;border:1px solid #e2e8f0;background:#f1f5f9;
  margin-right:8px;transition:background .12s,border-color .12s}
.tabulator-row .tabulator-cell .tabulator-data-tree-control:hover{background:var(--brand-50);border-color:var(--brand-200)}
/* +/− 획: 브랜드 컬러 + 살짝 두껍게 */
.tabulator-data-tree-control .tabulator-data-tree-control-collapse,
.tabulator-data-tree-control .tabulator-data-tree-control-expand{height:8px;width:0}
.tabulator-data-tree-control .tabulator-data-tree-control-collapse{background:transparent}
.tabulator-data-tree-control .tabulator-data-tree-control-expand{background:var(--brand);width:1.6px}
.tabulator-data-tree-control .tabulator-data-tree-control-collapse:after,
.tabulator-data-tree-control .tabulator-data-tree-control-expand:after{
  background:var(--brand);height:1.6px;width:8px;left:-4px;top:3px}
/* 자식 앞 엘보(└) 제거 → 들여쓰기만으로 계층 표현(모달 트리와 동일 원칙). 폭은 유지해 정렬 보존 */
.tabulator-row .tabulator-cell .tabulator-data-tree-branch{
  border:0;height:0;margin-top:0;width:14px}
