/* HYUK SI v0.3 ~ v0.6 — scoped to the 혁신강좌 panel + High-Contrast Dashboard Readability */
#tabHyuk .hyuk-si-toolbar { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
#tabHyuk .hyuk-si-action { cursor:pointer; border:1px solid #bfdbfe; background:#eaf2ff; color:#103660; border-radius:7px; padding:7px 11px; font-size:12px; font-weight:800; }
#tabHyuk .hyuk-si-action:focus-visible { outline:3px solid #2563eb; outline-offset:2px; }
#tabHyuk .hyuk-si-action--primary { background:#123a63; border-color:#123a63; color:white; }
#tabHyuk .hyuk-si-action--teal { background:#087e6d; border-color:#087e6d; color:white; }
#tabHyuk.hyuk-si-report-open > table,
#tabHyuk.hyuk-si-report-open > #hyuk-minutes-v05,
#tabHyuk.hyuk-si-report-open > #hyukSIAutoAuditStrip { display:none !important; }
#tabHyuk .hyuk-si-audit-strip {
  display:flex;
  flex-direction:column;
  gap:7px;
  padding:9px 14px;
  background:linear-gradient(90deg, #0f172a 0%, #1e3a8a 100%);
  color:#f8fafc;
  font-size:12.5px;
  border-bottom:2px solid #334155;
}
#tabHyuk .hyuk-audit-row-top {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
#tabHyuk .hyuk-audit-left { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
#tabHyuk .hyuk-audit-badge {
  background:#f59e0b;
  color:#0f172a;
  font-weight:900;
  padding:3px 8px;
  border-radius:5px;
  font-size:11.5px;
}
#tabHyuk .hyuk-audit-item { color:#e2e8f0; }
#tabHyuk .hyuk-audit-item b { color:#fde047; }
#tabHyuk .hyuk-audit-item.warn b { color:#fda4af; }
#tabHyuk .hyuk-audit-sep { color:#64748b; }
#tabHyuk .hyuk-audit-btn {
  cursor:pointer;
  background:#fef08a;
  color:#0f172a;
  border:1px solid #facc15;
  border-radius:6px;
  padding:5px 11px;
  font-size:12px;
  font-weight:900;
}
#tabHyuk .hyuk-audit-row-qa {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  padding-top:6px;
  border-top:1px solid rgba(148, 163, 184, 0.28);
}
#tabHyuk .hyuk-qa-title {
  font-size:12px;
  font-weight:900;
  color:#fde047;
  margin-right:4px;
}
#tabHyuk .hyuk-qa-chip {
  cursor:pointer;
  background:rgba(255, 255, 255, 0.12);
  color:#ffffff;
  border:1px solid rgba(147, 197, 253, 0.45);
  border-radius:6px;
  padding:4px 10px;
  font-size:12px;
  font-weight:800;
  transition:all 0.15s;
}
#tabHyuk .hyuk-qa-chip:hover,
#tabHyuk .hyuk-qa-chip.active {
  background:#2563eb;
  border-color:#93c5fd;
  color:#fef08a;
}
#tabHyuk .hyuk-qa-drawer {
  margin-top:4px;
}
#tabHyuk .hyuk-qa-card {
  background:#ffffff;
  color:#0f172a;
  border:2px solid #facc15;
  border-radius:8px;
  padding:10px 14px;
  box-shadow:0 6px 18px rgba(0, 0, 0, 0.25);
}
#tabHyuk .hyuk-qa-card-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  padding-bottom:6px;
  border-bottom:1px solid #cbd5e1;
  font-size:14px;
  color:#0f172a;
}
#tabHyuk .hyuk-qa-tag {
  background:#dc2626;
  color:#ffffff;
  font-size:11px;
  font-weight:900;
  padding:2px 7px;
  border-radius:4px;
  margin-right:6px;
}
#tabHyuk .hyuk-qa-close {
  cursor:pointer;
  background:#f1f5f9;
  color:#334155;
  border:1px solid #cbd5e1;
  border-radius:5px;
  padding:3px 9px;
  font-size:11.5px;
  font-weight:800;
}
#tabHyuk .hyuk-qa-intent {
  margin:7px 0;
  padding:6px 10px;
  background:#eff6ff;
  border-left:4px solid #2563eb;
  border-radius:4px;
  font-size:12.5px;
  color:#1e3a8a;
}
#tabHyuk .hyuk-qa-answer {
  padding:8px 10px;
  background:#f0fdf4;
  border:1px solid #bbf7d0;
  border-left:4px solid #059669;
  border-radius:4px;
  font-size:13px;
  line-height:1.65;
  color:#0f172a;
}
#tabHyuk .hyuk-si-report-wrapper { background:#e8edf4; padding:16px 10px 24px; min-height:74vh; }
#tabHyuk .hyuk-si-report-wrapper[hidden] {display:none !important;}
#tabHyuk .hyuk-si-report-bar { width:min(100%, 210mm); margin:0 auto 8px; display:flex; gap:8px; justify-content:space-between; align-items:center; flex-wrap:wrap; }
#tabHyuk .hyuk-si-report-note { color:#0f172a; font-weight:900; font-size:13px; }

/* Version Control & Double-Click Edit Toolbar */
#tabHyuk .hyuk-si-version-bar {
  width:min(100%, 210mm);
  margin:0 auto 12px;
  background:#ffffff;
  border:1.5px solid #93c5fd;
  border-radius:10px;
  padding:10px 12px;
  display:flex;
  flex-direction:column;
  gap:8px;
  box-shadow:0 3px 10px rgba(15,23,42,0.06);
}
#tabHyuk .hyuk-si-vbar-left,
#tabHyuk .hyuk-si-vbar-right {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
#tabHyuk .hyuk-si-vbar-badge {
  background:#eff6ff;
  color:#1e3a8a;
  border:1px solid #bfdbfe;
  padding:4px 9px;
  border-radius:6px;
  font-size:12px;
  font-weight:700;
}
#tabHyuk .hyuk-si-vbar-input {
  border:1px solid #94a3b8;
  border-radius:6px;
  padding:5px 9px;
  font-size:12.5px;
  font-weight:700;
  color:#0f172a;
  min-width:220px;
}
#tabHyuk .hyuk-si-vbar-select {
  border:1px solid #94a3b8;
  border-radius:6px;
  padding:5px 9px;
  font-size:12.5px;
  font-weight:800;
  color:#0f172a;
  background:#f8fafc;
  min-width:260px;
}
#tabHyuk .hyuk-si-vbar-btn {
  cursor:pointer;
  border:1px solid #1e3a8a;
  background:#1e3a8a;
  color:#ffffff;
  border-radius:6px;
  padding:5px 11px;
  font-size:12px;
  font-weight:800;
}
#tabHyuk .hyuk-si-vbar-btn.save { background:#059669; border-color:#059669; }
#tabHyuk .hyuk-si-vbar-btn.compare { background:#4f46e5; border-color:#4f46e5; }
#tabHyuk .hyuk-si-vbar-btn.reset { background:#f1f5f9; color:#334155; border-color:#cbd5e1; }
#tabHyuk .hyuk-si-vbar-status { font-size:12px; font-weight:800; color:#047857; }
#tabHyuk .hyuk-si-compare-panel {
  border:1.5px solid #6366f1;
  background:#ffffff;
  border-radius:8px;
  padding:10px;
  margin-top:4px;
}
#tabHyuk .hyuk-cmp-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-bottom:6px;
  border-bottom:1px solid #e2e8f0;
  font-size:13px;
  color:#1e1b4b;
}
#tabHyuk .hyuk-cmp-head button {
  cursor:pointer;
  background:#f1f5f9;
  border:1px solid #cbd5e1;
  border-radius:5px;
  padding:3px 8px;
  font-size:11.5px;
  font-weight:800;
}
#tabHyuk .hyuk-dbl-target { cursor:text; transition:background-color 0.12s; }
#tabHyuk .hyuk-dbl-target:hover { background-color:rgba(254, 240, 138, 0.35); }
#tabHyuk .hyuk-editing-active {
  background-color:#fef08a !important;
  outline:2px solid #2563eb !important;
  border-radius:3px;
}

/* Single page (President) vs Two separate A4 sheets (Director) */
#tabHyuk .hyuk-si-paper { width:210mm; margin:0 auto; background:transparent; color:#0f172a; font-family:Pretendard,Malgun Gothic,sans-serif; }
#tabHyuk .hyuk-si-page {
  width:210mm;
  min-height:297mm;
  margin:0 auto;
  background:#fff;
  box-shadow:0 7px 32px #001a3c20;
  padding:9mm 11mm 10mm;
  box-sizing:border-box;
}
#tabHyuk .hyuk-si-page + .hyuk-si-page {
  margin-top:16px;
}

#tabHyuk .hyuk-si-paper .official-header {margin-bottom:7px;}
#tabHyuk .hyuk-si-paper .official-title {font-size:15.5px; padding:3mm 3mm; }
#tabHyuk .hyuk-si-paper .official-meta {font-size:8.5px; }
#tabHyuk .hyuk-si-section {margin-top:8px;}
#tabHyuk .hyuk-si-section-title {font-size:11.5px; font-weight:900; color:#0f172a; line-height:1.3; margin-bottom:4px; padding-left:6px; border-left:3.5px solid #1e3a8a;}
#tabHyuk .hyuk-si-cards {display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
#tabHyuk .hyuk-si-stat {border:1.5px solid #cbd5e1; background:#f8fafc; border-radius:8px; padding:7px 8px; min-height:66px; }
#tabHyuk .hyuk-si-stat:nth-child(2) {border-color:#93c5fd; background:#eff6ff;}
#tabHyuk .hyuk-si-stat:nth-child(3) {border-color:#fbbf24; background:#fffbeb;}
#tabHyuk .hyuk-si-stat:nth-child(4) {border-color:#6ee7b7; background:#ecfdf5;}
#tabHyuk .hyuk-si-stat-label {font-size:8.5px; font-weight:800; color:#334155; line-height:1.3;}
#tabHyuk .hyuk-si-stat-number {font-size:18px; line-height:1.25; color:#0f172a; font-weight:900; margin:3px 0 2px;}
#tabHyuk .hyuk-si-stat-small {font-size:8px; color:#475569; line-height:1.35;}
#tabHyuk .hyuk-si-textpanel {background:#f8fafc; border:1px solid #cbd5e1; border-left:4px solid #2563eb; border-radius:7px; padding:7px 10px; font-size:9.5px; line-height:1.6; color:#0f172a;}
#tabHyuk .hyuk-si-textpanel.green {background:#eefcf6; border-color:#b4e6cd; border-left-color:#059669;}
#tabHyuk .hyuk-si-textpanel.amber {background:#fffaf0; border-color:#ffdda4; border-left-color:#d97706;}
#tabHyuk .hyuk-si-textpanel + .hyuk-si-textpanel {margin-top:5px;}
#tabHyuk .hyuk-si-tbl {width:100%; border:1px solid #94a3b8; border-collapse:collapse; font-size:9.5px; table-layout:fixed;}
#tabHyuk .hyuk-si-tbl th {padding:5px 5px; background:#e2e8f0; color:#0f172a; border:1px solid #94a3b8; font-weight:900; text-align:left;}
#tabHyuk .hyuk-si-tbl td {padding:5px 5px; border:1px solid #cbd5e1; vertical-align:middle; line-height:1.4; color:#0f172a; overflow-wrap:anywhere;}
#tabHyuk .hyuk-si-tbl.hyuk-si-tbl-compact {font-size:8.8px;}
#tabHyuk .hyuk-si-tbl.hyuk-si-tbl-compact th,
#tabHyuk .hyuk-si-tbl.hyuk-si-tbl-compact td {padding:3.2px 4.5px !important; line-height:1.32 !important;}
#tabHyuk .hyuk-si-status {display:inline-block; color:#a15c05; background:#fff3d6; border:1px solid #eed69a; padding:2px 6px; border-radius:4px; font-size:8px; font-weight:900; }
#tabHyuk .hyuk-si-source {display:none !important;}
#tabHyuk .hyuk-si-signal {width:min(100%, 210mm); margin:0 auto 8px; border:1px solid #ffd080;background:#fffbeb;border-radius:6px;padding:8px;color:#814a07;font-size:10px;font-weight:700;line-height:1.5;}
#tabHyuk .hyuk-si-signal.error {border-color:#fda4af;background:#fff1f2;color:#9f1239;}

/* ═══════════════════════════════════════════════════════════════════════════
   [국가재정지원사업 대시보드 3대 핵심 탭 초고선명(High-Contrast) 가독성 강화]
   대상: #tabExec (집행총괄), #tabDetail (사업단별 상세), #tabChart (시각화 분석)
   ═══════════════════════════════════════════════════════════════════════════ */
#tabExec, #tabDetail, #tabChart {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* 1. 집행총괄 (#tabExec) 선명도 강화 */
#tabExec table {
  font-size: 13.5px !important;
  color: #0f172a !important;
}
#tabExec thead th {
  font-size: 12.5px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em;
}
#tabExec thead th span.block {
  font-size: 10.5px !important;
  color: #e2e8f0 !important;
  font-weight: 600 !important;
}
#tabExec tbody td {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  padding: 10px 8px !important;
  line-height: 1.45 !important;
  border-bottom: 1px solid #cbd5e1 !important;
}
#tabExec tbody td .text-\[10px\],
#tabExec tbody td .text-\[11px\],
#tabExec tbody td .text-xs {
  font-size: 12.5px !important;
  font-weight: 700 !important;
}
#tabExec tbody td .text-slate-400,
#tabExec tbody td .text-slate-500,
#tabExec tbody td .text-slate-600 {
  color: #1e293b !important;
}

/* 2. 사업단별 상세 (#tabDetail) 카드뷰 선명도 강화 */
#tabDetail h2 {
  font-size: 18px !important;
  color: #0f172a !important;
}
#tabDetail p.text-xs {
  font-size: 13.5px !important;
  color: #1e293b !important;
  font-weight: 700 !important;
}
#tabDetail #detailGrid > div {
  border-width: 1.5px !important;
  border-color: #94a3b8 !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08) !important;
}
#tabDetail #detailGrid .text-xs,
#tabDetail #detailGrid .text-\[11px\],
#tabDetail #detailGrid .text-\[10px\] {
  font-size: 13px !important;
  line-height: 1.55 !important;
  font-weight: 700 !important;
}
#tabDetail #detailGrid .text-slate-400,
#tabDetail #detailGrid .text-slate-500,
#tabDetail #detailGrid .text-slate-600,
#tabDetail #detailGrid .text-slate-700 {
  color: #0f172a !important;
}

/* 3. 시각화 분석 (#tabChart) 선명도 강화 */
#tabChart h3 {
  font-size: 16px !important;
  font-weight: 900 !important;
}
#tabChart h4 {
  font-size: 14.5px !important;
  font-weight: 900 !important;
  color: #0f172a !important;
}
#tabChart .text-\[9px\],
#tabChart .text-\[10px\],
#tabChart .text-\[11px\],
#tabChart .text-xs {
  font-size: 13px !important;
  font-weight: 700 !important;
}
#tabChart .text-slate-400,
#tabChart .text-slate-500,
#tabChart .text-slate-600 {
  color: #1e293b !important;
}
#tabChart #projectMonthlyPanel table th {
  font-size: 12.5px !important;
  font-weight: 800 !important;
  padding: 9px 6px !important;
}
#tabChart #projectMonthlyPanel table td {
  font-size: 13px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  padding: 9px 6px !important;
}

@media (max-width:880px) {
  #tabHyuk .hyuk-si-report-wrapper {overflow-x:auto;}
  #tabHyuk .hyuk-si-paper {margin-left:0;}
}
@media print {
  body.hyuk-si-print-mode > :not(#tabHyuk) {display:none !important;}
  body.hyuk-si-print-mode, body.hyuk-si-print-mode #tabHyuk {display:block !important; overflow:visible !important; height:auto !important; background:#fff !important;}
  body.hyuk-si-print-mode #tabReport {display:none !important;}
  body.hyuk-si-print-mode #tabHyuk > :not(#hyukSIReportWrapper) {display:none !important;}
  body.hyuk-si-print-mode #hyukSIReportWrapper {display:block !important; overflow:visible !important; min-height:0 !important; background:#fff !important; padding:0 !important;}
  body.hyuk-si-print-mode #hyukSIReportBar,
  body.hyuk-si-print-mode #hyukSIVersionBar {display:none !important;}
  body.hyuk-si-print-mode .hyuk-si-paper {width:210mm !important; margin:0 !important; padding:0 !important; background:#fff !important;}
  body.hyuk-si-print-mode .hyuk-si-page {width:210mm !important; min-height:0 !important; margin:0 !important; padding:8mm 9mm !important; box-shadow:none !important; print-color-adjust:exact !important; -webkit-print-color-adjust:exact !important;}
  body.hyuk-si-print-mode .hyuk-si-page-break {page-break-before:always !important; break-before:page !important;}
  body.hyuk-si-print-mode .hyuk-si-textpanel,body.hyuk-si-print-mode .hyuk-si-stat {break-inside:avoid;}
  @page {size:A4 portrait;margin:0;}
}
