﻿:root {
  --accent:   #E8833A;
  --accent-2: #B45E1E;
  --navy: #FBF7F2;
  --navy-mid: #FDECDB;
  --blue: #E8833A;
  --blue-light: #B45E1E;
  --cyan: #E8833A;
  --green: #4A7A2A;
  --amber: #C08B3A;
  --red: #C0392B;
  --purple: #7A5FA3;
  --surface: #FBF7F2;
  --surface-2: #FDECDB;
  --border: #E8DFD3;
  --text-primary: #1A1A1A;
  --text-secondary: #4A5568;
  --text-muted: #8A94A8;
  --white: #FFFFFF;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.06);
  --shadow-md: 0 3px 12px rgba(0,0,0,0.08);
  --shadow-lg: 0 8px 28px rgba(0,0,0,0.11);
  --radius: 8px;
  --radius-lg: 14px;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'S-CoreDream','Noto Sans KR',sans-serif;background:#FBF7F2;color:var(--text-primary);min-height:100vh;font-size:16px;letter-spacing:-0.01em;}

/* ===== TOP BAR ===== */
.scenario-shell {display:flex;flex-direction:column;min-height:100vh;zoom:1.08;}
.top-bar {
  background:#FFFFFF;
  border-bottom:2px solid #E8833A;
  padding:0 28px;
  height:70px;
  display:flex;align-items:center;gap:24px;
  position:sticky;top:0;z-index:1000;
  backdrop-filter:blur(12px);
}
.top-bar .logo {
  font-size:14px;font-weight:700;color:#1A1A1A;letter-spacing:0.01em;
  display:flex;align-items:center;gap:8px;white-space:nowrap;
}
.logo-badge {
  background:#E8833A;
  color:#fff;font-size:13px;font-weight:700;padding:3px 10px;border-radius:4px;
  letter-spacing:0.04em;
}
.tab-bar {display:flex;gap:4px;flex:1;justify-content:center;}
.tab-btn {
  padding:7px 18px;border-radius:6px;border:none;cursor:pointer;
  font-family:'S-CoreDream',sans-serif;font-size:14px;font-weight:600;
  color:#333333;background:transparent;
  transition:all .2s;letter-spacing:0.01em;white-space:nowrap;
}
.tab-btn.active {background:#E8833A;color:#fff;box-shadow:none;}
.tab-btn:hover:not(.active){color:#E8833A;background:rgba(232,131,58,0.07);}
.tab-btn .tab-user-label {
  font-size:14px;display:block;opacity:0.7;margin-top:1px;
}

.scenario-badge {
  display:none;
  font-size:14px;font-weight:700;padding:3px 10px;border-radius:20px;
  letter-spacing:0.05em;white-space:nowrap;
}
.badge-assign {background:rgba(245,158,11,0.2);color:#F59E0B;border:1px solid rgba(245,158,11,0.3);}
.badge-user {background:rgba(232,131,58,0.2);color:#E8833A;border:1px solid rgba(232,131,58,0.3);}
.badge-admin {background:rgba(139,92,246,0.2);color:#A78BFA;border:1px solid rgba(139,92,246,0.3);}

/* ===== SCREEN WRAPPER ===== */
.screen {display:none;flex-direction:column;flex:1;background:#FBF7F2;min-height:calc(100vh - 70px);}
.screen.active{display:flex;}

/* ===== SCENARIO HEADER ===== */
.scenario-header {
  background:#FFFFFF;
  border-bottom:1px solid #E8DFD3;
  padding:20px 32px 16px;
  border-bottom:1px solid #E8DFD3;
}
.scenario-step {font-size:11px;font-weight:600;color:#E8833A;letter-spacing:0.14em;margin-bottom:6px;text-transform:uppercase;}
.scenario-title {font-size:20px;font-weight:700;color:#1A1A1A;margin-bottom:4px;letter-spacing:-0.02em;}
.scenario-desc {font-size:13px;color:#8A94A8;line-height:1.6;}
.scenario-flow {display:flex;margin-top:16px;flex-wrap:wrap;gap:2px;}
.flow-step {
  display:flex;align-items:center;gap:8px;padding:7px 14px;
  background:#FDECDB;border-radius:6px;
  font-size:14px;color:#4A5568;
  border:1px solid #EFDFC9;
  cursor:pointer;transition:all .2s;
}
.flow-step.active-step {background:#E8833A;color:#fff;border-color:#E8833A;}
.flow-step.done-step {background:#F8FAFC;color:#64748B;border-color:#EADFC8;}
.flow-arrow {width:20px;display:flex;align-items:center;justify-content:center;color:#8A94A8;font-size:14px;flex-shrink:0;}
.flow-num {width:20px;height:20px;border-radius:50%;background:#EFDFC9;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0;}
.flow-step.active-step .flow-num{background:rgba(255,255,255,0.25);}
.flow-step.done-step .flow-num{background:#94A3B8;}

/* ===== MAIN APP LAYOUT ===== */
.app-layout {display:flex;flex:1;overflow:hidden;min-height:0;}

/* ===== LEFT SIDEBAR ===== */
.sidebar {
  width:360px;flex-shrink:0;background:#fff;border-right:1px solid var(--border);
  display:flex;flex-direction:column;overflow:hidden;
}
.sidebar-header {
  padding:14px 16px 10px;border-bottom:1px solid var(--border);
  background:#FBF7F2;
}
.sidebar-title {font-size:11px;font-weight:700;color:#E8833A;letter-spacing:0.12em;margin-bottom:8px;text-transform:uppercase;}
.complaint-card {
  border:1px solid #E8DFD3;border-radius:8px;padding:12px 14px;background:#fff;
  cursor:pointer;transition:border-color .15s;margin-bottom:5px;position:relative;overflow:hidden;
}
.complaint-card::before {content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;}
.complaint-card.priority-high::before{background:transparent;}
.complaint-card.priority-mid::before{background:transparent;}
.complaint-card.priority-low::before{background:transparent;}
.complaint-card.selected {border-color:#E8833A;box-shadow:0 0 0 2px rgba(232,131,58,0.15);}
.complaint-card:hover:not(.selected){border-color:#94A3B8;box-shadow:var(--shadow-sm);}
.c-meta {display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;}
.c-id {font-size:14px;font-family:'JetBrains Mono',monospace;color:var(--text-muted);}
.c-badge {font-size:14px;font-weight:700;padding:2px 8px;border-radius:12px;}
.badge-new {background:#F1F5F9;color:#475569;}
.badge-proc {background:#FEF3C7;color:#D97706;}
.badge-done {background:#F1F5F9;color:#475569;}
.badge-urgent {background:#FEF2F2;color:#B91C1C;}
.c-title {font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px;line-height:1.4;}
.c-sub {font-size:14px;color:var(--text-secondary);}
.c-date {font-size:14px;color:var(--text-muted);}
.sidebar-list {flex:1;overflow-y:auto;padding:10px;gap:6px;display:flex;flex-direction:column;}

/* ===== MAIN CONTENT ===== */
.main-content {flex:1;overflow-y:auto;display:flex;flex-direction:column;background:#FBF7F2;}

/* ===== AI PANEL ===== */
.ai-panel {
  width:460px;flex-shrink:0;background:#fff;border-left:1px solid var(--border);
  display:flex;flex-direction:column;
}
.ai-panel-header {
  padding:14px 18px;border-bottom:1px solid #E8DFD3;
  background:#FFFFFF;
  display:flex;align-items:center;gap:10px;
}
.ai-icon {
  width:30px;height:30px;border-radius:8px;
  background:#E8833A;
  display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;
}
.ai-panel-title {font-size:14px;font-weight:700;color:#1A1A1A;}
.ai-panel-sub {font-size:13px;color:#8A94A8;}
.ai-panel-body {flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;}

/* ===== AI Cards ===== */
.ai-card {border-radius:8px;overflow:hidden;border:1px solid #E8DFD3;}
.ai-card-header {
  flex-wrap:wrap;
  padding:10px 13px;display:flex;align-items:center;gap:8px;cursor:pointer;
  background:#FDECDB;border-bottom:1px solid #E8DFD3;
}
.ai-card-icon {font-size:14px;}
.ai-card-title {font-size:14px;font-weight:600;color:var(--text-primary);flex:1;min-width:0;word-break:keep-all;}
.ai-card-status {font-size:14px;padding:2px 8px;border-radius:10px;}
.status-done {background:#FDECDB;color:#E8833A;}
.status-ready {background:#FBF7F2;color:#4A5568;}
.status-process {background:#FEF3C7;color:#B45309;}
.ai-card-body {padding:12px 13px;background:#fff;}

/* Dept suggestion */
.dept-suggestion {display:flex;flex-direction:column;gap:7px;}
.dept-item {
  display:flex;align-items:center;gap:10px;padding:10px 12px;
  border-radius:8px;border:1px solid var(--border);cursor:pointer;
  transition:all .2s;
}
.dept-item.selected-dept {border-color:#E8833A;background:#FDECDB;}
.dept-item:hover:not(.selected-dept){border-color:#94A3B8;}
.dept-rank {
  width:20px;height:20px;border-radius:50%;background:#FDECDB;
  font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;
  color:var(--text-secondary);flex-shrink:0;
}
.selected-dept .dept-rank{background:#E8833A;color:#fff;}
.dept-name {font-size:14px;font-weight:500;flex:1;}
.dept-conf {font-size:14px;font-weight:700;color:#E8833A;}
.dept-bar-wrap {width:100%;height:3px;background:var(--border);border-radius:2px;margin-top:4px;}
.dept-bar {height:3px;border-radius:2px;background:linear-gradient(90deg,#E8833A,#8B4513);}

/* Cases */
.case-item {
  padding:9px 11px;border-radius:8px;border:1px solid var(--border);
  cursor:pointer;transition:all .2s;margin-bottom:6px;
}
.case-item:hover{border-color:#94A3B8;box-shadow:var(--shadow-sm);}
.case-title {font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:3px;}
.case-meta {font-size:14px;color:var(--text-muted);display:flex;gap:8px;flex-wrap:wrap;}
.sim-badge {font-size:14px;font-weight:700;padding:1px 7px;border-radius:10px;background:#F1F5F9;color:#475569;}

/* Draft */
.draft-box {
  background:linear-gradient(135deg,#FDECDB,#E4EDF8);
  border-radius:8px;border:1px solid #F0D5B8;
  padding:13px;font-size:14px;line-height:1.8;color:var(--text-primary);
}
.draft-highlight {background:rgba(232,131,58,0.12);border-radius:3px;padding:0 2px;}
.draft-actions {display:flex;gap:6px;margin-top:10px;}
.action-btn {
  flex:1;padding:7px;border-radius:6px;border:none;cursor:pointer;
  font-family:'S-CoreDream',sans-serif;font-size:14px;font-weight:600;
  transition:all .18s;
}
.action-primary {background:#E8833A;color:#fff;}
.action-primary:hover{background:#8B4513;}
.action-secondary {background:#FDECDB;color:var(--text-secondary);border:1px solid var(--border);}
.action-secondary:hover{background:var(--border);}
/* ===== AI PANEL INNER COMPONENTS ===== */
.mini-search {
  width:100%;padding:7px 10px;border-radius:7px;border:1px solid var(--border);
  font-family:'S-CoreDream',sans-serif;font-size:13px;color:var(--text-primary);
  outline:none;box-sizing:border-box;margin-bottom:8px;
}
.mini-search:focus{border-color:#E8833A;}
.mini-select {
  padding:5px 8px;border-radius:7px;border:1px solid var(--border);
  font-family:'S-CoreDream',sans-serif;font-size:13px;color:var(--text-primary);
  outline:none;background:#fff;cursor:pointer;flex-shrink:0;
}
.guide-box {
  font-size:13px;line-height:1.8;color:var(--text-primary);
  background:#FDECDB;border-radius:7px;padding:10px 12px;
}
.manual-results {display:flex;flex-direction:column;gap:5px;}
.manual-item {
  padding:8px 10px;border-radius:7px;border:1px solid var(--border);
  background:#fff;cursor:pointer;transition:all .15s;
}
.manual-item:hover{border-color:#94A3B8;background:#FDECDB;}
.manual-item-title {font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:3px;word-break:keep-all;}
.manual-item-meta {font-size:12px;color:var(--text-muted);}
.manual-preview {
  margin-top:8px;padding:10px 12px;border-radius:7px;border:1px solid var(--border);
  background:#FDECDB;font-size:13px;line-height:1.7;color:var(--text-primary);
}


/* ===== CENTER DETAIL ===== */
.complaint-detail {padding:22px;flex:1;}
.detail-header {display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px;}
.detail-title {font-size:17px;font-weight:700;color:var(--text-primary);line-height:1.4;max-width:540px;}
.detail-meta-row {display:flex;gap:14px;margin-top:7px;flex-wrap:wrap;}
.meta-chip {
  display:flex;align-items:center;gap:5px;
  font-size:14px;color:var(--text-secondary);
}
.meta-chip span{color:var(--text-muted);}
.section-label {font-size:15px;font-weight:700;color:#8A94A8;letter-spacing:0.1em;margin-bottom:10px;text-transform:uppercase;}
.complaint-body-box {
  background:#fff;border-radius:10px;border:1px solid var(--border);
  padding:16px;font-size:16px;line-height:1.9;color:var(--text-primary);
  margin-bottom:18px;
}
.complaint-key-phrase {
  display:inline-block;background:rgba(245,158,11,0.12);color:#B45309;
  border-radius:3px;padding:0 3px;font-weight:500;
}

/* ===== 민원 원문 / 첨부파일 탭 ===== */
.ctab-bar{display:flex;border-bottom:2px solid var(--border);margin-bottom:0;}
.ctab-btn{padding:8px 18px;font-size:12px;font-weight:600;border:none;background:transparent;
  cursor:pointer;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-2px;
  transition:all .15s;font-family:'S-CoreDream',sans-serif;display:flex;align-items:center;gap:6px;white-space:nowrap;}
.ctab-btn.ctab-active{color:#8B4513;border-bottom-color:#8B4513;}
.ctab-btn:hover:not(.ctab-active){color:var(--text-secondary);background:var(--surface-2);}
.ctab-file-badge{font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px;
  background:#FEF3C7;color:#B45309;border:1px solid #FDE68A;}
.ctab-pane{display:none;}
.ctab-pane.ctab-show{display:block;}
.ctab-body-box{background:#fff;border:1px solid var(--border);border-top:none;
  border-radius:0 0 10px 10px;padding:16px;font-size:16px;line-height:1.9;
  color:var(--text-primary);margin-bottom:18px;}

/* ===== 첨부파일 목록 ===== */
.attach-list{display:flex;flex-direction:column;gap:7px;padding:12px;
  background:#fff;border:1px solid var(--border);border-top:none;
  border-radius:0 0 10px 10px;margin-bottom:18px;}
.attach-item{display:flex;align-items:center;gap:10px;padding:9px 11px;
  border-radius:8px;border:1px solid var(--border);background:#FAFAF8;
  cursor:pointer;transition:all .15s;}
.attach-item:hover{border-color:#F0D5B8;background:#FDECDB;}
.attach-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;
  justify-content:center;font-size:9px;font-weight:800;flex-shrink:0;letter-spacing:0;}
.attach-icon.t-img{background:#EDE9FE;} .attach-icon.t-pdf{background:#FEE2E2;}
.attach-icon.t-doc{background:#DBEAFE;} .attach-icon.t-etc{background:#F1F5F9;}
.attach-meta{flex:1;min-width:0;}
.attach-name{font-size:12px;font-weight:700;color:#1A1A1A;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;margin-bottom:2px;}
.attach-size{font-size:10px;color:var(--text-muted);}
.attach-actions{display:flex;gap:5px;flex-shrink:0;}
.attach-btn{padding:4px 10px;border-radius:5px;border:1px solid #F0D5B8;background:#fff;
  font-size:11px;font-weight:600;color:#8B4513;cursor:pointer;transition:all .15s;
  font-family:'S-CoreDream',sans-serif;}
.attach-btn:hover{background:#FDECDB;}
.attach-btn.ab-primary{background:#E8833A;color:#fff;border-color:#E8833A;}
.attach-btn.ab-primary:hover{background:#5D3A1A;}
.attach-btn.ab-green{background:#EBF5F0;color:#2D7D5F;border-color:#B8D8CC;}

/* ===== 첨부파일 모달 ===== */
.am-overlay{display:none;position:fixed;inset:0;background:rgba(10,18,40,0.55);
  z-index:9100;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
.am-overlay.open{display:flex;}
.am-modal{background:#fff;border-radius:16px;width:min(800px,96vw);
  max-height:90vh;display:flex;flex-direction:column;
  box-shadow:0 28px 64px rgba(0,0,0,0.22);overflow:hidden;animation:amSlideIn .22s ease;}
@keyframes amSlideIn{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
.am-header{padding:14px 20px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:10px;background:#fff;flex-shrink:0;}
.am-header-icon{font-size:22px;display:none;}
.am-header-title{font-size:14px;font-weight:700;color:#1A1A1A;flex:1;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.am-done-badge{font-size:10px;font-weight:700;padding:2px 10px;border-radius:10px;
  background:#EBF5F0;color:#2D7D5F;border:1px solid #B8D8CC;white-space:nowrap;flex-shrink:0;}
.am-close{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);
  background:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;
  justify-content:center;color:var(--text-secondary);flex-shrink:0;transition:all .15s;}
.am-close:hover{background:#FDECDB;border-color:#F0D5B8;}
.am-tabs{display:flex;border-bottom:2px solid var(--border);background:#F8FAFC;flex-shrink:0;}
.am-tab{padding:10px 22px;font-size:13px;font-weight:600;border:none;background:transparent;
  cursor:pointer;color:var(--text-muted);border-bottom:2px solid transparent;
  margin-bottom:-2px;transition:all .15s;font-family:'S-CoreDream',sans-serif;}
.am-tab.am-active{color:#8B4513;border-bottom-color:#8B4513;}
.am-tab:hover:not(.am-active){color:var(--text-secondary);}
.am-body{flex:1;overflow-y:auto;}
.am-pane{display:none;} .am-pane.am-show{display:block;}
.am-preview-wrap{background:#FAF6F1;display:flex;align-items:center;
  justify-content:center;min-height:300px;padding:24px;}
.am-ai-wrap{padding:20px;}
.am-ai-summary{font-size:13px;color:#1A1A1A;line-height:1.75;margin-bottom:14px;
  background:var(--surface-2);border-radius:8px;padding:12px 14px;border:1px solid var(--border);}
.am-ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;}
.am-ai-cell{background:#fff;border:1px solid var(--border);border-radius:8px;padding:10px 12px;}
.am-ai-cell-lbl{font-size:10px;font-weight:700;color:#C47E4A;letter-spacing:.06em;margin-bottom:4px;}
.am-ai-cell-val{font-size:12px;font-weight:600;color:#1A1A1A;line-height:1.5;}
.am-ai-cell-val.ok{color:#2D7D5F;} .am-ai-cell-val.warn{color:#B45309;}
.am-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px;}
.am-chip{font-size:11px;font-weight:600;padding:3px 10px;border-radius:10px;
  background:#FDECDB;border:1px solid #F0D5B8;color:#8B4513;}
.am-footer{padding:12px 20px;border-top:1px solid var(--border);background:#F8FAFC;
  display:flex;gap:8px;justify-content:flex-end;flex-shrink:0;}

/* ===== 즉시처리 드롭존 ===== */
.instant-dropzone{border:2px dashed var(--border);border-radius:10px;padding:16px;
  text-align:center;cursor:pointer;background:#F8FAFC;transition:all .2s;}
.instant-dropzone:hover,.instant-dropzone.drag-over{border-color:#8B4513;background:#FDECDB;}
.instant-file-row{display:flex;align-items:center;gap:8px;padding:8px 11px;
  border-radius:8px;border:1px solid var(--border);background:#fff;}
.answer-editor {
  background:#fff;border-radius:10px;border:1px solid var(--border);overflow:hidden;
  margin-bottom:14px;
}
.editor-toolbar {
  padding:9px 14px;border-bottom:1px solid var(--border);
  display:flex;gap:7px;align-items:center;background:#FDECDB;
}
.toolbar-btn {
  padding:4px 10px;border-radius:5px;border:1px solid var(--border);
  background:#fff;font-size:14px;cursor:pointer;color:var(--text-secondary);
  font-family:'S-CoreDream',sans-serif;transition:all .15s;
}
.toolbar-btn:hover{background:#FDECDB;}
.toolbar-btn.ai-fill {
  background:linear-gradient(135deg,#E8833A,#5D3A1A);color:#fff;border:none;
  font-weight:600;display:flex;align-items:center;gap:5px;
}
.toolbar-btn.ai-fill:hover{opacity:.88;}
.editor-area {
  padding:16px;min-height:180px;font-size:14px;line-height:1.9;color:var(--text-primary);
  outline:none;
}
[contenteditable="true"]:focus{outline:2px solid rgba(232,131,58,0.2);outline-offset:0;}
.submit-bar {
  display:flex;justify-content:flex-end;gap:10px;padding:14px 0;
}
.btn-main {
  padding:10px 26px;border-radius:6px;border:none;cursor:pointer;
  font-family:'S-CoreDream',sans-serif;font-size:14px;font-weight:700;
  background:#E8833A;color:#fff;
  box-shadow:0 4px 12px rgba(232,131,58,0.3);transition:all .2s;
}
.btn-main:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(232,131,58,0.4);}
.btn-sub {
  padding:10px 18px;border-radius:6px;border:1px solid #E8DFD3;cursor:pointer;
  font-family:'S-CoreDream',sans-serif;font-size:14px;font-weight:500;
  background:#fff;color:var(--text-secondary);transition:all .15s;
}
.btn-sub:hover{background:#FDECDB;}

/* Quality checker */
.quality-bar {display:flex;gap:7px;margin-bottom:14px;}
.q-item {
  flex:1;padding:8px;border-radius:8px;background:#FDECDB;
  border:1px solid var(--border);text-align:center;
}
.q-icon {font-size:14px;margin-bottom:2px;}
.q-label {font-size:14px;color:var(--text-muted);margin-bottom:2px;}
.q-status {font-size:14px;font-weight:700;}
.q-ok {color:#2D7D5F;} .q-warn {color:#F59E0B;} .q-err {color:#EF4444;}

/* ===== ASSIGN SCREEN SPECIFIC ===== */
/* 미분류 민원 inbound stream */
.inbound-stream {
  background:#fff;border-radius:10px;border:1px solid var(--border);
  overflow:hidden;margin-bottom:16px;
}
.inbound-header {
  padding:12px 16px;background:linear-gradient(135deg,#FFF7ED,#FEF3C7);
  border-bottom:1px solid #FDE68A;display:flex;justify-content:space-between;align-items:center;
}
.inbound-title {font-size:14px;font-weight:700;color:#92400E;}
.inbound-badge {
  font-size:14px;font-weight:700;padding:2px 10px;border-radius:12px;
  background:#EF4444;color:#fff;
  animation:pulse-badge 1.5s infinite;
}
@keyframes pulse-badge{0%,100%{opacity:1;}50%{opacity:0.6;}}

/* 분류 결과 panel */
.assign-result-box {
  background:#fff;border-radius:10px;border:2px solid #E8833A;
  overflow:hidden;margin-bottom:16px;
}
.assign-result-header {
  padding:12px 16px;background:linear-gradient(135deg,#FDECDB,#F5E4D0);
  border-bottom:1px solid #F0D5B8;display:flex;align-items:center;gap:10px;
}
.assign-result-title {font-size:16px;font-weight:700;color:#1A1A1A;}

/* confidence gauge */
.conf-gauge-wrap {margin:12px 0;}
.conf-gauge-label {display:flex;justify-content:space-between;margin-bottom:5px;}
.conf-gauge-track {height:8px;background:var(--border);border-radius:4px;overflow:hidden;}
.conf-gauge-fill {height:8px;border-radius:4px;transition:width 1s cubic-bezier(.34,1.56,.64,1);}

/* collab dept */
.collab-item {
  display:flex;align-items:center;gap:8px;padding:9px 11px;
  border-radius:8px;border:1px solid var(--border);cursor:pointer;
  transition:all .2s;background:#fff;
}
.collab-item.selected-collab {border-color:#F59E0B;background:#FFFBEB;}
.collab-item:hover:not(.selected-collab){border-color:#94A3B8;}
.collab-check {font-size:14px;flex-shrink:0;color:#F59E0B;}

/* dept confirm buttons */
.dept-confirm-row {display:flex;gap:8px;margin-top:14px;}
.dept-confirm-btn {
  flex:1;padding:10px;border-radius:8px;border:none;cursor:pointer;
  font-family:'S-CoreDream',sans-serif;font-size:14px;font-weight:700;
  transition:all .18s;
}
.btn-confirm-yes {background:linear-gradient(135deg,#E8833A,#5D3A1A);color:#fff;}
.btn-confirm-yes:hover{opacity:.88;}
.btn-confirm-modify {background:#FDECDB;color:var(--text-secondary);border:1px solid var(--border);}
.btn-confirm-modify:hover{background:var(--border);}

/* reason tags */
.reason-tags {display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;}
.rtag {
  font-size:14px;padding:2px 9px;border-radius:12px;font-weight:600;
  background:#F1F5F9;color:#475569;border:1px solid #CBD5E1;
}
.assign-result-box .rtag { font-size:14px; }

/* 분류근거 토글 버튼 */
#classify-reason-btn:hover {background:#FDECDB;border-color:#F0D5B8;color:#8B4513;}
#classify-reason-btn.open {background:#FDECDB;border-color:#F0D5B8;color:#8B4513;}

/* 조직도 인라인 패널 */
.orgtree-result-item {
  padding:9px 11px;border-radius:8px;border:1px solid var(--border);
  background:#fff;cursor:pointer;transition:all .15s;
}
.orgtree-result-item:hover {border-color:#8B4513;background:#FDECDB;}
.orgtree-filter {
  font-size:11px;padding:4px 10px;border-radius:10px;border:1px solid var(--border);
  background:#fff;color:var(--text-secondary);cursor:pointer;font-family:'S-CoreDream',sans-serif;
  font-weight:600;transition:all .15s;
}
.active-orgtree-filter {background:#FDECDB;border-color:#F0D5B8;color:#8B4513;}

/* 법령 검색 */
.law-filter-chip {
  font-size:11px;padding:3px 10px;border-radius:10px;border:1px solid var(--border);
  background:#fff;color:var(--text-secondary);cursor:pointer;font-family:'S-CoreDream',sans-serif;
  font-weight:600;transition:all .15s;
}
.law-filter-active {background:#FDECDB;border-color:#F0D5B8;color:#8B4513;}
.law-result-item {cursor:pointer;transition:background .15s;}
.law-result-item:hover {background:#FDECDB;}

/* assign stat cards */
.assign-stats {display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;}
.astat-card {
  display:flex;flex-direction:column;
  background:#fff;border-radius:10px;border:1px solid var(--border);
  padding:14px;text-align:center;
}
.astat-val {font-size:26px;font-weight:900;color:var(--text-primary);display:inline;}
.astat-unit {font-size:14px;color:var(--text-secondary);display:inline;margin-left:2px;}
.astat-label {font-size:12px;color:var(--text-muted);margin-top:4px;}
.astat-trend {font-size:11px;margin-top:3px;white-space:nowrap;}

/* ===== 판례 자연어 검색 Agent (즉문즉답) ===== */
.agent-chat{background:#FAF6F1;border:1px solid var(--border);border-radius:10px;
  padding:12px 14px;margin-bottom:10px;font-size:12px;
  display:flex;flex-direction:column;gap:12px;}
.agent-hint{
  margin:0;padding:9px 11px;background:rgba(255,255,255,0.7);
  border:1px solid var(--border);border-radius:8px;
  color:var(--text-secondary);line-height:1.65;font-size:11px;}
.agent-placeholder{
  padding:14px 12px;text-align:center;color:var(--text-muted);font-size:11px;
  line-height:1.65;border:1px dashed #E8DFD3;border-radius:8px;background:rgba(255,255,255,0.45);}
.agent-result-stack{flex-direction:column;gap:14px;}
.agent-qa-card{
  border-radius:10px;padding:12px 14px;border:1px solid var(--border);line-height:1.75;}
.agent-qa-question{
  background:#fff;border-color:#E8DFD3;
  box-shadow:0 1px 3px rgba(93,58,26,0.07);}
.agent-qa-answer{background:#FDECDB;border-color:#F0D5B8;}
.agent-qa-label{
  display:block;font-size:10px;font-weight:800;letter-spacing:0.03em;
  color:#8B4513;margin-bottom:8px;}
.agent-qa-body{font-size:12px;color:var(--text-primary);}
.agent-qa-body strong{color:#1A1A1A;}
.agent-msg{padding:8px 11px;border-radius:8px;line-height:1.7;max-width:90%;}
.agent-ai{background:#FDECDB;color:#1A1A1A;align-self:flex-start;
  border:1px solid #F0D5B8;}
.agent-user{background:#E8833A;color:#fff;align-self:flex-end;border-radius:8px 8px 2px 8px;}
.agent-input-row{display:flex;gap:6px;}
.agent-input{flex:1;padding:8px 11px;border-radius:8px;border:1px solid var(--border);
  font-family:'S-CoreDream',sans-serif;font-size:12px;outline:none;color:var(--text-primary);}
.agent-input:focus{border-color:#8B4513;}
.agent-send{padding:8px 14px;border-radius:8px;background:#E8833A;color:#fff;
  border:none;font-family:'S-CoreDream',sans-serif;font-size:12px;font-weight:700;
  cursor:pointer;transition:all .15s;white-space:nowrap;}
.agent-send:hover{background:#5D3A1A;}

/* history table */
.hist-table {width:100%;border-collapse:collapse;font-size:14px;}
.hist-table th {
  padding:8px 12px;font-size:14px;font-weight:700;color:var(--text-muted);
  letter-spacing:0.08em;text-align:left;border-bottom:2px solid var(--border);
  background:#FDECDB;
}
.hist-table td {padding:10px 12px;border-bottom:1px solid var(--border);}
.hist-table tr:hover td{background:#FDECDB;}
.conf-pill {
  font-size:14px;font-weight:700;padding:2px 9px;border-radius:12px;
}
.conf-high {background:#EBF5F0;color:#2D7D5F;}
.conf-mid {background:#FEF3C7;color:#D97706;}
.conf-low {background:#FEF2F2;color:#B91C1C;}

/* manual override UI */
/* ===== 복수 부서 후보 카드 ===== */
.candidate-dept-row {
  display:flex;align-items:center;gap:10px;
  border:2px solid var(--border);border-radius:10px;padding:12px;
  cursor:pointer;transition:all .2s;background:#fff;
}
.candidate-dept-row:hover{border-color:#94A3B8;box-shadow:var(--shadow-sm);}
.candidate-dept-row.selected-candidate{
  border-color:#8B4513;background:linear-gradient(135deg,#FDECDB,#FDECDB);
  box-shadow:0 0 0 3px rgba(232,131,58,0.1);
}
.cand-rank-badge {
  font-size:14px;font-weight:700;padding:4px 8px;border-radius:8px;
  white-space:nowrap;flex-shrink:0;text-align:center;min-width:42px;
}
.rank-1{background:linear-gradient(135deg,#E8833A,#5D3A1A);color:#fff;}
.rank-2{background:linear-gradient(135deg,#F59E0B,#D97706);color:#fff;}
.rank-3{background:#EADFC8;color:#475569;}
.candidates-horizontal {
  display:flex;
  flex-direction:row;
  gap:10px;
  margin-bottom:12px;
}
.candidates-horizontal .candidate-dept-row {
  flex:1;
  min-width:0;
  margin-bottom:0;
  flex-direction:column;
  align-items:stretch;
  gap:8px;
}
.cand-rank-name-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.candidates-horizontal .cand-contact { font-size:13px !important; }
.candidates-horizontal .cand-desc { font-size:13px !important; }
.candidates-horizontal .candidate-dept-row > div.cand-rank-name-row { align-self:flex-start; }
.candidates-horizontal .candidate-dept-row > div.cand-select-indicator { align-self:flex-end; margin-top:auto; }
.cand-main-role {
  font-size:14px;font-weight:700;padding:3px 7px;border-radius:6px;
  white-space:nowrap;flex-shrink:0;
  background:rgba(232,131,58,0.1);color:#8B4513;border:1px solid rgba(232,131,58,0.2);
}
.cand-select-indicator{
  font-size:16px;flex-shrink:0;transition:all .2s;
}

.override-panel {
  background:linear-gradient(135deg,#FFFBEB,#FEF3C7);
  border:1px solid #FDE68A;border-radius:10px;padding:14px;
  margin-bottom:16px;display:none;
}
.override-panel.show{display:block;}
.override-title {font-size:14px;font-weight:700;color:#92400E;margin-bottom:10px;}
.dept-search-input {
  width:100%;padding:9px 12px;border-radius:8px;border:1px solid var(--border);
  font-family:'S-CoreDream',sans-serif;font-size:14px;outline:none;
  background:#fff;
}
.dept-search-input:focus{border-color:#E8833A;}
.dept-dropdown {
  margin-top:6px;border:1px solid var(--border);border-radius:8px;overflow:hidden;
  background:#fff;
}
.dept-option {
  padding:9px 12px;font-size:14px;cursor:pointer;border-bottom:1px solid var(--border);
  transition:background .15s;
}
.dept-option:last-child{border-bottom:none;}
.dept-option:hover{background:#FDECDB;}
.dept-option.selected{background:#FDECDB;color:#8B4513;font-weight:600;}

/* ===== SCREEN 2: ADMIN DASHBOARD ===== */
.admin-layout {display:flex;flex:1;flex-direction:column;}
.admin-body {flex:1;overflow-y:auto;padding:22px 28px;display:flex;flex-direction:column;gap:22px;}

.kpi-row {display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.kpi-card {
  background:#fff;border-radius:var(--radius-lg);padding:18px;
  border:1px solid var(--border);position:relative;overflow:hidden;
  transition:all .2s;cursor:pointer;
}
.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.kpi-card::after {
  content:'';position:absolute;top:0;right:0;width:70px;height:70px;
  border-radius:0 0 0 70px;opacity:.08;
}
.kpi-card.kpi-blue::after{background:#E8833A;}
.kpi-card.kpi-green::after{background:#2D7D5F;}
.kpi-card.kpi-amber::after{background:#F59E0B;}
.kpi-card.kpi-red::after{background:#EF4444;}
.kpi-label {font-size:14px;font-weight:600;color:var(--text-muted);letter-spacing:0.05em;margin-bottom:7px;}
.kpi-value {font-size:30px;font-weight:900;color:var(--text-primary);line-height:1;}
.kpi-unit {font-size:14px;font-weight:400;color:var(--text-secondary);margin-left:3px;}
.kpi-trend {font-size:14px;margin-top:7px;display:flex;align-items:center;gap:4px;}
.trend-up{color:#EF4444;} .trend-down{color:#2D7D5F;}

.charts-row {display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start;}
.chart-card {
  background:#fff;border-radius:var(--radius-lg);padding:18px;
  border:1px solid var(--border);
}
.chart-header {display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.chart-title {font-size:14px;font-weight:700;color:var(--text-primary);}
.chart-sub {font-size:14px;color:var(--text-muted);margin-top:2px;}
.chart-tab {display:flex;gap:4px;}
.chart-tab-btn {
  padding:4px 10px;border-radius:5px;border:1px solid var(--border);
  font-size:14px;cursor:pointer;background:#fff;color:var(--text-secondary);
  font-family:'S-CoreDream',sans-serif;
}
.chart-tab-btn.active{background:#FDECDB;border-color:#F0D5B8;color:#8B4513;font-weight:600;}

.bar-chart {display:flex;align-items:flex-end;gap:5px;height:140px;margin-top:8px;}
.bar-col {display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;height:100%;}
.bar-fill {
  width:100%;border-radius:5px 5px 0 0;
  background:linear-gradient(180deg,#8B4513,#C47E4A);
  cursor:pointer;position:relative;margin-top:auto;
}
.bar-fill:hover::after{
  content:attr(data-val);position:absolute;top:-26px;left:50%;transform:translateX(-50%);
  background:#1A1A1A;color:#fff;font-size:11px;padding:3px 7px;border-radius:4px;
  white-space:nowrap;z-index:10;
}
.bar-fill.bar-accent{background:linear-gradient(180deg,#E8833A,#22D3EE);}
.bar-label{font-size:11px;color:var(--text-muted);white-space:nowrap;}

.donut-wrap {display:flex;gap:18px;align-items:center;}
.donut-legend {display:flex;flex-direction:column;gap:7px;}
.legend-item {display:flex;align-items:center;gap:7px;}
.legend-dot {width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.legend-name {font-size:14px;color:var(--text-secondary);}
.legend-val {font-size:14px;font-weight:700;color:var(--text-primary);}

.cluster-card {background:#fff;border-radius:var(--radius-lg);padding:18px;border:1px solid var(--border);}
.cluster-area {
  position:relative;height:230px;background:linear-gradient(135deg,#F8FAFC,#FDECDB);
  border-radius:10px;border:1px solid var(--border);overflow:hidden;margin-top:10px;
}
.cluster-bubble {
  position:absolute;border-radius:50%;display:flex;align-items:center;justify-content:center;
  flex-direction:column;cursor:pointer;transition:all .2s;border:2px solid rgba(255,255,255,0.6);
  box-shadow:0 4px 12px rgba(0,0,0,0.12);
}
.cluster-bubble:hover{transform:scale(1.08);z-index:10;}
.bubble-label{font-size:14px;font-weight:700;color:#fff;text-align:center;line-height:1.3;}
.bubble-count{font-size:14px;color:rgba(255,255,255,0.85);}

.cause-table {width:100%;border-collapse:collapse;}
.cause-table th{
  padding:9px 12px;font-size:14px;font-weight:700;color:var(--text-muted);
  letter-spacing:0.08em;text-align:left;border-bottom:2px solid var(--border);
  background:#FDECDB;
}
.cause-table td{padding:11px 12px;font-size:14px;border-bottom:1px solid var(--border);}
.cause-table tr:hover td{background:#FDECDB;}
.cause-tag {display:inline-block;padding:2px 10px;border-radius:12px;font-size:14px;font-weight:700;}
.tag-legal{background:#FEE2E2;color:#B91C1C;}
.tag-proc{background:#FEF3C7;color:#B45309;}
.tag-vague{background:#EDE9FE;color:#6D28D9;}
.tag-info{background:#F5E4D0;color:#1E40AF;}
.tag-gap{background:#FDECDB;color:#1A1A1A;}
.priority-bar{height:6px;border-radius:3px;background:var(--border);}
.priority-fill{height:6px;border-radius:3px;}
.fill-red{background:#EF4444;} .fill-amber{background:#F59E0B;}
.fill-blue{background:#E8833A;} .fill-green{background:#2D7D5F;}

.improve-card {
  background:linear-gradient(135deg,#E8833A,#5D3A1A);border:1px solid #8B4513;
  border-radius:var(--radius-lg);padding:22px;
  display:flex;gap:18px;align-items:flex-start;
}
.improve-icon {
  width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#E8833A,#5D3A1A);
  display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;
}
.improve-content {flex:1;}
.improve-badge {font-size:14px;font-weight:700;letter-spacing:0.1em;color:var(--cyan);margin-bottom:7px;}
.improve-title {font-size:15px;font-weight:700;color:#FFFFFF;margin-bottom:5px;}
.improve-body {font-size:14px;color:#fff;line-height:1.7;}
.improve-actions {display:flex;gap:7px;margin-top:12px;}
.imp-btn {
  padding:8px 16px;border-radius:7px;font-family:'S-CoreDream',sans-serif;
  font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all .18s;
}
.imp-primary{background:linear-gradient(135deg,#E8833A,#5D3A1A);color:#fff;}
.imp-secondary{background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.7);border:1px solid rgba(255,255,255,0.15);}

/* ===== ADMIN v4: cluster section + keyword panel ===== */
.cluster-section {display:grid;grid-template-columns:1fr 360px;gap:14px;}
.cluster-area {position:relative;height:260px;background:linear-gradient(135deg,#F8FAFC,#FDECDB);border-radius:10px;border:1px solid var(--border);overflow:hidden;margin-top:10px;}
.cluster-bubble.selected-bubble{transform:scale(1.12);z-index:10;box-shadow:0 0 0 4px rgba(232,131,58,0.3),0 8px 24px rgba(0,0,0,0.2);}

.keyword-panel {background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border);padding:18px;display:flex;flex-direction:column;gap:12px;}
.keyword-panel-header {display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--border);}
.keyword-panel-title {font-size:14px;font-weight:700;color:var(--text-primary);}
.keyword-panel-sub {font-size:14px;color:var(--text-muted);margin-top:2px;}
.keyword-cluster-block {border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:all .2s;}
.keyword-cluster-block.highlight {border-color:#E8833A;box-shadow:0 0 0 2px rgba(232,131,58,0.12);}
.keyword-cluster-header {padding:9px 13px;display:flex;align-items:center;gap:9px;cursor:pointer;background:#FDECDB;}
.keyword-cluster-dot {width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.keyword-cluster-name {font-size:14px;font-weight:700;flex:1;}
.keyword-cluster-count {font-size:14px;font-weight:700;padding:2px 8px;border-radius:10px;background:#fff;border:1px solid var(--border);}
.keyword-list-body {padding:10px 13px;background:#fff;display:none;}
.keyword-list-body.open {display:block;}
.keyword-tags {display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px;}
.kw-tag {display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:16px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;}
.kw-freq {font-size:14px;opacity:0.7;}
.keyword-bar-row {display:flex;align-items:center;gap:8px;margin-bottom:5px;}
.keyword-bar-label {font-size:14px;color:var(--text-secondary);width:80px;flex-shrink:0;}
.keyword-bar-track {flex:1;height:5px;background:var(--border);border-radius:3px;overflow:hidden;}
.keyword-bar-fill {height:5px;border-radius:3px;}

.repeat-section {display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.repeat-card {background:#fff;border-radius:var(--radius-lg);padding:18px;border:1px solid var(--border);}
.repeat-header {display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.repeat-table {width:100%;border-collapse:collapse;font-size:14px;}
.repeat-table th {padding:8px 12px;font-size:14px;font-weight:700;color:var(--text-muted);letter-spacing:0.08em;text-align:left;border-bottom:2px solid var(--border);background:#FDECDB;}
.repeat-table td {padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle;}
.repeat-table tr:hover td{background:#FDECDB;}
.risk-badge {display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:700;padding:3px 10px;border-radius:12px;}
.risk-high {background:#FEF2F2;color:#B91C1C;border:1px solid #FECACA;}
.risk-mid {background:#FEF3C7;color:#B45309;border:1px solid #FDE68A;}
.risk-low {background:#EBF5F0;color:#2D7D5F;border:1px solid #B8D8CC;}
.person-id {font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--text-muted);}
.repeat-count-badge {display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:14px;font-weight:700;background:#FEF2F2;color:#B91C1C;}
.timeline-wrap {display:flex;flex-direction:column;}
.tl-item {display:flex;gap:12px;padding-bottom:14px;position:relative;}
.tl-item:not(:last-child)::before {content:'';position:absolute;left:11px;top:24px;bottom:0;width:2px;background:var(--border);}
.tl-dot {width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;z-index:1;}
.tl-content {flex:1;}
.tl-title {font-size:14px;font-weight:600;color:var(--text-primary);}
.tl-date {font-size:14px;color:var(--text-muted);margin-top:2px;}
.tl-desc {font-size:14px;color:var(--text-secondary);margin-top:3px;line-height:1.6;}
.repeat-insight {background:#F8FAFC;border:1px solid #EADFC8;border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.8;color:#475569;margin-top:12px;}

.rootcause-section {display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.rootcause-card {background:#fff;border-radius:var(--radius-lg);padding:18px;border:1px solid var(--border);}
.cause-matrix {display:flex;flex-direction:column;gap:8px;}
.cause-row {display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;border:1px solid var(--border);cursor:pointer;transition:all .2s;}
.cause-row:hover{border-color:#94A3B8;box-shadow:var(--shadow-sm);}
.cause-row.active-cause{border-color:#8B4513;background:#FDECDB;}
.cause-icon {font-size:18px;flex-shrink:0;}
.cause-info {flex:1;}
.cause-name {font-size:14px;font-weight:700;color:var(--text-primary);}
.cause-pct {font-size:14px;color:var(--text-secondary);margin-top:2px;}
.cause-bar-wrap {flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden;min-width:60px;}
.cause-bar-fill {height:6px;border-radius:3px;}
.cause-count-chip {font-size:14px;font-weight:700;padding:2px 9px;border-radius:12px;flex-shrink:0;}
.improve-direction {display:flex;flex-direction:column;gap:8px;}
.improve-item {padding:11px 13px;border-radius:8px;border:1px solid var(--border);background:#FDECDB;}
.improve-item-title {font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:5px;display:flex;align-items:center;gap:7px;}
.improve-item-desc {font-size:14px;color:var(--text-secondary);line-height:1.6;}
.improve-badge-tag {font-size:14px;font-weight:700;padding:2px 7px;border-radius:10px;}
.imp-tag-urgent {background:#F1F5F9;color:#475569;}
.imp-tag-mid {background:#F1F5F9;color:#475569;}
.imp-tag-plan {background:#F1F5F9;color:#475569;}

.pattern-section {display:grid;grid-template-columns:2fr 1fr;gap:14px;}
.pattern-card {background:#fff;border-radius:var(--radius-lg);padding:18px;border:1px solid var(--border);}
.pattern-funnel {display:flex;flex-direction:column;gap:6px;margin-top:12px;}
.funnel-row {display:flex;align-items:center;gap:10px;}
.funnel-label {font-size:14px;color:var(--text-secondary);width:90px;flex-shrink:0;}
.funnel-bar {height:28px;border-radius:5px;display:flex;align-items:center;padding:0 10px;font-size:14px;font-weight:700;color:#fff;transition:width .6s ease;}
.pattern-insight-list {display:flex;flex-direction:column;gap:8px;margin-top:10px;}
.pi-item {padding:10px 12px;border-radius:8px;border-left:3px solid;background:#FDECDB;}
.pi-title {font-size:14px;font-weight:700;color:var(--text-primary);}
.pi-desc {font-size:14px;color:var(--text-secondary);margin-top:3px;line-height:1.6;}

.keyword-law-section {display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.keyword-law-card {background:#fff;border-radius:var(--radius-lg);padding:18px;border:1px solid var(--border);}
.grievance-keyword-cloud {display:flex;flex-wrap:wrap;gap:7px;margin-top:10px;}
.gkw {display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:20px;cursor:pointer;transition:all .2s;font-weight:600;}
.gkw:hover{transform:scale(1.05);}
.gkw.selected-kw{box-shadow:0 0 0 2px rgba(232,131,58,0.5);}
.gkw-freq {font-size:14px;opacity:0.7;}
.law-network {display:flex;flex-direction:column;gap:8px;margin-top:10px;}
.law-node {padding:10px 13px;border-radius:8px;border:1px solid var(--border);cursor:pointer;transition:all .2s;}
.law-node:hover{border-color:#8B4513;box-shadow:var(--shadow-sm);}
.law-node.active-law{border-color:#8B4513;background:#FDECDB;}
.law-node-header {display:flex;align-items:center;gap:8px;margin-bottom:5px;}
.law-node-name {font-size:14px;font-weight:700;color:var(--text-primary);}
.law-node-count {font-size:14px;font-weight:700;padding:2px 8px;border-radius:10px;background:#FDECDB;color:#8B4513;}
.law-connect-row {display:flex;flex-wrap:wrap;gap:5px;}
.law-connect-tag {font-size:14px;padding:2px 8px;border-radius:10px;}
.law-policy-matrix {margin-top:14px;}
.matrix-title {font-size:14px;font-weight:700;color:var(--text-muted);margin-bottom:8px;}
.matrix-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
.matrix-cell {padding:8px;border-radius:8px;text-align:center;cursor:pointer;transition:all .2s;}
.mc-law {font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:3px;}
.mc-policy {font-size:14px;color:var(--text-secondary);margin-bottom:4px;}
.mc-strength {font-size:14px;font-weight:900;}

.section-divider {display:flex;align-items:center;gap:12px;padding:4px 0;}
.section-divider-label-x {font-size:14px;font-weight:700;color:#374151;white-space:nowrap;}
.section-divider-label {font-size:13px;font-weight:700;color:#1A1A1A;white-space:nowrap;letter-spacing:0.05em;}
.section-divider-line {flex:1;height:1px;background:var(--border);}
.section-divider-badge {font-size:14px;font-weight:700;padding:3px 10px;border-radius:20px;background:linear-gradient(135deg,#E8833A,#5D3A1A);color:#fff;}

.mini-btn {
  padding:8px 16px;border-radius:7px;border:1px solid var(--border);
  background:#fff;font-family:'S-CoreDream',sans-serif;font-size:14px;
  color:var(--text-secondary);cursor:pointer;
}
.mini-btn:hover{background:#FDECDB;}

/* ===== PERSON MODAL (동일인 상세) ===== */
.modal-overlay {position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:2000;display:none;align-items:center;justify-content:center;}
.modal-overlay.open{display:flex;}
.modal-box {background:#fff;border-radius:16px;width:560px;max-width:90vw;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-lg);}
.modal-header {display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);}
.modal-title {font-size:14px;font-weight:700;color:var(--text-primary);}
.modal-close {background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-muted);}
.modal-body {padding:18px;}

/* ===== TYPING ANIMATION ===== */
.typing-indicator{display:flex;gap:4px;align-items:center;padding:6px 0;}
.typing-dot{width:7px;height:7px;border-radius:50%;background:#94A3B8;animation:typing 1.2s infinite;}
.typing-dot:nth-child(2){animation-delay:.2s;}
.typing-dot:nth-child(3){animation-delay:.4s;}
@keyframes typing{0%,60%,100%{transform:translateY(0);}30%{transform:translateY(-6px);}}

@keyframes cursor-blink{0%,100%{opacity:1;}50%{opacity:0;}}
.streaming::after{content:'▌';animation:cursor-blink 0.8s infinite;font-size:0.85em;color:#8B4513;}

/* ===== TOAST ===== */
.toast {
  position:fixed;top:68px;right:22px;z-index:2000;
  background:#FDECDB;color:#1A1A1A;border:1px solid #F5E4D0;border-radius:10px;padding:11px 18px;
  font-size:14px;font-weight:500;display:flex;align-items:center;gap:9px;
  box-shadow:var(--shadow-lg);opacity:0;transform:translateY(-10px);
  transition:all .3s;pointer-events:none;
}
.toast.show{opacity:1;transform:translateY(0);}

/* step nav */
.step-nav {
  padding:11px 22px;border-top:1px solid var(--border);background:#fff;
  display:flex;justify-content:space-between;align-items:center;
}
.step-nav-label{font-size:14px;color:var(--text-muted);}
.step-nav-btns{display:flex;gap:7px;}
.snav-btn {
  padding:7px 16px;border-radius:7px;border:none;cursor:pointer;
  font-family:'S-CoreDream',sans-serif;font-size:14px;font-weight:600;
  transition:all .15s;
}
.snav-prev{background:#FDECDB;color:var(--text-secondary);border:1px solid var(--border);}
.snav-next{background:linear-gradient(135deg,#E8833A,#5D3A1A);color:#fff;}
.snav-btn:hover{opacity:.85;}

/* pulse */
@keyframes pulse-ring{0%{box-shadow:0 0 0 0 rgba(232,131,58,0.4);}100%{box-shadow:0 0 0 12px rgba(232,131,58,0);}}
.pulse{animation:pulse-ring 1.8s infinite;}

/* tag chip */
.tag-chip {
  display:inline-flex;align-items:center;gap:4px;
  padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;
  margin-right:3px;
}
.chip-blue{background:#F1F5F9;color:#475569;border:1px solid #CBD5E1;}
.chip-amber{background:#F1F5F9;color:#475569;border:1px solid #CBD5E1;}
.chip-green{background:#F1F5F9;color:#475569;border:1px solid #CBD5E1;}
.chip-red{background:#FEF2F2;color:#B91C1C;border:1px solid #FECACA;}
.chip-purple{background:#F1F5F9;color:#475569;border:1px solid #CBD5E1;}

/* scrollbar */
::-webkit-scrollbar{width:5px;height:5px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px;}

/* info block */
.info-block {
  background:#F8FAFC;
  border:1px solid #EADFC8;border-radius:8px;padding:12px 14px;
  font-size:14px;line-height:1.8;color:#334155;
}

/* notify banner */
.notify-banner {
  background:linear-gradient(135deg,#FDECDB,#F0E8DC);border-bottom:1px solid #F5E4D0;
  padding:10px 22px;display:flex;align-items:center;gap:12px;
}
.notify-dot {
  width:8px;height:8px;border-radius:50%;background:#EF4444;flex-shrink:0;
  animation:pulse-ring 1.5s infinite;
}
.notify-text {font-size:14px;color:#1A1A1A;}
.notify-count {
  margin-left:auto;font-size:14px;font-weight:700;
  background:rgba(239,68,68,0.15);color:#B91C1C;
  padding:2px 10px;border-radius:12px;border:1px solid rgba(239,68,68,0.3);
}

/* ai-progress */
.ai-progress {height:2px;background:linear-gradient(90deg,#E8833A,#5D3A1A);animation:progress-anim 1.5s ease-out forwards;}
@keyframes progress-anim{from{width:0;}to{width:100%;}}

/* ===== REFINE COMPARE MODAL ===== */
.refine-modal-overlay {position:fixed;inset:0;background:rgba(0,0,0,0.55);z-index:3000;display:none;align-items:center;justify-content:center;}
.refine-modal-overlay.open{display:flex;}
.refine-modal-box {
  background:#fff;border-radius:16px;width:860px;max-width:95vw;max-height:90vh;
  overflow:hidden;box-shadow:0 16px 60px rgba(0,0,0,0.22);display:flex;flex-direction:column;
}
.refine-modal-header {
  padding:14px 20px;background:#E8833A;border-bottom:1px solid #8B4513;
  display:flex;align-items:center;gap:12px;flex-shrink:0;
}
.refine-modal-title {font-size:14px;font-weight:700;color:#fff;flex:1;}
.refine-modal-close {background:none;border:none;color:rgba(255,255,255,0.6);font-size:20px;cursor:pointer;}
.refine-modal-body {padding:20px;overflow-y:auto;flex:1;}
.refine-compare-grid {display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px;}
.refine-col-label {font-size:14px;font-weight:700;letter-spacing:0.08em;margin-bottom:7px;display:flex;align-items:center;gap:6px;}
.refine-col-box {
  background:#FDECDB;border-radius:8px;border:1px solid var(--border);
  padding:13px;font-size:14px;line-height:1.85;color:var(--text-primary);
  min-height:220px;max-height:300px;overflow-y:auto;white-space:pre-wrap;
}
.refine-col-box.after-box {background:linear-gradient(135deg,#FDECDB,#E4EAF7);border-color:#F5E4D0;}
.refine-diff-add {background:rgba(232,131,58,0.18);border-radius:2px;padding:0 2px;}
.refine-diff-del {background:rgba(239,68,68,0.15);text-decoration:line-through;color:#B91C1C;border-radius:2px;padding:0 2px;}

/* Required items checklist */
.req-checklist {background:linear-gradient(135deg,#FDECDB,#FDECDB);border:1px solid #F0D5B8;border-radius:10px;padding:14px;margin-bottom:16px;}
.req-checklist-title {font-size:14px;font-weight:700;color:#1A1A1A;margin-bottom:11px;display:flex;align-items:center;gap:7px;}
.req-items-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.req-item {
  display:flex;align-items:center;gap:8px;padding:9px 11px;border-radius:8px;
  border:1px solid var(--border);background:#fff;font-size:14px;font-weight:500;
}
.req-item.req-ok {background:#EBF5F0;border-color:#B8D8CC;color:#2D7D5F;}
.req-item.req-warn {background:#FEF3C7;border-color:#FDE68A;color:#92400E;}
.req-item.req-err {background:#FEF2F2;border-color:#FECACA;color:#B91C1C;}
.req-check-icon {font-size:14px;flex-shrink:0;}
.req-item-label {flex:1;line-height:1.35;}
.req-item-note {font-size:14px;color:var(--text-muted);margin-top:2px;}
.refine-summary-bar {
  display:flex;align-items:center;gap:12px;padding:11px 14px;
  background:#FDECDB;border-radius:8px;border:1px solid var(--border);
  margin-bottom:14px;font-size:14px;
}
.refine-stat {display:flex;align-items:center;gap:5px;font-weight:600;}
.refine-stat-ok {color:#2D7D5F;}
.refine-stat-warn {color:#F59E0B;}
.refine-stat-err {color:#EF4444;}
.refine-actions {display:flex;gap:9px;justify-content:flex-end;}

/* ===== REFINE TABS ===== */
.refine-tab-bar {
  display:flex;gap:4px;margin-bottom:14px;background:#FDECDB;
  border-radius:8px;padding:4px;border:1px solid var(--border);
}
.refine-tab-btn {
  flex:1;padding:7px 10px;border-radius:6px;border:none;cursor:pointer;
  font-family:'S-CoreDream',sans-serif;font-size:14px;font-weight:600;
  color:var(--text-secondary);background:transparent;transition:all .18s;
}
.refine-tab-btn.active {
  background:#fff;color:#8B4513;
  box-shadow:0 1px 4px rgba(0,0,0,0.1);
}
.refine-tab-btn:hover:not(.active){color:var(--text-primary);background:rgba(255,255,255,0.6);}
.refine-tab-pane {display:none;}
.refine-tab-pane.active {display:block;}
.refine-diff-only-box {
  background:#fff;border-radius:8px;border:1px solid var(--border);
  padding:13px;font-size:14px;line-height:1.85;min-height:220px;max-height:320px;overflow-y:auto;white-space:pre-wrap;
}
.diff-added-line {background:rgba(232,131,58,0.12);border-left:3px solid #E8833A;padding:2px 8px;margin:2px 0;border-radius:0 4px 4px 0;display:block;}
.diff-removed-line {background:rgba(239,68,68,0.08);border-left:3px solid #EF4444;padding:2px 8px;margin:2px 0;border-radius:0 4px 4px 0;text-decoration:line-through;color:#B91C1C;display:block;}
.diff-unchanged-line {padding:2px 8px;display:block;color:var(--text-muted);}
.diff-legend {display:flex;gap:12px;font-size:14px;margin-bottom:8px;align-items:center;}
.diff-legend-item {display:flex;align-items:center;gap:4px;}
.diff-legend-dot {width:8px;height:8px;border-radius:2px;flex-shrink:0;}

/* ===== REALTIME REQUIRED ITEMS CHECKLIST (under editor) ===== */
.realtime-checklist {
  background:linear-gradient(135deg,#FDECDB,#F0F6FF);
  border:1px solid #F0D5B8;border-radius:10px;padding:12px 14px;
  margin-bottom:12px;
}
.realtime-checklist-header {
  display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;
}
.realtime-checklist-title {
  font-size:14px;font-weight:700;color:#E8833A;
  display:flex;align-items:center;gap:6px;
}
.realtime-progress-wrap {display:flex;align-items:center;gap:8px;}
.realtime-progress-text {font-size:14px;font-weight:700;color:#8B4513;}
.realtime-progress-bar-track {width:80px;height:6px;background:#F5E4D0;border-radius:3px;overflow:hidden;}
.realtime-progress-bar-fill {height:6px;border-radius:3px;background:linear-gradient(90deg,#E8833A,#5D3A1A);transition:width .4s ease;}
.realtime-items-row {display:flex;flex-wrap:wrap;gap:6px;}
.realtime-item {
  display:inline-flex;align-items:center;gap:5px;padding:5px 10px;
  border-radius:20px;font-size:14px;font-weight:600;border:1px solid;
  transition:all .3s;cursor:default;
}
.realtime-item.ri-ok {
  background:#FDECDB;border-color:#F5E4D0;color:#1A1A1A;
}
.realtime-item.ri-miss {
  background:#F8FAFC;border-color:#CBD5E1;color:#94A3B8;
}
.realtime-item .ri-check {font-size:14px;transition:transform .2s;}
.realtime-item.ri-ok .ri-check {transform:scale(1.2);}

/* ===== SIMILAR CASE SEARCH PANEL ===== */
.case-search-view {display:none;flex-direction:column;height:100%;}
.case-search-view.open{display:flex;}
.case-search-header {
  padding:12px 14px 10px;border-bottom:1px solid var(--border);background:#FDECDB;flex-shrink:0;
}
.case-search-title {font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:8px;display:flex;align-items:center;gap:7px;}
.case-search-bar {display:flex;gap:6px;margin-bottom:8px;}
.case-search-input {
  flex:1;padding:7px 11px;border-radius:7px;border:1px solid var(--border);
  font-family:'S-CoreDream',sans-serif;font-size:14px;outline:none;
}
.case-search-input:focus{border-color:#E8833A;}
.case-search-btn {
  padding:7px 13px;border-radius:7px;background:linear-gradient(135deg,#E8833A,#5D3A1A);
  border:none;color:#fff;font-size:14px;cursor:pointer;font-family:'S-CoreDream',sans-serif;font-weight:600;
}
.case-filter-row {display:flex;gap:5px;flex-wrap:wrap;}
.case-filter-chip {
  font-size:14px;padding:3px 10px;border-radius:20px;cursor:pointer;
  border:1px solid var(--border);background:#fff;color:var(--text-secondary);
  transition:all .15s;font-family:'S-CoreDream',sans-serif;
}
.case-filter-chip.active-filter {background:#FDECDB;border-color:#8B4513;color:#8B4513;font-weight:700;}
.case-search-results {flex:1;overflow-y:auto;padding:10px;}
.case-result-item {
  padding:11px 13px;border-radius:9px;border:1px solid var(--border);background:#fff;
  margin-bottom:8px;cursor:pointer;transition:all .2s;
}
.case-result-item:hover{border-color:#8B4513;box-shadow:0 2px 8px rgba(232,131,58,0.1);}
.case-result-item.case-expanded{border-color:#8B4513;background:#FDECDB;}
.case-result-header {display:flex;align-items:flex-start;gap:9px;margin-bottom:6px;}
.case-sim-pill {
  font-size:14px;font-weight:700;padding:2px 9px;border-radius:10px;
  background:linear-gradient(135deg,#E8833A,#5D3A1A);color:#fff;flex-shrink:0;white-space:nowrap;
}
.case-result-title {font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.45;flex:1;}
.case-result-meta {display:flex;gap:7px;flex-wrap:wrap;align-items:center;font-size:14px;color:var(--text-muted);}
.case-expand-body {
  margin-top:10px;padding:11px 12px;background:#fff;border-radius:7px;
  border:1px solid #F0D5B8;font-size:14px;line-height:1.85;color:var(--text-primary);
  display:none;
}
.case-result-item.case-expanded .case-expand-body{display:block;}
.case-expand-actions {display:flex;gap:7px;margin-top:9px;flex-wrap:wrap;}
.case-back-btn {
  display:flex;align-items:center;gap:5px;font-size:14px;cursor:pointer;
  color:var(--blue);font-weight:600;margin-bottom:8px;background:none;border:none;
  font-family:'S-CoreDream',sans-serif;padding:0;
}
.case-back-btn:hover{opacity:.75;}

/* ===== 처리 방식 선택 토글 (배치 / 즉시) ===== */
.process-mode-bar {
  display:flex;align-items:center;
  background:#FBF7F2;border-bottom:1px solid #E8DFD3;
  border-radius:0;overflow:hidden;margin-bottom:0;border-top:1px solid #E8DFD3;
  /* 즉시처리 모드에서 padding:0일 때 탭 바 위치 보정용 */
  flex-shrink:0;
}
.process-mode-btn {
  flex:1;padding:9px 10px;border:none;cursor:pointer;
  font-family:'S-CoreDream',sans-serif;font-size:14px;font-weight:600;
  background:transparent;color:var(--text-secondary);transition:all .18s;
  display:flex;align-items:center;justify-content:center;gap:6px;
}
.process-mode-btn.pm-active-batch {
  background:linear-gradient(135deg,#8B4513,#8B4513);color:#fff;
}
.process-mode-btn.pm-active-instant {
  background:linear-gradient(135deg,#EF4444,#B91C1C);color:#fff;
}
.process-mode-btn:hover:not(.pm-active-batch):not(.pm-active-instant){
  background:rgba(0,0,0,0.04);color:var(--text-primary);
}
.process-mode-divider {width:1px;background:var(--border);height:32px;flex-shrink:0;}

/* 즉시처리 강조 배너 */
.instant-mode-banner {
  display:none;
  background:linear-gradient(135deg,#FFF1F2,#FFE4E6);
  border:1px solid #FECACA;border-radius:10px;padding:10px 14px;
  margin-bottom:12px;font-size:14px;color:#991B1B;line-height:1.7;
  animation:banner-pulse 2s ease-in-out 1;
}
@keyframes banner-pulse{0%{box-shadow:0 0 0 0 rgba(239,68,68,0.3);}50%{box-shadow:0 0 0 8px rgba(239,68,68,0);}100%{box-shadow:0 0 0 0 rgba(239,68,68,0);}}
.instant-mode-banner.show{display:flex;align-items:flex-start;gap:10px;}

/* 즉시처리 모달 */
.instant-modal-overlay {
  position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:3500;
  display:none;align-items:center;justify-content:center;
}
.instant-modal-overlay.open{display:flex;}
.instant-modal-box {
  background:#fff;border-radius:18px;width:740px;max-width:95vw;
  max-height:92vh;overflow:hidden;box-shadow:0 20px 70px rgba(0,0,0,0.28);
  display:flex;flex-direction:column;
}
.instant-modal-header {
  padding:16px 22px;background:linear-gradient(135deg,#7F1D1D,#B91C1C);
  display:flex;align-items:center;gap:12px;flex-shrink:0;
}
.instant-modal-title {font-size:14px;font-weight:700;color:#fff;flex:1;}
.instant-modal-sub {font-size:14px;color:rgba(255,255,255,0.65);margin-top:2px;}
.instant-modal-close {background:none;border:none;color:rgba(255,255,255,0.65);font-size:20px;cursor:pointer;}
.instant-modal-body {padding:20px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:14px;}

/* 즉시처리 스텝 인디케이터 */
.instant-steps {display:flex;margin-bottom:4px;}
.instant-step {
  display:flex;align-items:center;gap:7px;padding:7px 14px;
  font-size:14px;font-weight:600;color:rgba(255,255,255,0.5);
  background:rgba(255,255,255,0.06);border-radius:6px;flex:1;justify-content:center;
}
.instant-step.is-active {background:rgba(255,255,255,0.18);color:#fff;}
.instant-step.is-done {background:rgba(45,125,95,0.15);color:#2D7D5F;}
.instant-step-num {
  width:18px;height:18px;border-radius:50%;
  background:rgba(255,255,255,0.15);
  font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.instant-step.is-active .instant-step-num{background:#fff;color:#B91C1C;}
.instant-step.is-done .instant-step-num{background:#E8833A;color:#fff;}
.instant-step-arrow {color:rgba(255,255,255,0.2);font-size:14px;padding:0 2px;}

/* 즉시처리 본문 섹션 */
.instant-section {border-radius:10px;border:1px solid var(--border);overflow:hidden;}
.instant-section-head {
  padding:10px 14px;background:#FDECDB;border-bottom:1px solid #E8DFD3;
  display:flex;align-items:center;gap:8px;
}
.instant-section-title {font-size:14px;font-weight:700;color:var(--text-primary);flex:1;}
.instant-complaint-body {
  padding:14px;font-size:14px;line-height:1.85;color:var(--text-primary);background:#fff;
  max-height:120px;overflow-y:auto;
}
.instant-draft-box {
  padding:14px;font-size:14px;line-height:1.85;
  background:linear-gradient(135deg,#FDECDB,#FDECDB);min-height:160px;
  white-space:pre-wrap;
}
.instant-editor {
  padding:14px;min-height:160px;font-size:14px;line-height:1.85;
  color:var(--text-primary);outline:none;background:#fff;
  border:none;resize:none;width:100%;font-family:'S-CoreDream',sans-serif;
}
.instant-editor:focus{outline:2px solid rgba(239,68,68,0.2);outline-offset:0;}

/* 즉시처리 액션 바 */
.instant-action-bar {
  display:flex;gap:8px;justify-content:flex-end;padding:14px 20px;
  border-top:1px solid var(--border);background:#fff;flex-shrink:0;
}
.btn-instant-send {
  padding:10px 24px;border-radius:8px;border:none;cursor:pointer;
  font-family:'S-CoreDream',sans-serif;font-size:13px;font-weight:700;
  background:linear-gradient(135deg,#EF4444,#B91C1C);color:#fff;
  box-shadow:0 4px 14px rgba(239,68,68,0.35);transition:all .2s;
}
.btn-instant-send:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(239,68,68,0.45);}
.btn-instant-save {
  padding:10px 18px;border-radius:8px;
  background:#fff;border:1px solid var(--border);cursor:pointer;
  font-family:'S-CoreDream',sans-serif;font-size:13px;font-weight:500;
  color:var(--text-secondary);transition:all .15s;
}
.btn-instant-save:hover{background:#FDECDB;}

/* 즉시처리 완료 상태 */
.instant-complete-banner {
  display:none;background:linear-gradient(135deg,#FDECDB,#F0E8DC);
  border:1px solid #F5E4D0;border-radius:10px;padding:16px;text-align:center;
}
.instant-complete-banner.show{display:block;}

/* 민원 카드 즉시처리 버튼 */
.instant-quick-btn {
  display:inline-flex;align-items:center;gap:4px;
  margin-top:6px;padding:4px 10px;border-radius:20px;
  background:linear-gradient(135deg,#FEF2F2,#FFE4E6);
  border:1px solid #FECACA;color:#B91C1C;
  font-size:9.5px;font-weight:700;cursor:pointer;
  font-family:'S-CoreDream',sans-serif;transition:all .18s;
}
.instant-quick-btn:hover{background:linear-gradient(135deg,#EF4444,#B91C1C);color:#fff;border-color:transparent;}
.instant-quick-btn .iq-dot {
  width:5px;height:5px;border-radius:50%;background:#EF4444;
  animation:pulse-badge 1.2s infinite;flex-shrink:0;
}
.instant-quick-btn:hover .iq-dot{background:#fff;}

/* ── AI 분류 근거 순위 탭 ── */
.reason-rank-tab {
  padding:3px 10px;border-radius:6px;border:1px solid var(--border);
  background:#F8FAFC;color:var(--text-secondary);font-family:'S-CoreDream',sans-serif;
  font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;
}
.active-reason-tab {background:#E8833A;color:#fff;border-color:#E8833A;}

/* ── 분류 근거 행 ── */
.reason-row {
  display:flex;align-items:flex-start;gap:7px;padding:7px 10px;
  background:#F8FAFC;border-radius:8px;border:1px solid var(--border);margin-bottom:5px;
}
.reason-label {
  font-size:12px;font-weight:700;color:#8B4513;white-space:nowrap;
  padding-top:1px;min-width:90px;flex-shrink:0;
}
.reason-text {font-size:13px;color:var(--text-secondary);line-height:1.7;flex:1;}
.reason-copy-btn {
  padding:5px 12px;border-radius:6px;border:1px solid #F0D5B8;background:#FDECDB;
  color:#8B4513;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;
  font-family:'S-CoreDream',sans-serif;flex-shrink:0;flex:1;text-align:center;
}
.reason-copy-btn:hover{background:#F5E4D0;}
.reason-view-btn {
  padding:5px 12px;border-radius:6px;border:1px solid #E8DFD3;background:#FBF7F2;
  color:#475569;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;
  font-family:'S-CoreDream',sans-serif;flex-shrink:0;flex:1;text-align:center;
}
.reason-view-btn:hover{background:#EADFC8;}
.reason-btn-row {display:flex;gap:5px;flex-shrink:0;min-width:120px;}

/* ── 협조부서 드래그 ── */
.collab-item[draggable="true"]{cursor:grab;}
.collab-item.dragging{opacity:0.4;}

/* 시안 프리뷰: 하단 주의문구 — fixed 오버레이 제거, 시안 영역과 세로로 분리 */
body.has-preview-notice {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  margin: 0;
}
body.has-preview-notice .scenario-shell {
  flex: 1 1 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
body.has-preview-notice .screen,
body.has-preview-notice .screen.active {
  min-height: 0 !important;
  flex: 1 1 0;
}
.ai-preview-notice {
  flex-shrink: 0;
  width: 100%;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px 20px 12px;
  background: rgba(255, 248, 225, 0.98);
  border-top: 1px solid #F3D77A;
  color: #6B4A00;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.5;
  box-shadow: 0 -4px 16px rgba(15, 23, 42, 0.06);
  box-sizing: border-box;
}
.ai-preview-notice__line {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  max-width: 960px;
  margin: 0 auto;
  width: 100%;
}
.ai-preview-notice__icon {
  font-size: 14px;
  line-height: 1.2;
  flex-shrink: 0;
  margin-top: 1px;
}
@media (max-width: 600px) {
  .ai-preview-notice { padding: 8px 14px 10px; font-size: 11.5px; }
}
