/* assign.html 고유 CSS. 공통 규칙은 common.css에 있음. */

/* ===== 민원 카드 — 배정 부서 / 마감일 D-N ===== */
.c-dept {
  display:flex; align-items:center; gap:5px;
  font-size:11.5px; color:#475569;
  margin-bottom:4px; line-height:1.4;
  word-break:keep-all;
}
.c-dept-label {
  flex-shrink:0;
  display:inline-block; padding:1px 6px; border-radius:4px;
  background:#F1F5F9; border:1px solid #E2E8F0;
  color:#64748B; font-size:10px; font-weight:700;
  letter-spacing:.02em;
}
.c-dept-label.label-ai {
  background:linear-gradient(135deg,#EEF2FF,#E0E7FF);
  border-color:#C7D2FE; color:#4338CA;
}

/* AI 추천 부서 — 목록 카드에서 부서명이 한눈에 들어오도록 강조 */
#screen-assign .c-dept.c-dept--ai {
  flex-wrap:wrap;
  align-items:center;
  gap:6px 8px;
  padding:8px 10px 9px;
  margin:4px 0 6px;
  border-radius:9px;
  background:linear-gradient(135deg,#FFFBF5 0%,#FDECDB 45%,#FFF7ED 100%);
  border:1px solid #E8833A;
  box-shadow:0 2px 8px rgba(232,131,58,0.12), inset 0 1px 0 rgba(255,255,255,0.65);
  position:relative;
}
#screen-assign .c-dept.c-dept--ai::before {
  content:'';
  position:absolute;
  left:0; top:6px; bottom:6px;
  width:3px;
  border-radius:0 3px 3px 0;
  background:linear-gradient(180deg,#E8833A,#C2410C);
  opacity:0.9;
}
#screen-assign .c-dept.c-dept--ai .c-dept-label.label-ai {
  padding:3px 8px;
  font-size:10px;
  font-weight:800;
  letter-spacing:0.06em;
  text-transform:uppercase;
  border-width:1px;
  box-shadow:0 1px 3px rgba(67,56,202,0.18);
}
#screen-assign .c-dept.c-dept--ai .c-dept-name {
  flex:1;
  min-width:0;
  font-size:12.5px;
  font-weight:800;
  color:#5D3A1A;
  line-height:1.4;
  letter-spacing:-0.02em;
}

/* 타부처 이관 검토 대상 — 법령 관할 교차 감지 카드(예: NEW-0087)에 사용.
   AI 추천(indigo)과 시각적으로 확실히 구분되도록 호박색 계열로 경고성을 부여. */
.c-dept-label.label-transfer {
  background:linear-gradient(135deg,#FEF3C7,#FDE68A);
  border-color:#F59E0B; color:#92400E;
  font-weight:800;
}
.c-deadline { color:#334155; font-weight:700; }

.c-dday {
  margin-left:auto; flex-shrink:0;
  display:inline-flex; align-items:center; justify-content:center;
  padding:2px 9px; border-radius:999px;
  font-size:11px; font-weight:800; letter-spacing:.02em;
  white-space:nowrap;
}
.c-dday.dday-overdue {
  background:linear-gradient(135deg,#FEE2E2,#FCA5A5);
  color:#991B1B; border:1px solid #F87171;
  animation:ddayPulse 1.6s ease-in-out infinite;
}
.c-dday.dday-urgent {
  background:linear-gradient(135deg,#FEF3C7,#FDE68A);
  color:#92400E; border:1px solid #F59E0B;
}
.c-dday.dday-normal {
  background:linear-gradient(135deg,#D1FAE5,#A7F3D0);
  color:#065F46; border:1px solid #34D399;
}
.c-dday.dday-done {
  background:#F1F5F9; color:#64748B; border:1px solid #CBD5E1;
}
.c-dday.dday-none {
  background:#FFFBEB; color:#92400E; border:1px dashed #FCD34D;
  font-weight:700;
}
@keyframes ddayPulse {
  0%,100% { box-shadow:0 0 0 0 rgba(248,113,113,0); }
  50%     { box-shadow:0 0 0 4px rgba(248,113,113,.28); }
}

/* ===== 배정 완료 민원 숨김 토글 ===== */
.hide-done-toggle {
  display:flex; align-items:center; gap:6px;
  margin-top:7px; padding:5px 9px;
  border-radius:6px; background:#F8FAFC;
  border:1px solid #E2E8F0;
  font-size:11px; font-weight:600; color:var(--text-secondary);
  cursor:pointer; user-select:none; transition:all .15s;
}
.hide-done-toggle:hover { background:#F1F5F9; border-color:#CBD5E1; }
.hide-done-toggle input[type="checkbox"] {
  width:13px; height:13px; accent-color:#E8833A; cursor:pointer;
  margin:0;
}

.complaint-card.is-hidden-done,
.complaint-card.is-hidden-search { display:none !important; }

/* 배정 완료 그룹 헤더도 숨기기와 함께 사라지도록 */
.sidebar-list-group.is-hidden-done { display:none !important; }

/* =========================================================================
 * 민원 카드 액션바 — hover/선택 시 카드 하단에 인라인 버튼으로 노출.
 *   · 진행 중(new) 카드: [연장] 라벨 + [+1][+3][+7][+14] 인라인 pill 버튼 (indigo)
 *   · 배정 완료(done) 카드: [✓ 종결 처리] 버튼 (emerald)
 *   · 드롭다운 대신 인라인으로 평탄화 → 카드 overflow:hidden 과 충돌하지 않음.
 * ----------------------------------------------------------------------- */
.complaint-card { position:relative; }
.complaint-card .c-actions {
  display:flex; align-items:center; gap:4px; flex-wrap:wrap;
  margin-top:6px; padding-top:6px;
  border-top:1px dashed #E2E8F0;
  opacity:0; max-height:0; overflow:hidden;
  transition:opacity .15s ease, max-height .2s ease, padding-top .2s ease, margin-top .2s ease;
  pointer-events:none;
}
.complaint-card:hover .c-actions,
.complaint-card.selected .c-actions,
.complaint-card:focus-within .c-actions {
  opacity:1; max-height:64px; pointer-events:auto;
}
.complaint-card .c-actions-spacer { flex:1; }
.complaint-card .c-actions-label {
  font-size:10.5px; font-weight:800;
  color:#4338CA; letter-spacing:-0.1px;
  padding:0 2px 0 2px;
  white-space:nowrap;
}

.c-action-btn {
  font-family:'S-CoreDream', sans-serif;
  font-size:11px; font-weight:800;
  padding:3px 8px; border-radius:6px;
  background:#fff; cursor:pointer;
  display:inline-flex; align-items:center; gap:4px;
  letter-spacing:-0.1px; transition:all .12s ease;
  white-space:nowrap;
}
.c-action-btn:hover { transform:translateY(-1px); }

/* 연장 인라인 pill (+1/+3/+7/+14) — indigo */
.c-action-ext {
  color:#4338CA;
  border:1px solid #C7D2FE;
  background:#EEF2FF;
  min-width:30px; justify-content:center;
}
.c-action-ext:hover {
  background:#E0E7FF; border-color:#A5B4FC;
  box-shadow:0 2px 6px rgba(67,56,202,0.18);
}
.c-action-ext:active {
  transform:translateY(0);
  background:#C7D2FE;
}

/* 종결 버튼 — emerald */
.c-action-close {
  margin-left:auto;
  color:#065F46;
  border:1px solid #A7F3D0;
  background:#ECFDF5;
  padding:4px 10px;
}
.c-action-close:hover {
  background:#D1FAE5; border-color:#6EE7B7;
  box-shadow:0 2px 6px rgba(6,95,70,0.15);
}

/* =========================================================================
 * 연장 뱃지 (보라) · 종결 뱃지 · 종결 카드 시각 우회
 * ----------------------------------------------------------------------- */
.c-extended {
  margin-left:4px; flex-shrink:0;
  display:inline-flex; align-items:center;
  padding:1px 7px; border-radius:999px;
  font-size:10px; font-weight:800; letter-spacing:.02em;
  background:#F5F3FF; color:#6D28D9;
  border:1px solid #DDD6FE;
  white-space:nowrap;
}

.c-badge.badge-closed {
  background:#E2E8F0; color:#334155;
  border:1px solid #CBD5E1;
}
.c-dday.dday-closed {
  background:#F8FAFC; color:#64748B;
  border:1px solid #E2E8F0;
  opacity:0.9;
}

.complaint-card[data-status="closed"] {
  opacity:0.55;
  background:#F8FAFC;
}
.complaint-card[data-status="closed"] .c-title {
  text-decoration:line-through;
  color:#64748B;
}
.complaint-card[data-status="closed"] .c-actions { display:none; }

/* =========================================================================
 * 상세 헤더 우측 액션 슬롯
 *   new    : [연장] 라벨 + [+1][+3][+7][+14] 인라인 pill 버튼
 *   done   : [✓ 종결 처리] 버튼
 *   closed : "✓ 종결됨" 비활성 뱃지
 * ----------------------------------------------------------------------- */
.detail-action-slot {
  display:inline-flex; align-items:center; gap:8px;
}

.detail-action-slot .da-extend-group {
  display:inline-flex; align-items:center; gap:4px;
  padding:5px 8px 5px 10px; border-radius:8px;
  background:#EEF2FF; border:1px solid #C7D2FE;
  box-shadow:0 1px 2px rgba(67,56,202,0.08);
}
.detail-action-slot .da-extend-label {
  font-size:11px; font-weight:800;
  color:#4338CA; letter-spacing:-0.1px;
  padding-right:2px;
}
.detail-action-slot .da-btn-mini {
  font-family:'S-CoreDream', sans-serif;
  font-size:11px; font-weight:800;
  color:#4338CA;
  background:#FFFFFF; border:1px solid #C7D2FE;
  padding:3px 9px; border-radius:6px;
  cursor:pointer;
  min-width:34px;
  transition:all .12s ease;
  letter-spacing:-0.1px;
}
.detail-action-slot .da-btn-mini:hover {
  background:#E0E7FF; border-color:#A5B4FC;
  transform:translateY(-1px);
  box-shadow:0 2px 6px rgba(67,56,202,0.15);
}
.detail-action-slot .da-btn-mini:active {
  transform:translateY(0); background:#C7D2FE;
}

.detail-action-slot .da-btn {
  font-family:'S-CoreDream', sans-serif;
  font-size:12px; font-weight:700;
  display:inline-flex; align-items:center; gap:6px;
  padding:8px 14px; border-radius:8px;
  background:#fff; cursor:pointer;
  transition:all .15s ease;
  box-shadow:0 1px 2px rgba(0,0,0,0.05);
}
.detail-action-slot .da-btn:hover { transform:translateY(-1px); }
.detail-action-slot .da-btn-close {
  color:#065F46; border:1px solid #A7F3D0;
}
.detail-action-slot .da-btn-close:hover {
  background:#ECFDF5; border-color:#6EE7B7;
  box-shadow:0 2px 6px rgba(6,95,70,0.15);
}

.detail-action-slot .detail-closed-badge {
  display:inline-flex; align-items:center;
  padding:7px 14px; border-radius:8px;
  background:#E2E8F0; color:#334155;
  border:1px solid #CBD5E1;
  font-size:12px; font-weight:700;
  letter-spacing:-0.1px;
}

/* ===== 민원 목록 검색 박스 ===== */
.complaint-search-box {
  position:relative;
  display:flex; align-items:center;
}
.complaint-search-ico {
  position:absolute; left:9px; top:50%; transform:translateY(-50%);
  font-size:11px; color:#94A3B8; pointer-events:none; line-height:1;
}
.complaint-search-input {
  width:100%; padding:6px 28px 6px 26px;
  border-radius:7px; border:1px solid var(--border);
  background:#fff;
  font-family:'S-CoreDream',sans-serif; font-size:11.5px;
  color:var(--text-primary); outline:none;
  transition:border-color .15s, box-shadow .15s;
}
.complaint-search-input::placeholder { color:#94A3B8; }
.complaint-search-input:focus {
  border-color:#E8833A;
  box-shadow:0 0 0 3px rgba(232,131,58,.12);
}
.complaint-search-clear {
  position:absolute; right:6px; top:50%; transform:translateY(-50%);
  width:18px; height:18px; border:none; padding:0;
  border-radius:50%; background:#F1F5F9; color:#64748B;
  cursor:pointer; font-size:10px; font-weight:700;
  font-family:'S-CoreDream',sans-serif;
  display:inline-flex; align-items:center; justify-content:center;
  transition:all .15s;
}
.complaint-search-clear:hover { background:#E2E8F0; color:#1E293B; }

.complaint-search-hl {
  background:#FEF3C7; color:#92400E; font-weight:800;
  padding:0 1px; border-radius:2px;
}
.complaint-search-empty {
  margin-top:8px; padding:10px 12px;
  border-radius:7px; background:#FFFBEB;
  border:1px dashed #FCD34D;
  font-size:11px; color:#92400E; text-align:center;
  line-height:1.5;
}

/* =========================================================================
 * 배정 로그 — 헤더 버튼 / 확정 바 / 조회 모달
 * ========================================================================= */

/* ========= 담당자 의견 입력 박스 (배치 모드 하단) =========
   최종 확정 시점에 담당자가 자유롭게 판단 근거·메모를 남기는 영역.
   저장 버튼 바로 위에 배치되어 저장 흐름에 자연스럽게 포함. */
#screen-assign .assign-memo-box {
  margin-top:12px;
  padding:12px 14px;
  background:linear-gradient(180deg,#FFFFFF,#F8FAFC);
  border:1px solid #E2E8F0; border-radius:10px;
  transition:border-color .15s, box-shadow .15s;
}
#screen-assign .assign-memo-box:focus-within {
  border-color:#818CF8;
  box-shadow:0 0 0 3px rgba(129,140,248,0.14);
}

/* ----- 최종 선택 요약 라인 (.amb-final-choice) -----
 *   · 타부처 이관 확정 시  : amber 계열 (is-transfer)
 *   · 농식품부 내 처리 시   : emerald 계열 (is-mafra, 기본)
 *   · 선택 없으면 hidden 속성으로 숨김
 * -------------------------------------------------- */
#screen-assign .amb-final-choice {
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  padding:9px 12px; border-radius:9px;
  margin-bottom:10px;
  font-family:'S-CoreDream', sans-serif;
  background:linear-gradient(135deg,#ECFDF5,#D1FAE5);
  border:1px solid #6EE7B7;
  animation:ambFcIn .25s ease-out;
}
#screen-assign .amb-final-choice[hidden] { display:none !important; }
#screen-assign .amb-final-choice .amb-fc-label {
  flex-shrink:0;
  font-size:11px; font-weight:800; letter-spacing:.02em;
  padding:3px 9px; border-radius:6px;
  background:#065F46; color:#fff;
}
#screen-assign .amb-final-choice .amb-fc-text {
  font-size:12.5px; font-weight:700; color:#065F46;
  line-height:1.5;
}
#screen-assign .amb-final-choice .amb-fc-text b {
  font-weight:800;
}
#screen-assign .amb-final-choice .amb-fc-count {
  display:inline-flex; align-items:center;
  margin-left:2px;
  font-size:11px; font-weight:800;
  padding:1px 7px; border-radius:8px;
  background:#fff; color:#065F46;
  border:1px solid #6EE7B7;
}
#screen-assign .amb-final-choice.is-transfer {
  background:linear-gradient(135deg,#FEF3C7,#FDE68A);
  border-color:#F59E0B;
  /* 타부처 이관 선택 패널은 근거·의견·액션이 포함된 다단 레이아웃 */
  flex-direction:column; align-items:stretch;
  gap:8px; padding:12px 14px;
}
#screen-assign .amb-final-choice.is-transfer .amb-fc-label {
  background:#B45309;
}
#screen-assign .amb-final-choice.is-transfer .amb-fc-text {
  color:#92400E;
}
#screen-assign .amb-final-choice.is-transfer .amb-fc-count {
  color:#92400E; border-color:#FCD34D;
}
/* 헤드 라인: 라벨 + 순위 배지 + 부처명 */
#screen-assign .amb-final-choice .amb-fc-head {
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
}
#screen-assign .amb-final-choice .amb-fc-rank {
  flex-shrink:0;
  font-size:10.5px; font-weight:800; letter-spacing:.02em;
  padding:2px 8px; border-radius:6px; color:#fff;
  min-width:44px; text-align:center;
}
#screen-assign .amb-final-choice .amb-fc-rank.r1 { background:linear-gradient(135deg,#F59E0B,#B45309); }
#screen-assign .amb-final-choice .amb-fc-rank.r2 { background:linear-gradient(135deg,#A8A29E,#78716C); }
#screen-assign .amb-final-choice .amb-fc-rank.r3 { background:linear-gradient(135deg,#D6D3D1,#A8A29E); color:#44403C; }
/* 근거 섹션 — 법령·해설을 한 행씩 */
#screen-assign .amb-final-choice .amb-fc-rationale {
  display:flex; flex-direction:column; gap:5px;
  padding:8px 10px; border-radius:7px;
  background:rgba(255,255,255,0.55);
  border:1px dashed rgba(180,83,9,0.3);
}
#screen-assign .amb-final-choice .amb-fc-row {
  display:flex; align-items:flex-start; gap:8px;
  font-size:11.5px; line-height:1.55;
}
#screen-assign .amb-final-choice .amb-fc-row-label {
  flex-shrink:0;
  font-weight:800; color:#92400E;
  min-width:62px;
}
#screen-assign .amb-final-choice .amb-fc-row-text {
  flex:1; min-width:0;
  color:#44403C; font-weight:600;
}
/* AI 이관 의견 초안 — 접을 수 있는 details */
#screen-assign .amb-final-choice .amb-fc-opinion-wrap {
  border-radius:7px; background:#fff;
  border:1px solid #FDE68A;
}
#screen-assign .amb-final-choice .amb-fc-opinion-sum {
  cursor:pointer; user-select:none;
  padding:7px 10px;
  font-size:11.5px; font-weight:800; color:#78350F;
  list-style:none;
  border-radius:7px;
  transition:background .15s ease;
}
#screen-assign .amb-final-choice .amb-fc-opinion-sum::-webkit-details-marker { display:none; }
#screen-assign .amb-final-choice .amb-fc-opinion-sum::before {
  content:'▸'; display:inline-block; margin-right:6px;
  color:#B45309; transition:transform .15s ease;
}
#screen-assign .amb-final-choice .amb-fc-opinion-wrap[open] .amb-fc-opinion-sum::before {
  transform:rotate(90deg);
}
#screen-assign .amb-final-choice .amb-fc-opinion-sum:hover { background:#FFFBEB; }
#screen-assign .amb-final-choice .amb-fc-opinion-body {
  padding:10px 12px 12px;
  border-top:1px dashed #FDE68A;
  font-size:11.5px; color:#1F2937; line-height:1.7;
}
#screen-assign .amb-final-choice .amb-fc-opinion-body b,
#screen-assign .amb-final-choice .amb-fc-opinion-body strong {
  color:#78350F; font-weight:800;
}
/* 액션 버튼 줄 */
#screen-assign .amb-final-choice .amb-fc-actions {
  display:flex; flex-wrap:wrap; gap:6px; justify-content:flex-end;
  padding-top:2px;
}
#screen-assign .amb-final-choice .amb-fc-btn {
  font-family:'S-CoreDream', sans-serif;
  font-size:11.5px; font-weight:700;
  padding:6px 12px; border-radius:7px;
  border:1px solid transparent;
  cursor:pointer;
  transition:all .15s ease;
  white-space:nowrap;
}
#screen-assign .amb-final-choice .amb-fc-btn-ghost {
  background:#fff; color:#78350F; border-color:#FDE68A;
}
#screen-assign .amb-final-choice .amb-fc-btn-ghost:hover {
  background:#FFFBEB; border-color:#F59E0B;
}
/* 카드 클릭 후 근거 패널로 주의 환기용 하이라이트 펄스 */
#screen-assign .amb-final-choice.amb-fc-flash {
  animation: ambFcFlash 1s ease-out;
}
@keyframes ambFcFlash {
  0%   { box-shadow:0 0 0 0 rgba(245,158,11,0.0); }
  30%  { box-shadow:0 0 0 6px rgba(245,158,11,0.35); }
  100% { box-shadow:0 0 0 0 rgba(245,158,11,0.0); }
}
@keyframes ambFcIn {
  from { opacity:0; transform:translateY(-4px); }
  to   { opacity:1; transform:translateY(0); }
}

#screen-assign .amb-head {
  display:flex; align-items:baseline; flex-wrap:wrap; gap:8px;
  margin-bottom:8px;
}
#screen-assign .amb-label {
  font-size:13px; font-weight:700; color:#1E293B;
  display:inline-flex; align-items:center; gap:4px;
}
#screen-assign .amb-optional {
  font-size:11px; font-weight:600; color:#94A3B8;
}
#screen-assign .amb-source-badge {
  display:inline-flex; align-items:center; gap:4px;
  font-size:11px; font-weight:700; letter-spacing:-0.2px;
  padding:2px 9px; border-radius:999px;
  border:1px solid transparent;
  transition:all 0.18s ease;
  cursor:help;
  user-select:none;
}
#screen-assign .amb-source-badge.amb-source-ai {
  color:#0E7490;
  background:linear-gradient(135deg, #ECFEFF 0%, #CFFAFE 100%);
  border-color:#A5F3FC;
  box-shadow:0 1px 2px rgba(6,182,212,0.12);
}
#screen-assign .amb-source-badge.amb-source-edited {
  color:#9A3412;
  background:linear-gradient(135deg, #FFF7ED 0%, #FFEDD5 100%);
  border-color:#FED7AA;
  box-shadow:0 1px 2px rgba(234,88,12,0.12);
}
#screen-assign .amb-source-badge.amb-source-manual {
  color:#6B21A8;
  background:linear-gradient(135deg, #FAF5FF 0%, #F3E8FF 100%);
  border-color:#E9D5FF;
  box-shadow:0 1px 2px rgba(147,51,234,0.12);
}
#screen-assign .amb-source-badge.amb-source-empty {
  color:#64748B;
  background:#F1F5F9;
  border-color:#E2E8F0;
}
#screen-assign .amb-hint {
  font-size:11.5px; color:#64748B; line-height:1.5;
  flex:1 1 100%;
}
#screen-assign .amb-textarea {
  width:100%; box-sizing:border-box;
  min-height:52px; resize:vertical;
  padding:9px 12px;
  border:1px solid #CBD5E1; border-radius:8px;
  background:#fff;
  font-family:'S-CoreDream',sans-serif;
  font-size:13px; line-height:1.6; color:#0F172A;
  outline:none;
  transition:border-color .15s, box-shadow .15s;
}
#screen-assign .amb-textarea:focus {
  border-color:#4338CA;
  box-shadow:0 0 0 2px rgba(99,102,241,0.18);
}
#screen-assign .amb-textarea::placeholder {
  color:#CBD5E1;
}
#screen-assign .amb-foot {
  display:flex; align-items:center; justify-content:space-between;
  margin-top:6px;
  font-size:11px; color:#94A3B8;
}
#screen-assign .amb-foot-left { font-style:italic; }
#screen-assign .amb-counter {
  font-variant-numeric:tabular-nums;
  color:#64748B; font-weight:600;
}

/* ========= 부서 배정결과 저장 바 (배치 모드 하단) =========
   담당자의 명시적 확정 액션. 카드·안내문은 생략하고 버튼만 노출 */
#screen-assign .assign-save-bar {
  margin-top:14px;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:10px 16px;
  background:linear-gradient(180deg,#FFFFFF,#F8FAFC);
  border:1px solid #E2E8F0; border-radius:10px;
}
#screen-assign .assign-save-bar .asb-hint {
  font-size:12px; color:#64748B; line-height:1.5;
}
#screen-assign .assign-save-bar .asb-save-btn {
  display:inline-flex; align-items:center; gap:6px;
  padding:10px 20px; border-radius:8px;
  border:1px solid #0F766E;
  background:linear-gradient(135deg,#14B8A6,#0D9488);
  color:#fff; font-family:'S-CoreDream',sans-serif;
  font-size:13px; font-weight:800; letter-spacing:.01em;
  cursor:pointer; box-shadow:0 2px 6px rgba(20,184,166,0.28);
  transition:all .15s;
  flex-shrink:0;
}
#screen-assign .assign-save-bar .asb-save-btn:hover:not(:disabled) {
  background:linear-gradient(135deg,#0D9488,#0F766E);
  box-shadow:0 3px 9px rgba(20,184,166,0.38);
  transform:translateY(-1px);
}
#screen-assign .assign-save-bar .asb-save-btn:active:not(:disabled) {
  transform:translateY(0);
}
#screen-assign .assign-save-bar .asb-save-btn:disabled {
  background:linear-gradient(135deg,#A7F3D0,#6EE7B7);
  border-color:#6EE7B7; color:#064E3B;
  cursor:default; box-shadow:none; opacity:0.95;
}

/* 시나리오 헤더 우측의 '배정 로그' 버튼 */
.assign-log-btn {
  display:inline-flex; align-items:center; gap:6px;
  padding:9px 15px; border-radius:8px;
  border:1px solid #D4DBE8; background:linear-gradient(135deg,#FFFFFF,#F4F6FA);
  color:#1242A0; font-family:'S-CoreDream',sans-serif;
  font-size:12px; font-weight:700;
  cursor:pointer; box-shadow:0 1px 3px rgba(0,0,0,0.06);
  transition:all .15s;
}
.assign-log-btn:hover {
  background:linear-gradient(135deg,#EBF0F9,#DCE6F6);
  border-color:#1242A0;
  box-shadow:0 2px 6px rgba(18,66,160,0.18);
}

/* ========= 배치 모드 · 선택 이력 로그 미리보기 카드 ========= */
/* 실제 부서 배정은 이 화면에서 일어나지 않음을 명확히 전달하기 위해
   "배정 확정" 워딩을 버리고, 기록될 내용을 먼저 보여준 뒤 원클릭 기록 */
.log-preview-card {
  margin-top:12px;
  background:linear-gradient(180deg,#FFFDF6,#FEF3C7);
  border:1px solid #FDE68A; border-radius:12px;
  box-shadow:0 2px 10px rgba(232,131,58,0.08);
  overflow:hidden;
}
.lpc-head {
  display:flex; align-items:flex-start; gap:10px;
  padding:12px 16px 8px 16px;
  border-bottom:1px dashed #FDE68A;
}
.lpc-head-icon {
  width:30px; height:30px; flex-shrink:0;
  display:inline-flex; align-items:center; justify-content:center;
  background:#fff; border:1px solid #FDE68A; border-radius:8px;
  font-size:16px;
}
.lpc-head-text { min-width:0; }
.lpc-head-title {
  font-size:13px; font-weight:800; color:#8B4513; letter-spacing:-.01em;
  margin-bottom:3px;
}
.lpc-head-sub {
  font-size:11.5px; color:#92400E; line-height:1.55;
}
.lpc-body {
  display:flex; flex-direction:column; gap:8px;
  padding:12px 16px;
  background:#fff;
}
.lpc-row {
  display:flex; align-items:center; flex-wrap:wrap;
  gap:8px; min-height:30px;
}
.lpc-label {
  flex-shrink:0;
  display:inline-block; min-width:64px;
  font-size:11.5px; font-weight:700; color:#64748B;
  letter-spacing:.02em;
}
.lpc-main-chip {
  display:inline-flex; align-items:center;
  padding:5px 12px; border-radius:999px;
  background:linear-gradient(135deg,#FFF4E6,#FFE4C4);
  border:1px solid #F4A261;
  color:#7A3E0F; font-size:13px; font-weight:800;
}
.lpc-ai-badge {
  display:inline-flex; align-items:center; gap:4px;
  padding:3px 9px; border-radius:999px;
  font-size:11px; font-weight:800; letter-spacing:.02em;
}
.lpc-ai-badge-top {
  background:#ECFDF5; color:#065F46; border:1px solid #A7F3D0;
}
.lpc-ai-badge-top::before { content:'✓ '; }
.lpc-ai-badge-alt {
  background:#FEF3C7; color:#78350F; border:1px solid #FCD34D;
}
/* 사용자가 조직도에서 주관부서를 직접 지정한 "수동 선택" 상태 */
.lpc-ai-badge-manual {
  background:#F5F3FF; color:#5B21B6; border:1px solid #C4B5FD;
}
/* 수동 선택 시 주관부서 칩 강조 — AI 추천과 시각적으로 구분 */
.lpc-main-chip-manual {
  background:linear-gradient(135deg,#F5F3FF,#E9D5FF) !important;
  border-color:#C4B5FD !important;
  color:#5B21B6 !important;
}
.lpc-edit-hint {
  margin-left:auto;
  font-size:10.5px; color:#94A3B8; font-style:italic;
}
/* 수동 override 상태일 때 편집 힌트 자리에 나타나는 'AI 추천으로 복귀' 버튼 */
.lpc-revert-btn {
  margin-left:auto;
  padding:3px 10px; border-radius:999px;
  background:#fff; border:1px solid #C4B5FD;
  color:#5B21B6; font-family:'S-CoreDream',sans-serif;
  font-size:10.5px; font-weight:700; letter-spacing:.01em;
  cursor:pointer; transition:all .15s;
}
.lpc-revert-btn:hover {
  background:#F5F3FF; border-color:#8B5CF6; color:#4C1D95;
  transform:translateY(-1px);
}
.lpc-chips {
  display:flex; flex-wrap:wrap; gap:5px; flex:1; min-width:0;
}
.lpc-collab-chip {
  display:inline-flex; align-items:center;
  padding:3px 9px; border-radius:999px;
  background:#F1F5F9; border:1px solid #E2E8F0;
  color:#334155; font-size:12px; font-weight:600;
}
.lpc-collab-empty {
  display:inline-flex; align-items:center;
  padding:3px 9px; border-radius:999px;
  background:#F8FAFC; border:1px dashed #CBD5E1;
  color:#94A3B8; font-size:11.5px; font-style:italic;
}
.lpc-count {
  flex-shrink:0;
  font-size:11.5px; color:#64748B; font-weight:700;
  padding:2px 8px; background:#F1F5F9; border-radius:6px;
}
.lpc-foot {
  display:flex; align-items:center; gap:12px;
  padding:10px 16px 12px 16px;
  background:#fff;
  border-top:1px dashed #FDE68A;
}
.lpc-foot-note {
  flex:1; min-width:0;
  display:flex; align-items:flex-start; gap:6px;
  font-size:11px; color:#64748B; line-height:1.5;
}
.lpc-foot-note b { color:#8B4513; font-weight:700; }
.lpc-foot-ico {
  flex-shrink:0;
  color:#F4A261; font-weight:800; font-size:12px;
}
.lpc-record-btn {
  flex-shrink:0;
  padding:10px 22px; border-radius:8px;
  background:linear-gradient(135deg,#E8833A,#5D3A1A); border:none;
  color:#fff; font-family:'S-CoreDream',sans-serif;
  font-size:13px; font-weight:800; letter-spacing:.02em;
  cursor:pointer; box-shadow:0 4px 14px rgba(232,131,58,0.35);
  transition:all .15s;
}
.lpc-record-btn:hover {
  filter:brightness(1.05); transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(232,131,58,0.42);
}
.lpc-record-btn:disabled {
  cursor:default; filter:grayscale(.2) brightness(1.05);
  transform:none; opacity:.9;
  background:linear-gradient(135deg,#10B981,#047857);
  box-shadow:0 4px 14px rgba(16,185,129,0.3);
}

/* ========= 배정 로그 조회 모달 ========= */
.assign-log-overlay {
  position:fixed; inset:0; z-index:9000;
  background:rgba(0,0,0,0.48);
  display:flex; align-items:center; justify-content:center;
  padding:28px;
}
.assign-log-modal {
  width:min(1100px, 96vw); max-height:88vh;
  background:#fff; border-radius:14px;
  display:flex; flex-direction:column;
  box-shadow:0 20px 60px rgba(0,0,0,0.28);
  overflow:hidden;
  font-family:'S-CoreDream',sans-serif;
}
.al-head {
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 18px;
  background:linear-gradient(135deg,#1A56C4,#0E358A);
  color:#fff;
}
.al-head-left { display:flex; align-items:center; gap:12px; }
.al-head-icon { font-size:22px; line-height:1; }
.al-head-title { font-size:14px; font-weight:700; letter-spacing:.02em; }
.al-head-sub { font-size:11px; opacity:.85; margin-top:2px; }
.al-head-sub #al-count-badge {
  display:inline-block; margin:0 2px; padding:1px 7px;
  border-radius:10px; background:rgba(255,255,255,.18);
  font-weight:700;
}
.al-close-btn {
  width:30px; height:30px;
  background:rgba(255,255,255,0.15); border:none;
  color:#fff; border-radius:7px; cursor:pointer;
  font-size:14px; font-weight:700;
  transition:background .15s;
}
.al-close-btn:hover { background:rgba(255,255,255,0.28); }

.al-toolbar {
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:11px 18px;
  border-bottom:1px solid #E2E8F0; background:#F8FAFC;
}
.al-filters { display:flex; align-items:center; gap:8px; flex:1; min-width:0; }
.al-search-input {
  flex:1; min-width:0; max-width:360px;
  padding:7px 12px; border-radius:7px;
  border:1px solid #CBD5E1; background:#fff;
  font-family:inherit; font-size:12px; color:#1E293B; outline:none;
  transition:border-color .15s, box-shadow .15s;
}
.al-search-input::placeholder { color:#94A3B8; }
.al-search-input:focus { border-color:#1242A0; box-shadow:0 0 0 3px rgba(18,66,160,.12); }
.al-select {
  padding:7px 10px; border-radius:7px;
  border:1px solid #CBD5E1; background:#fff;
  font-family:inherit; font-size:12px; color:#1E293B; cursor:pointer; outline:none;
}
.al-actions { display:flex; gap:6px; flex-shrink:0; }
.al-btn {
  padding:7px 14px; border-radius:7px;
  font-family:inherit; font-size:12px; font-weight:700;
  cursor:pointer; transition:all .15s;
  border:1px solid transparent;
}
.al-btn-ghost {
  background:#fff; border-color:#CBD5E1; color:#1242A0;
}
.al-btn-ghost:hover { background:#EBF0F9; border-color:#1242A0; }
.al-btn-danger {
  background:#fff; border-color:#FCA5A5; color:#B91C1C;
}
.al-btn-danger:hover { background:#FEF2F2; border-color:#F87171; }

.al-stats {
  display:flex; gap:10px; flex-wrap:wrap;
  padding:11px 18px; background:#fff;
  border-bottom:1px solid #F1F5F9;
}
.al-stat-empty {
  width:100%; padding:14px 10px;
  text-align:center; font-size:12px; color:#94A3B8;
  background:#F8FAFC; border:1px dashed #E2E8F0; border-radius:8px;
}
.al-stat-item {
  display:flex; align-items:center; gap:7px;
  padding:8px 14px; border-radius:8px;
  background:#F8FAFC; border:1px solid #E2E8F0;
}
.al-stat-num {
  font-size:18px; font-weight:900; color:#1E293B;
  font-family:'JetBrains Mono','Consolas',monospace;
}
.al-stat-num-accent { color:#1242A0; }
.al-stat-lbl { font-size:11px; color:#64748B; font-weight:600; }

.al-table-wrap {
  flex:1; overflow:auto;
  background:#fff;
}
.al-table {
  width:100%; border-collapse:separate; border-spacing:0;
  font-size:12px;
}
.al-table thead th {
  position:sticky; top:0; z-index:1;
  background:#F1F5F9; color:#334155;
  font-weight:700; font-size:11px;
  text-align:left; padding:9px 12px;
  border-bottom:2px solid #CBD5E1;
  white-space:nowrap;
}
.al-table tbody td {
  padding:9px 12px;
  border-bottom:1px solid #F1F5F9;
  color:#1E293B; vertical-align:top;
}
.al-table tbody tr:hover { background:#F8FAFC; }
.al-mono { font-family:'JetBrains Mono','Consolas',monospace; color:#475569; font-size:11.5px; }
.al-title {
  max-width:280px; overflow:hidden; text-overflow:ellipsis;
  white-space:nowrap;
}
.al-dept-selected { font-weight:700; }
.al-dept-match { color:#065F46; }
.al-dept-diff  { color:#B45309; }

.al-otag {
  display:inline-block; padding:2px 8px; border-radius:10px;
  font-size:10.5px; font-weight:700; white-space:nowrap;
}
.al-otag-ok { background:#D1FAE5; color:#065F46; border:1px solid #34D399; }
.al-otag-mid { background:#FEF3C7; color:#92400E; border:1px solid #F59E0B; }
.al-otag-warn { background:#FEE2E2; color:#991B1B; border:1px solid #F87171; }
.al-otag-ghost { background:#EBF0F9; color:#1242A0; border:1px solid #C7D2FE; }

.al-mtag {
  display:inline-block; padding:2px 7px; border-radius:10px;
  font-size:10px; font-weight:700; white-space:nowrap;
}
.al-mtag-batch    { background:#FDECDB; color:#8B4513; border:1px solid #F5E4D0; }
.al-mtag-instant  { background:#F1F5F9; color:#475569; border:1px solid #CBD5E1; }
.al-mtag-override { background:#FEF3C7; color:#92400E; border:1px solid #FCD34D; }

.al-empty {
  text-align:center; padding:32px 10px;
  color:#94A3B8; font-size:12px;
}

/* ========== 조직도 조회 — 타부처 이관 검토 대기 상태 ==========
   · JURISDICTION_CROSS triggered 민원에서 '농식품부 내 처리'를 아직 선택하지 않은 경우
   · orgtree-sidebar-results 컨테이너에 .org-transfer-pending 이 부여됨
   · 주관·협조 버튼은 JS 에서 아예 렌더하지 않으며, 결과 아이템도 약화 톤으로 표기 */
.org-transfer-pending-notice {
  display:flex; align-items:flex-start; gap:8px;
  padding:10px 12px;
  border-radius:8px;
  background:linear-gradient(135deg,#FEF3C7,#FDE68A);
  border:1px solid #F59E0B;
  font-family:'S-CoreDream', sans-serif;
}
.org-transfer-pending-notice .otpn-icon {
  flex-shrink:0;
  width:22px; height:22px; border-radius:50%;
  background:#B45309; color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:12px; font-weight:800;
}
.org-transfer-pending-notice .otpn-body { flex:1; min-width:0; }
.org-transfer-pending-notice .otpn-title {
  font-size:11.5px; font-weight:800; color:#78350F;
  letter-spacing:.02em;
  margin-bottom:2px;
}
.org-transfer-pending-notice .otpn-desc {
  font-size:11px; font-weight:600; color:#92400E;
  line-height:1.55;
}
.org-transfer-pending-notice .otpn-desc b {
  font-weight:800; color:#78350F;
}
/* 대기 상태 — 검색창·필터 버튼 비활성화 (다부처 조회의 .mm-internal-mode 와 일관) */
.ai-card.org-transfer-pending #orgtree-sidebar-search,
.ai-card.org-transfer-pending [id^="sbf-"] {
  background:#F3F4F6;
  border-color:#D1D5DB;
  color:#9CA3AF;
  cursor:not-allowed;
  pointer-events:none;
}
.ai-card.org-transfer-pending [id^="sbf-"].active-orgtree-filter {
  background:#E5E7EB;
  color:#9CA3AF;
}
/* 대기 상태에서는 결과 영역 자체가 안내 배너만 렌더하므로 약화 톤 스타일은 불필요 */

/* ========== 조직도 조회 결과 — 이미 지정된 부서 시각 표시 ========== */
/* 주관부서로 이미 지정 → 좌측 보라 띠 + 옅은 보라 배경 */
.orgtree-result-item.org-is-main {
  background:linear-gradient(90deg,#F5F3FF 0%, #FDFDFE 60%) !important;
  border-color:#C4B5FD !important;
  box-shadow:inset 3px 0 0 0 #8B5CF6;
}
.orgtree-result-item.org-is-main:hover {
  background:linear-gradient(90deg,#EDE9FE 0%, #FDFDFE 60%) !important;
  border-color:#A78BFA !important;
}
/* 협조부서로 이미 추가 → 좌측 파랑 띠 + 옅은 파랑 배경 */
.orgtree-result-item.org-is-collab {
  background:linear-gradient(90deg,#EBF0F9 0%, #FDFDFE 60%) !important;
  border-color:#B8CBE8 !important;
  box-shadow:inset 3px 0 0 0 #1242A0;
}
.orgtree-result-item.org-is-collab:hover {
  background:linear-gradient(90deg,#DBE4F4 0%, #FDFDFE 60%) !important;
  border-color:#93B0DC !important;
}

/* 상태 뱃지 — 부서명 오른쪽에 인라인 표시 */
.org-state-badge {
  display:inline-block;
  padding:1px 7px;
  border-radius:999px;
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.02em;
  white-space:nowrap;
  line-height:1.4;
}
.org-state-main {
  background:#F5F3FF;
  color:#5B21B6;
  border:1px solid #C4B5FD;
}
.org-state-collab {
  background:#EBF0F9;
  color:#1242A0;
  border:1px solid #B8CBE8;
}

/* 비활성 버튼 — 이미 같은 역할로 배정된 경우 */
.org-dept-btn.is-assigned {
  opacity:.72;
  filter:grayscale(.1);
  box-shadow:inset 0 0 0 1px currentColor;
}
.org-dept-btn.is-assigned:hover {
  transform:none;
  filter:grayscale(.1);
}
/* 블록된 버튼 — 역할 충돌로 눌러도 동작 금지 */
.org-dept-btn.is-blocked {
  opacity:.42;
  filter:grayscale(.4);
  text-decoration:line-through;
  text-decoration-thickness:1px;
  text-decoration-color:rgba(0,0,0,0.35);
}
.org-dept-btn.is-blocked:hover {
  transform:none;
  filter:grayscale(.4);
}

/* ========== 협조부서 — AI 추천 근거 펼침/접힘 ========== */
/* 기존 .collab-item 은 display:flex;align-items:center (common.css) 이므로,
   근거 패널을 품기 위해 세로 방향 컨테이너로 오버라이드한다. */
.collab-item.collab-item-with-reason {
  flex-direction:column !important;
  align-items:stretch !important;
  gap:0 !important;
  padding:0 !important;
  overflow:hidden;
}
.collab-item.collab-item-with-reason .collab-row {
  display:flex; align-items:center; gap:8px;
  padding:9px 11px;
}

/* [ⓘ 근거 ▼] 토글 버튼 */
.collab-reason-toggle {
  flex-shrink:0;
  padding:2px 9px; border-radius:6px;
  border:1px solid #FCD34D; background:#FFFBEB;
  color:#92400E; font-size:11px; font-weight:700;
  cursor:pointer; font-family:'S-CoreDream',sans-serif;
  white-space:nowrap;
  display:inline-flex; align-items:center; gap:3px;
  transition:all .15s;
}
.collab-reason-toggle:hover { background:#FEF3C7; border-color:#F59E0B; }
.collab-reason-toggle[aria-expanded="true"] {
  background:#FEF3C7; border-color:#F59E0B;
}
.collab-reason-toggle .crt-arrow {
  font-size:9px; display:inline-block; transition:transform .2s;
  color:#B45309;
}
/* 사용자 수동 추가 부서 — 회색 톤으로 구분 (AI 근거 미포함) */
.collab-reason-toggle-manual {
  border-color:#CBD5E1 !important;
  background:#F8FAFC !important;
  color:#475569 !important;
}
.collab-reason-toggle-manual:hover {
  background:#F1F5F9 !important;
  border-color:#94A3B8 !important;
}
.collab-reason-toggle-manual .crt-arrow { color:#64748B; }

/* 펼침 근거 패널 — 기본 접힘, .open 시 노출 */
.collab-reason-panel {
  display:none;
  padding:10px 11px 11px 11px;
  border-top:1px dashed #E2E8F0;
  background:linear-gradient(180deg,#FEFCF7,#FFFBEB);
  animation:collabReasonFade .18s ease-out;
}
.collab-reason-panel.open { display:block; }
@keyframes collabReasonFade {
  from { opacity:0; transform:translateY(-4px); }
  to   { opacity:1; transform:translateY(0); }
}
/* 패널 헤더 — 이 부서에 대한 근거임을 명시 */
.crp-header {
  display:inline-block;
  padding:3px 10px; margin-bottom:8px;
  background:#FDECDB; color:#8B4513;
  font-size:11px; font-weight:800; letter-spacing:.01em;
  border-radius:10px; border:1px solid #F5E4D0;
}
.crp-header-manual {
  background:#F1F5F9; color:#475569; border-color:#CBD5E1;
}
/* 협조부서 근거 패널 내부의 reason-row 는 주관부서 대비 컴팩트 */
.collab-reason-panel .reason-row {
  display:flex; align-items:flex-start; gap:8px;
  padding:5px 0;
  border-bottom:1px dotted #E2E8F0;
}
.collab-reason-panel .reason-row:last-child { border-bottom:none; }
.collab-reason-panel .reason-label {
  flex-shrink:0;
  min-width:76px;
  display:inline-block; padding:2px 7px;
  background:#FFF; border:1px solid #FCD34D;
  color:#92400E; font-size:10.5px; font-weight:700;
  border-radius:4px; text-align:center;
  letter-spacing:.01em;
}
.collab-reason-panel .reason-text {
  flex:1; font-size:12px; line-height:1.6;
  color:#334155;
}

/* ===== "종합적 판단" — 구조화된 근거 블록 ===== */
/* reason-text 내부에서 span 중첩으로 구성되므로 display:block 처리로 레이아웃화 */
.rt-rich { display:block; }
.rt-head {
  display:flex; flex-wrap:wrap; align-items:center; gap:6px;
  margin-bottom:8px;
  padding:6px 10px;
  background:linear-gradient(135deg,#EEF2FF,#E0E7FF);
  border:1px solid #C7D2FE; border-radius:8px;
}
.rt-score {
  display:inline-flex; align-items:center; gap:4px;
  padding:3px 10px; border-radius:12px;
  background:#4338CA; color:#fff;
  font-size:12px; font-weight:800; letter-spacing:.01em;
}
.rt-delta {
  display:inline-flex; align-items:center;
  padding:2px 9px; border-radius:10px;
  background:#DCFCE7; color:#166534;
  border:1px solid #BBF7D0;
  font-size:11px; font-weight:700;
}
.rt-delta.rt-delta-neg {
  background:#FEF3C7; color:#92400E; border-color:#FDE68A;
}
.rt-conf {
  display:inline-flex; align-items:center;
  padding:2px 9px; border-radius:10px;
  background:#fff; color:#3730A3;
  border:1px solid #C7D2FE;
  font-size:11px; font-weight:700;
}
.rt-break {
  display:grid; grid-template-columns:1fr;
  gap:4px; margin-bottom:8px;
}
.rt-item {
  display:block;
  padding:5px 9px;
  background:#F8FAFC;
  border-left:3px solid #818CF8;
  border-radius:0 6px 6px 0;
  font-size:12.5px; line-height:1.55; color:#1E293B;
}
.rt-item b { color:#3730A3; font-weight:800; }
.rt-foot {
  display:flex; flex-direction:column; gap:4px;
  padding-top:6px; margin-top:2px;
  border-top:1px dashed #CBD5E1;
}
.rt-retrigger {
  display:block;
  padding:5px 9px; border-radius:6px;
  background:#FFFBEB; border:1px solid #FDE68A;
  color:#92400E; font-size:12px; line-height:1.55;
}
.rt-retrigger b { color:#78350F; font-weight:800; }
.rt-conclusion {
  display:block;
  padding:5px 9px; border-radius:6px;
  background:#F0FDF4; border:1px solid #BBF7D0;
  color:#166534; font-size:12.5px; line-height:1.55; font-weight:600;
}
.rt-conclusion b { color:#065F46; font-weight:800; }

/* ===== 자연어 종합 판단 — 법령·사례·국회자료를 서술형으로 종합 ===== */
.rt-natural {
  display:block;
  padding:2px 0;
}
.rt-natural .rtn-para {
  display:block;
  margin:0 0 9px 0;
  padding:0;
  font-size:12.8px;
  line-height:1.72;
  color:#1F2937;
  text-align:justify;
  letter-spacing:-0.1px;
  word-break:keep-all;
}
.rt-natural .rtn-para:last-child { margin-bottom:0; }
.rt-natural .rtn-para b { color:#1E3A8A; font-weight:700; }
.rt-natural .rtn-para.rtn-conclusion {
  margin-top:10px;
  padding:9px 12px 9px 14px;
  background:linear-gradient(135deg, #F0FDF4 0%, #DCFCE7 100%);
  border:1px solid #BBF7D0;
  border-left:3px solid #16A34A;
  border-radius:7px;
  color:#14532D;
  font-weight:500;
  box-shadow:0 1px 2px rgba(22,163,74,0.08);
}
.rt-natural .rtn-para.rtn-conclusion b {
  color:#065F46;
  font-weight:800;
  margin-right:2px;
}

/* =========================================================================
 * 타부처 이관 검토 배너 (#transfer-banner)
 *   · 법령 소관 교차 감지 시 노출. 기본은 보이지만 JS가 triggered=false 이면 숨김.
 *   · 앰버 톤 + 좌측 굵은 테두리로 주의 환기, 본문/메타/버튼을 수평 배치.
 * ========================================================================= */
.transfer-banner {
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:11px 14px 11px 12px;
  margin:0 0 12px 0;
  background:linear-gradient(135deg, #FFFBEB 0%, #FEF3C7 60%, #FDE68A 100%);
  border:1px solid #FCD34D;
  border-left:4px solid #D97706;
  border-radius:10px;
  box-shadow:0 2px 6px rgba(217,119,6,0.12), inset 0 1px 0 rgba(255,255,255,0.6);
  transition:opacity .25s ease, transform .25s ease;
}
.transfer-banner.tb-hidden { display:none; }
.transfer-banner.tb-dismissed { opacity:0; transform:translateY(-4px); }

.transfer-banner .tb-head {
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.transfer-banner .tb-icon {
  flex-shrink:0;
  width:32px; height:32px;
  border-radius:8px;
  background:#FFFFFF;
  border:1px solid #FCD34D;
  color:#B45309;
  font-size:15px; font-weight:800;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 1px 2px rgba(180,83,9,0.15);
}
.transfer-banner .tb-body { flex:1; min-width:0; }
.transfer-banner .tb-title {
  font-size:13px; font-weight:800; color:#78350F;
  display:flex; align-items:center; gap:7px; flex-wrap:wrap;
  line-height:1.4;
}
.transfer-banner .tb-title b { color:#92400E; }
.transfer-banner .tb-badge {
  font-size:10px; font-weight:700;
  padding:1px 7px; border-radius:9px;
  background:#FEF3C7; color:#92400E;
  border:1px solid #F59E0B;
}
.transfer-banner .tb-sub {
  font-size:11.5px; color:#78350F;
  line-height:1.55; margin-top:3px;
  letter-spacing:-0.1px; word-break:keep-all;
}
.transfer-banner .tb-meta {
  display:flex; align-items:center; flex-wrap:wrap;
  gap:6px 10px; margin-top:7px;
  font-size:11px; color:#92400E;
}
.transfer-banner .tb-law-chip {
  display:inline-flex; align-items:center; gap:5px;
  padding:2px 8px; border-radius:10px;
  background:#ECFDF5; color:#065F46;
  border:1px solid #A7F3D0;
  font-size:10.5px; font-weight:600;
}
.transfer-banner .tb-law-chip b { color:#047857; font-weight:800; }
.transfer-banner .tb-meta-divider { color:#FCD34D; font-weight:700; }
.transfer-banner .tb-meta-num { color:#78350F; }
.transfer-banner .tb-meta-num b { color:#B45309; font-weight:800; }

/* ================================================================
   타부처 이관 배너 — AI 추천 타부처 후보 카드 (1/2/3순위)
   · 법령 소관 교차 감지 민원에서 배너 상단에 노출
   · 카드 클릭 시 pickTransferCandidate() → 이관 모달 프리필 진입
   · 호박색(amber) 계열로 경고/이관 톤 유지하되, 내부 순위별 강약 차등
   ================================================================ */
.transfer-banner .tb-transfer-candidates {
  display:flex; flex-direction:column; gap:6px;
  margin-top:10px; padding-top:10px;
  border-top:1px dashed rgba(217,119,6,0.28);
}
.transfer-banner .tb-cand-head {
  font-size:11.5px; font-weight:800; color:#92400E;
  letter-spacing:.02em;
  display:flex; align-items:center; gap:6px;
  margin-bottom:2px;
}
.transfer-banner .tb-cand-head .tb-cand-hint {
  font-size:11px; font-weight:600; color:#B45309; opacity:.8;
}
.transfer-banner .tb-cand-row {
  display:flex; align-items:center; gap:10px;
  padding:9px 12px; border-radius:8px;
  background:rgba(255,255,255,0.6);
  border:1px solid rgba(251,191,36,0.45);
  cursor:pointer;
  transition: transform .12s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
  font-family:'S-CoreDream',sans-serif;
  outline:none;
}
.transfer-banner .tb-cand-row:hover,
.transfer-banner .tb-cand-row:focus-visible {
  background:#fff;
  border-color:#F59E0B;
  box-shadow:0 2px 10px rgba(245,158,11,0.22);
  transform:translateY(-1px);
}
.transfer-banner .tb-cand-row:focus-visible {
  box-shadow:0 0 0 3px rgba(245,158,11,0.30);
}
.transfer-banner .tb-cand-rank {
  flex-shrink:0;
  font-size:10.5px; font-weight:800; letter-spacing:.02em;
  padding:3px 9px; border-radius:6px; color:#fff;
  white-space:nowrap;
  min-width:48px; text-align:center;
}
.transfer-banner .tb-cand-rank.r1 {
  background:linear-gradient(135deg,#F59E0B 0%,#B45309 100%);
  box-shadow:0 1px 3px rgba(180,83,9,0.35);
}
.transfer-banner .tb-cand-rank.r2 {
  background:linear-gradient(135deg,#A8A29E 0%,#78716C 100%);
}
.transfer-banner .tb-cand-rank.r3 {
  background:linear-gradient(135deg,#D6D3D1 0%,#A8A29E 100%);
  color:#44403C;
}
.transfer-banner .tb-cand-body {
  flex:1; min-width:0;
  display:flex; flex-direction:column; gap:2px;
}
.transfer-banner .tb-cand-name {
  font-size:13px; font-weight:700; color:#1F2937;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.transfer-banner .tb-cand-sub {
  font-size:11px; font-weight:500; color:#78716C;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.transfer-banner .tb-cand-cta {
  flex-shrink:0;
  font-size:11px; font-weight:700; color:#92400E;
  white-space:nowrap;
  opacity:.85;
}
.transfer-banner .tb-cand-row:hover .tb-cand-cta,
.transfer-banner .tb-cand-row:focus-visible .tb-cand-cta {
  opacity:1; color:#78350F;
}
/* 축소(compact) 모드에서는 후보 카드도 숨김 (농식품부 내 처리 선택 시) */
.transfer-banner.tb-compact .tb-transfer-candidates { display:none !important; }

.transfer-banner .tb-actions {
  display:flex; flex-wrap:wrap; gap:6px;
  align-items:center;
  padding-top:6px;
  border-top:1px dashed rgba(217,119,6,0.28);
}
.transfer-banner .tb-actions-spacer { flex:1; }
.transfer-banner .tb-btn {
  font-family:'S-CoreDream', sans-serif;
  font-size:11.5px; font-weight:700;
  padding:6px 12px; border-radius:7px;
  cursor:pointer;
  white-space:nowrap;
  transition:all .15s;
  display:inline-flex; align-items:center; gap:4px;
}
.transfer-banner .tb-btn-toggle {
  background:#FFFFFF; color:#78350F;
  border:1px solid #FCD34D;
}
.transfer-banner .tb-btn-toggle:hover {
  background:#FEF3C7; border-color:#F59E0B;
}
.transfer-banner .tb-btn-toggle.is-open {
  background:#FEF3C7; border-color:#F59E0B; color:#92400E;
}
.transfer-banner .tb-toggle-caret {
  font-size:10px; line-height:1;
}
.transfer-banner .tb-btn-ghost {
  background:#FFFFFF; color:#92400E;
  border:1px solid #FCD34D;
}
.transfer-banner .tb-btn-ghost:hover {
  background:#FEF3C7; border-color:#F59E0B;
}
.transfer-banner .tb-btn-success {
  background:linear-gradient(135deg, #10B981, #047857);
  color:#fff; border:none;
  box-shadow:0 2px 6px rgba(4,120,87,0.28);
}
.transfer-banner .tb-btn-success:hover {
  box-shadow:0 3px 10px rgba(4,120,87,0.4);
  transform:translateY(-1px);
}
.transfer-banner .tb-btn-primary {
  background:linear-gradient(135deg, #F59E0B, #B45309);
  color:#fff; border:none;
  box-shadow:0 2px 6px rgba(180,83,9,0.3);
}
.transfer-banner .tb-btn-primary:hover {
  box-shadow:0 3px 10px rgba(180,83,9,0.4);
  transform:translateY(-1px);
}

/* ----- 근거 상세 패널 ----- */
.transfer-banner .tb-details {
  background:#FFFFFF;
  border:1px solid #FCD34D;
  border-radius:8px;
  padding:10px 12px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.8);
}
.transfer-banner .tb-details[hidden] { display:none; }
.transfer-banner .tb-details-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
@media (min-width:1280px) {
  .transfer-banner .tb-details-grid {
    grid-template-columns:1fr 1fr;
  }
}
.transfer-banner .tb-details-section {
  background:#FFFBEB;
  border:1px solid #FDE68A;
  border-radius:7px;
  padding:8px 10px;
}
.transfer-banner .tb-details-title {
  font-size:11.5px; font-weight:800;
  color:#92400E;
  margin-bottom:6px;
  letter-spacing:-0.1px;
}
.transfer-banner .tb-empty {
  font-size:11px; color:#92400E;
  padding:6px 4px;
}

/* 법령별 소관 분석 */
.transfer-banner .tb-law-list {
  display:flex; flex-direction:column; gap:6px;
}
.transfer-banner .tb-law-row {
  background:#FFFFFF;
  border:1px solid #FDE68A;
  border-radius:6px;
  padding:6px 8px;
}
.transfer-banner .tb-law-row.is-ext { border-left:3px solid #D97706; }
.transfer-banner .tb-law-row.is-mafra { border-left:3px solid #10B981; }
.transfer-banner .tb-law-row-head {
  display:flex; flex-wrap:wrap; align-items:center; gap:5px;
  font-size:11px;
}
.transfer-banner .tb-law-cite {
  font-weight:800; color:#1F2937;
}
.transfer-banner .tb-law-arrow { color:#9CA3AF; }
.transfer-banner .tb-law-ministry {
  font-weight:700; padding:1px 7px; border-radius:9px;
  font-size:10.5px;
}
.transfer-banner .tb-law-ministry.m-ext {
  background:#FEF3C7; color:#92400E; border:1px solid #FCD34D;
}
.transfer-banner .tb-law-ministry.m-mafra {
  background:#ECFDF5; color:#047857; border:1px solid #A7F3D0;
}
.transfer-banner .tb-law-verdict {
  font-size:10px; font-weight:700;
  padding:1px 6px; border-radius:8px;
  margin-left:auto;
}
.transfer-banner .tb-verdict-main {
  background:#FEE2E2; color:#991B1B; border:1px solid #FCA5A5;
}
.transfer-banner .tb-verdict-sub {
  background:#E0E7FF; color:#3730A3; border:1px solid #A5B4FC;
}
.transfer-banner .tb-law-reason {
  font-size:11px; color:#4B5563;
  line-height:1.55; margin-top:4px;
  letter-spacing:-0.1px; word-break:keep-all;
}

/* 과거 유사 사례 */
.transfer-banner .tb-case-list {
  display:flex; flex-direction:column; gap:5px;
}
.transfer-banner .tb-case-item {
  background:#FFFFFF;
  border:1px solid #FDE68A;
  border-left:3px solid #F59E0B;
  border-radius:6px;
  padding:6px 8px;
}
.transfer-banner .tb-case-head {
  display:flex; align-items:center; gap:6px; flex-wrap:wrap;
  font-size:10.5px;
}
.transfer-banner .tb-case-id {
  font-weight:800; color:#B45309;
  background:#FEF3C7; border:1px solid #FCD34D;
  padding:1px 6px; border-radius:8px;
}
.transfer-banner .tb-case-date { color:#92400E; }
.transfer-banner .tb-case-result {
  margin-left:auto;
  font-weight:700; color:#065F46;
  background:#ECFDF5; border:1px solid #A7F3D0;
  padding:1px 7px; border-radius:8px;
}
.transfer-banner .tb-case-title {
  font-size:11.5px; font-weight:700;
  color:#1F2937; margin-top:3px;
  letter-spacing:-0.1px;
}
.transfer-banner .tb-case-handled {
  font-size:10.5px; color:#4B5563; margin-top:2px;
}
.transfer-banner .tb-case-handled b { color:#111827; }

/* =========================================================================
 * 배너 축소(요약) 모드 — '농식품부 내 처리' 선택 시 한 줄로 접힘.
 * ----------------------------------------------------------------------- */
.transfer-banner .tb-compact-line {
  display:none;
  align-items:center; gap:10px;
  padding:2px 4px;
}
.transfer-banner.tb-compact {
  padding:10px 14px;
  gap:0;
  background:linear-gradient(180deg, #FFFBEB 0%, #FEF3C7 100%);
}
.transfer-banner.tb-compact .tb-head,
.transfer-banner.tb-compact .tb-details,
.transfer-banner.tb-compact .tb-actions { display:none !important; }
.transfer-banner.tb-compact .tb-compact-line { display:flex; }

.transfer-banner .tb-compact-line .tb-compact-icon {
  width:22px; height:22px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:#F59E0B; color:#FFFFFF;
  font-size:12px; font-weight:800;
  flex-shrink:0;
}
.transfer-banner .tb-compact-line .tb-compact-text {
  flex:1;
  font-size:12px;
  color:#78350F;
  letter-spacing:-0.1px;
  line-height:1.5;
  word-break:keep-all;
}
.transfer-banner .tb-compact-line .tb-compact-text b {
  color:#B45309; font-weight:800;
}
.transfer-banner .tb-compact-line .tb-compact-restore {
  font-family:'S-CoreDream', sans-serif;
  font-size:11px; font-weight:700;
  padding:4px 10px; border-radius:6px;
  background:#FFFFFF; color:#B45309;
  border:1px solid #FCD34D;
  cursor:pointer;
  white-space:nowrap;
  transition:all .15s;
  flex-shrink:0;
}
.transfer-banner .tb-compact-line .tb-compact-restore:hover {
  background:#FEF3C7;
  border-color:#F59E0B;
  transform:translateY(-1px);
}

/* =========================================================================
 * 배너 활성 시 AI 후보 카드 임시 숨김 + 복귀 시 그룹 플래시.
 * ----------------------------------------------------------------------- */
/* 타부처 이관 배너가 활성화된 민원에서는 판단이 확정되기 전까지 아래 세 섹션을 감춰
   이관/농식품부 내 처리 판단에 집중하도록 한다. '농식품부 내 처리' 클릭 시 일괄 노출. */
#candidates-horizontal.tb-hidden-when-transfer,
#classify-reason-panel.tb-hidden-when-transfer,
#collab-dept-section.tb-hidden-when-transfer { display:none; }

/* =========================================================================
 * AI 배정 후보 카드 행 — 메인 콘텐츠 스크롤 시 상단 sticky 고정.
 *   · .main-content 가 overflow-y:auto 스크롤 컨테이너 → 그 안에서 sticky 동작
 *   · 사용자가 근거/과거사례/답변 작성 영역까지 내려가도 1/2/3순위 카드가 상단에
 *     항상 노출되어, 후보 전환 및 "어떤 부서를 보고 있는지" 맥락이 유지됨
 *   · 메인 배경(#FBF7F2)과 동일한 배경 + 하단 soft shadow 로 하단 콘텐츠와 분리
 *   · tb-hidden-when-transfer (타부처 이관 배너 활성 상태)일 때는 display:none 유지
 * ----------------------------------------------------------------------- */
#candidates-horizontal {
  position:sticky;
  top:0;
  z-index:20;
  background:#FBF7F2;
  padding:6px 0 10px;
  box-shadow:0 6px 10px -6px rgba(139,69,19,0.14);
}

@keyframes tb-cand-flash {
  0%   { box-shadow:0 0 0 0 rgba(16,185,129,0.5); }
  50%  { box-shadow:0 0 0 6px rgba(16,185,129,0.14); }
  100% { box-shadow:0 0 0 0 rgba(16,185,129,0); }
}
#candidates-horizontal.tb-cand-flash {
  border-radius:10px;
  animation:tb-cand-flash 1.3s ease-out 1;
}

/* ---- AI 카드 접기/펴기 (모달·기타 영역에서 공통 클래스 사용) ---- */
.ai-card-toggle-header:hover .ai-card-caret { color:#334155; }
.ai-card-toggle-header:focus-visible {
  outline:2px solid #C7D2FE; outline-offset:-2px; border-radius:6px;
}
.ai-card-caret {
  margin-left:auto;
  display:inline-block;
  color:#64748B; font-size:12px; line-height:1;
  padding:2px 4px;
  transition:transform .2s ease, color .12s;
}
.ai-card.is-collapsed .ai-card-caret { transform:rotate(-90deg); }
.ai-card.is-collapsed > .ai-card-body { display:none; }

/* =========================================================================
 * 다부처 조회 카드 (.mm-card) — 이관 모달 등에서 재사용 가능
 * ========================================================================= */
.mm-card { position:relative; }
.mm-card .mm-subtitle {
  font-size:10px; font-weight:600;
  color:#92400E;
  padding:2px 7px; border-radius:9px;
  background:#FEF3C7; border:1px solid #FCD34D;
  white-space:nowrap;
}
.mm-card .mm-search { position:relative; }
.mm-card .mm-search-input {
  width:100%; box-sizing:border-box;
  padding:8px 12px;
  border-radius:8px;
  border:1px solid #FCD34D;
  font-family:'S-CoreDream', sans-serif;
  font-size:12px; color:var(--text-primary);
  background:#fff;
  outline:none;
  transition:border-color .15s;
}
.mm-card .mm-search-input:focus { border-color:#D97706; }
.mm-card .mm-results {
  display:flex; flex-direction:column; gap:6px;
  max-height:280px; overflow-y:auto;
}
.mm-card .mm-item {
  padding:8px 10px;
  border-radius:8px;
  border:1px solid #E5E7EB;
  background:#fff;
  transition:all .12s;
}
.mm-card .mm-item:hover {
  border-color:#FCD34D;
  background:linear-gradient(135deg, #FFFBEB, #FEF3C7);
  box-shadow:0 1px 4px rgba(217,119,6,0.1);
}
/* 현재 이관 대상으로 선택된 부처 항목 — 조직도 조회 선택과 유사한 시각 강조.
   동일 부처의 여러 법령 행이 있으면 모두 selected-mm 상태로 표시된다. */
.mm-card .mm-item.selected-mm {
  border-color:#B45309;
  background:linear-gradient(135deg, #FDE68A, #FCD34D);
  box-shadow:0 2px 8px rgba(180,83,9,0.22), inset 0 0 0 1px rgba(180,83,9,0.08);
  position:relative;
}
.mm-card .mm-item.selected-mm::before {
  content:'';
  position:absolute; left:0; top:0; bottom:0; width:3px;
  background:linear-gradient(180deg,#F59E0B,#B45309);
  border-radius:8px 0 0 8px;
}
.mm-card .mm-item.selected-mm .mm-item-prior { color:#78350F; }
.mm-card .mm-item.selected-mm .mm-item-prior b { color:#B45309; }
/* "선택됨" 플래그는 평상시 숨김, selected-mm 상태에서만 표시 */
.mm-card .mm-item-selected-flag {
  display:none;
  font-size:10px; font-weight:800; letter-spacing:.02em;
  padding:1px 7px; border-radius:6px;
  background:#B45309; color:#fff;
  white-space:nowrap;
  margin-left:auto; /* 헤드 우측으로 정렬 */
}
.mm-card .mm-item.selected-mm .mm-item-selected-flag {
  display:inline-block;
}
/* 선택된 항목의 이관 버튼은 "선택 해제" 톤으로 약하게 (현재는 단순 강조) */
.mm-card .mm-item.selected-mm .mm-transfer-btn {
  background:#fff; color:#B45309; border-color:#B45309;
}
.mm-card .mm-item.selected-mm .mm-transfer-btn:hover {
  background:linear-gradient(135deg,#B45309,#92400E);
  color:#fff;
}
.mm-card .mm-item-head {
  display:flex; align-items:center; gap:6px;
  flex-wrap:wrap; margin-bottom:3px;
}
/* 부처명 — 조직도 조회 부서명(12px/700/#1A1A1A)과 동일한 톤으로 통일.
   뱃지 느낌을 걷어내고 왼쪽에 부처 구분용 색상 도트만 남긴다. */
.mm-card .mm-ministry-name {
  font-size:12px; font-weight:700; color:#1A1A1A;
  line-height:1.4;
  word-break:keep-all;
}
.mm-card .mm-ministry-dot {
  width:8px; height:8px;
  border-radius:50%;
  flex-shrink:0;
  display:inline-block;
  box-shadow:0 0 0 1px rgba(15,23,42,.08) inset;
}
/* 부(部) */
.mm-ministry-dot.b-moef  { background:#4338CA; } /* 기획재정부 */
.mm-ministry-dot.b-moe   { background:#0F766E; } /* 교육부 */
.mm-ministry-dot.b-msit  { background:#7C3AED; } /* 과학기술정보통신부 */
.mm-ministry-dot.b-mofa  { background:#1E40AF; } /* 외교부 */
.mm-ministry-dot.b-mou   { background:#2563EB; } /* 통일부 */
.mm-ministry-dot.b-moj   { background:#7F1D1D; } /* 법무부 */
.mm-ministry-dot.b-mnd   { background:#365314; } /* 국방부 */
.mm-ministry-dot.b-mois  { background:#B45309; } /* 행정안전부 */
.mm-ministry-dot.b-mpva  { background:#991B1B; } /* 국가보훈부 */
.mm-ministry-dot.b-mcst  { background:#9333EA; } /* 문화체육관광부 */
.mm-ministry-dot.b-motie { background:#C2410C; } /* 산업통상자원부 */
.mm-ministry-dot.b-mohw  { background:#15803D; } /* 보건복지부 */
.mm-ministry-dot.b-me    { background:#166534; } /* 환경부 */
.mm-ministry-dot.b-moel  { background:#0369A1; } /* 고용노동부 */
.mm-ministry-dot.b-mogef { background:#DB2777; } /* 여성가족부 */
.mm-ministry-dot.b-molit { background:#1D4ED8; } /* 국토교통부 */
.mm-ministry-dot.b-mof   { background:#0E7490; } /* 해양수산부 */
.mm-ministry-dot.b-mss   { background:#EA580C; } /* 중소벤처기업부 */
/* 처(處) / 실 */
.mm-ministry-dot.b-opm   { background:#475569; } /* 국무조정실 */
.mm-ministry-dot.b-mpm   { background:#64748B; } /* 인사혁신처 */
.mm-ministry-dot.b-moleg { background:#334155; } /* 법제처 */
.mm-ministry-dot.b-mfds  { background:#047857; } /* 식품의약품안전처 */
/* 위원회 */
.mm-ministry-dot.b-kftc  { background:#0891B2; } /* 공정거래위원회 */
.mm-ministry-dot.b-fsc   { background:#312E81; } /* 금융위원회 */
.mm-ministry-dot.b-acrc  { background:#6B7280; } /* 국민권익위원회 */
.mm-ministry-dot.b-kcc   { background:#6D28D9; } /* 방송통신위원회 */
.mm-ministry-dot.b-pipc  { background:#4F46E5; } /* 개인정보보호위원회 */
.mm-ministry-dot.b-nssc  { background:#CA8A04; } /* 원자력안전위원회 */
/* 기타 폴백 */
.mm-ministry-dot.b-local { background:#92400E; }
.mm-ministry-dot.b-other { background:#78716C; }
.mm-card .mm-item-actions {
  display:flex; align-items:center; gap:5px;
  justify-content:flex-end;
}
.mm-card .mm-item-prior {
  flex:1;
  font-size:10.5px; color:#64748B;
}
.mm-card .mm-item-prior b { color:#4338CA; font-weight:700; }
.mm-card .mm-transfer-btn {
  font-family:'S-CoreDream', sans-serif;
  font-size:10.5px; font-weight:700;
  padding:3px 9px; border-radius:7px;
  border:1px solid #F59E0B;
  background:#FFFBEB; color:#B45309;
  cursor:pointer;
  transition:all .12s;
  white-space:nowrap;
}
.mm-card .mm-transfer-btn:hover {
  background:linear-gradient(135deg, #F59E0B, #B45309);
  color:#fff;
  border-color:#B45309;
}
.mm-card .mm-foot-hint {
  font-size:10px; color:var(--text-muted);
  padding-top:6px; border-top:1px solid var(--border);
  line-height:1.6;
}
.mm-card .mm-no-result {
  padding:16px; text-align:center;
  font-size:11.5px; color:var(--text-muted);
  background:#FAFAFA;
  border-radius:8px;
  border:1px dashed #D1D5DB;
}

/* ========== 다부처 조회 — 농식품부 내 처리 모드 비활성화 ========== */
/* 배너의 "농식품부 내 처리" 선택 상태에서는 타부처 이관이 불필요하므로
   다부처 조회 카드의 검색창/결과 영역을 비활성화하고 안내 배너만 노출한다. */
.mm-card.mm-internal-mode .mm-search-input {
  background:#F3F4F6;
  border-color:#D1D5DB;
  color:#9CA3AF;
  cursor:not-allowed;
}
.mm-card.mm-internal-mode .mm-search-input::placeholder { color:#9CA3AF; }
#mm-results.mm-internal-mode {
  /* 안내 배너 이외의 컨텐츠는 렌더되지 않지만, 안전망으로 클릭 차단 */
  pointer-events:none;
}
.mm-internal-notice {
  display:flex; align-items:flex-start; gap:8px;
  padding:10px 12px;
  border-radius:8px;
  background:linear-gradient(135deg,#ECFDF5,#D1FAE5);
  border:1px solid #10B981;
  font-family:'S-CoreDream', sans-serif;
  font-size:11.5px; font-weight:600; color:#065F46;
  line-height:1.55;
  pointer-events:auto;
}
.mm-internal-notice .mm-internal-notice-icon {
  flex-shrink:0;
  width:22px; height:22px; border-radius:50%;
  background:#047857; color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:12px; font-weight:800;
}
.mm-internal-notice b { font-weight:800; color:#047857; }

/* ============== 민원 수동 등록 모달 — 처리 마감일 빠른 선택 ==============
   (reply 시안과 동일한 UI — assign 에서도 '민원 수동 등록' 기능 공유) */
.mc-deadline-quick-row {
  display:flex; align-items:center; flex-wrap:wrap;
  gap:5px; margin-top:7px;
}
.mc-deadline-quick-label {
  font-size:10px; font-weight:700; color:#8B5A2B;
  letter-spacing:.02em; padding-right:2px;
}
.mc-deadline-quick {
  padding:4px 10px; border-radius:999px;
  background:#fff; border:1px solid #E8D4B8;
  color:#8B5A2B; font-size:11px; font-weight:700;
  font-family:'S-CoreDream',sans-serif; cursor:pointer;
  transition:all .15s;
}
.mc-deadline-quick:hover {
  background:#FDECDB; border-color:#E8833A; color:#B8540A;
}
.mc-deadline-quick.active {
  background:linear-gradient(135deg,#E8833A,#D96E1F);
  border-color:#D96E1F; color:#fff;
  box-shadow:0 2px 6px rgba(232,131,58,.3);
}

/* ============== 민원 수동 등록 모달 — 첨부파일 리스트 ============== */
.mc-attach-item {
  display:flex; align-items:center; gap:10px;
  padding:8px 10px; border-radius:8px;
  border:1px solid var(--border); background:#FAFAF8;
  transition:all .15s;
}
.mc-attach-item:hover { border-color:#F0D5B8; background:#FDECDB; }
.mc-attach-ico {
  width:32px; height:32px; border-radius:7px;
  display:flex; align-items:center; justify-content:center;
  font-size:9px; font-weight:800; flex-shrink:0; letter-spacing:0;
}
.mc-attach-ico.t-img { background:#EDE9FE; color:#6D28D9; }
.mc-attach-ico.t-pdf { background:#FEE2E2; color:#B91C1C; }
.mc-attach-ico.t-doc { background:#DBEAFE; color:#1D4ED8; }
.mc-attach-ico.t-xls { background:#DCFCE7; color:#166534; }
.mc-attach-ico.t-etc { background:#F1F5F9; color:#475569; }
.mc-attach-info { flex:1; min-width:0; }
.mc-attach-name {
  font-size:12px; font-weight:700; color:#1A1A1A;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  margin-bottom:2px;
}
.mc-attach-sub { font-size:10px; color:var(--text-muted); }
.mc-attach-del {
  width:26px; height:26px; border-radius:6px;
  border:1px solid #FCA5A5; background:#fff; color:#B91C1C;
  font-size:13px; font-weight:700; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:all .15s;
}
.mc-attach-del:hover { background:#FEE2E2; }
.mc-attach-empty { font-size:11px; color:var(--text-muted); padding:6px 2px; }
