/* 정부지원사업 워크스페이스 — docs/DESIGN.md 미드나잇 레모네이드 토큰만 사용. */
#blnAppNav {
  position: fixed; z-index: 50; left: 0; top: var(--bln-header-height, 53px); bottom: 0;
  width: 228px; display: flex; flex-direction: column;
  background: #0e1118; color: #eef1f8; border-right: 1px solid #222839;
  transition: width 180ms ease, transform 180ms ease;
}
#blnAppNav.collapsed { width: 66px; }
#blnAppNav button {
  appearance: none; border: 0; background: transparent; color: inherit; cursor: pointer;
  font: inherit;
}
.bln-nav-head { display: flex; align-items: center; justify-content: space-between; min-height: 54px; padding: 10px; border-bottom: 1px solid #222839; }
.bln-nav-brand { display: flex; align-items: center; gap: 10px; min-width: 0; font-weight: 720; }
.bln-nav-mark { display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 auto; background: #f2e829; color: #131503; border-radius: 4px; font: 700 12px "JetBrains Mono", monospace; }
.bln-nav-collapse { width: 30px; height: 30px; color: #757e94 !important; border: 1px solid #2e3547 !important; border-radius: 4px !important; }
#blnAppNav.collapsed .bln-nav-label, #blnAppNav.collapsed .bln-nav-word, #blnAppNav.collapsed .bln-nav-note { display: none; }
#blnAppNav.collapsed .bln-nav-collapse { transform: rotate(180deg); }
.bln-nav-items { display: grid; gap: 4px; padding: 10px; }
.bln-nav-item {
  display: flex; align-items: center; gap: 12px; min-height: 42px; padding: 0 12px !important;
  border-radius: 4px !important; color: #a8b0c4 !important; text-align: left;
}
.bln-nav-item:hover { background: #1a1f2e !important; color: #eef1f8 !important; }
.bln-nav-item.active { background: #eef1f8 !important; color: #0e1118 !important; }
.bln-nav-icon { width: 20px; flex: 0 0 auto; text-align: center; font: 700 14px "JetBrains Mono", monospace; }
.bln-nav-icon.support::before { content: "◎"; }
.bln-nav-icon.procurement::before { content: "◇"; }
.bln-nav-icon.document::before { content: "▣"; }
.bln-nav-note { margin: auto 12px 14px; padding: 12px 0 0; border-top: 1px solid #222839; color: #757e94; font-size: 11px; line-height: 1.55; }
body.bln-nav-visible > main, body.bln-nav-visible > #editToolbar { margin-left: 228px; }
body.bln-nav-visible.bln-nav-collapsed > main, body.bln-nav-visible.bln-nav-collapsed > #editToolbar { margin-left: 66px; }
body.support-mode > main, body.support-mode > #editToolbar { display: none !important; }
body > header > strong { cursor: pointer; }
#blnMobileMenu { display: none; }

#supportWorkspace {
  flex: 1 1 auto; min-height: 0; margin-left: 228px; overflow: auto;
  background: #f6f8fc; color: #0b1526;
}
body.bln-nav-collapsed #supportWorkspace { margin-left: 66px; }
#supportWorkspace.hidden { display: none !important; }
#supportLoading[hidden], #supportGrid[hidden] { display: none !important; }
.support-shell { min-height: 100%; }
.support-top {
  position: sticky; z-index: 20; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 20px clamp(20px,4vw,48px); background: #f6f8fc; border-bottom: 1px solid #dfe3ee;
}
.support-kicker { margin: 0 0 4px; color: #5c6880; font: 700 10px "JetBrains Mono", monospace; letter-spacing: .12em; text-transform: uppercase; }
.support-top h1 { margin: 0; font-size: clamp(20px,2.4vw,30px); line-height: 1.08; letter-spacing: -.035em; }
.support-profile-button, .support-primary, .support-secondary {
  appearance: none; min-height: 42px; padding: 0 17px; border: 1px solid #0b1526; border-radius: 999px;
  background: #0b1526; color: #fff; font: 650 13px inherit; cursor: pointer;
}
.support-profile-button:hover, .support-primary:hover { background: #f5d908; color: #131503; }
.support-primary:disabled { border-color: #dfe3ee; background: #e9edf5; color: #7b8296; cursor: not-allowed; }
.support-secondary { background: transparent; color: #0b1526; }
.support-secondary:hover { border-color: #2456e6; color: #2456e6; }
.support-content { max-width: 1420px; margin: 0 auto; padding: 24px clamp(20px,4vw,48px) 60px; }
.support-banner { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 18px; padding: 13px 15px; border: 1px solid #d7b700; background: #fff9c9; font-size: 13px; }
.support-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; margin-bottom: 20px; border: 1px solid #dfe3ee; background: #dfe3ee; }
.support-metric { padding: 16px; background: #fff; }
.support-metric.accent { background: #f5d908; }
.support-metric small { display: block; color: #5c6880; font: 700 10px "JetBrains Mono", monospace; letter-spacing: .08em; text-transform: uppercase; }
.support-metric.accent small { color: #1e293b; }
.support-metric strong { display: block; margin-top: 8px; font: 700 28px "JetBrains Mono", monospace; }
.support-toolbar { display: flex; gap: 8px; margin-bottom: 18px; padding: 14px 0; border-top: 1px solid #0b1526; border-bottom: 1px solid #0b1526; }
.support-toolbar input { min-width: 0; flex: 1; height: 42px; padding: 0 13px; border: 1px solid #0b1526; background: #fff; color: #0b1526; font: inherit; }
.support-filter { appearance: none; padding: 0 13px; border: 1px solid #0b1526; background: #fff; color: #0b1526; cursor: pointer; font-weight: 650; }
.support-filter.active { background: #0b1526; color: #fff; }
.support-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,520px); gap: 18px; align-items: start; }
.support-list { display: grid; gap: 10px; }
.support-card {
  appearance: none; width: 100%; padding: 18px; border: 1px solid #0b1526; border-radius: 0;
  background: #fff; color: #0b1526; text-align: left; cursor: pointer;
  transition: transform 140ms ease, box-shadow 140ms ease;
}
.support-card:hover { transform: translateY(-2px); box-shadow: 4px 4px 0 #0b1526; }
.support-card.active { background: #0b1526; color: #eef1f8; }
.support-card-top { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.support-badge { padding: 4px 7px; background: #e9edf5; color: #5c6880; font: 700 10px "JetBrains Mono", monospace; }
.support-badge.eligible { background: #f5d908; color: #131503; }
.support-badge.review { background: #fff1a8; color: #5e4300; }
.support-badge.ineligible { background: #e9edf5; color: #5c6880; }
.support-source { color: #7b8296; font: 500 10px "JetBrains Mono", monospace; }
.support-deadline { margin-left: auto; font: 700 11px "JetBrains Mono", monospace; }
.support-card h2 { margin: 0; font-size: 17px; line-height: 1.35; letter-spacing: -.025em; }
.support-card p { margin: 8px 0 0; color: #5c6880; font-size: 13px; line-height: 1.55; }
.support-card.active p, .support-card.active .support-source { color: #a8b0c4; }
.support-detail { position: sticky; top: 98px; max-height: calc(100vh - 124px); overflow: auto; border: 1px solid #0b1526; background: #fff; }
.support-detail-head { padding: 20px; background: #0b1526; color: #eef1f8; }
.support-detail-head h2 { margin: 10px 0 0; font-size: 21px; line-height: 1.25; letter-spacing: -.03em; }
.support-detail-head p { margin: 7px 0 0; color: #a8b0c4; font-size: 12px; }
.support-detail-body { display: grid; gap: 22px; padding: 20px; }
.support-section { border-top: 1px solid #dfe3ee; padding-top: 17px; }
.support-section:first-child { border-top: 0; padding-top: 0; }
.support-section h3 { margin: 0 0 9px; font: 700 11px "JetBrains Mono", monospace; letter-spacing: .08em; text-transform: uppercase; }
.support-section p, .support-section li { font-size: 13px; line-height: 1.6; }
.support-section ul { margin: 0; padding-left: 17px; }
.support-origin { color: #2456e6; font-size: 13px; font-weight: 650; }
.support-checks { display: grid; gap: 6px; }
.support-check { display: grid; grid-template-columns: 18px minmax(0,1fr); align-items: start; gap: 8px; padding: 9px; border: 1px solid #dfe3ee; font-size: 13px; line-height: 1.45; cursor: pointer; }
.support-check input[type="checkbox"] {
  width: 16px; height: 16px; margin: 1px 0 0; padding: 0; border-radius: 2px;
  accent-color: #0b1526;
}
.support-check.done span { color: #7b8296; text-decoration: line-through; }
.support-attachments { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.support-attachments a { display: inline-grid; place-items: center; min-height: 34px; padding: 0 11px; text-decoration: none; font-size: 11px; }
.support-section textarea, .support-section input:not([type="checkbox"]), .support-profile-grid input, .support-profile-grid select {
  width: 100%; padding: 10px 11px; border: 1px solid #0b1526; border-radius: 4px;
  background: #fff; color: #0b1526; font: inherit;
}
.support-section textarea { min-height: 92px; resize: vertical; }
.support-file {
  position: relative; display: block; overflow: hidden; margin-top: 8px; padding: 11px;
  border: 1px dashed #0b1526; font-size: 12px; cursor: pointer;
}
.support-file input {
  position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer;
}
.support-block-button { width: 100%; margin-top: 9px; }
.support-message { margin-top: 8px !important; padding: 10px; background: #eef2ff; color: #1f3d94; }
.support-error { margin-top: 8px !important; padding: 10px; border: 1px solid #dc2626; background: #fff2f2; color: #9b1c1c; }
.support-empty { display: grid; min-height: 220px; place-items: center; border: 1px solid #dfe3ee; background: #fff; color: #5c6880; text-align: center; }
.support-sources { margin-top: 24px; padding-top: 14px; border-top: 1px solid #dfe3ee; color: #7b8296; font: 500 10px/1.7 "JetBrains Mono", monospace; }

#supportProfileDialog {
  width: min(980px,calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 0;
  border: 1px solid #0b1526; background: #fff; color: #0b1526; box-shadow: 10px 10px 0 #0b1526;
}
#supportProfileDialog::backdrop { background: rgba(6,10,22,.62); }
.support-profile-head { display: flex; justify-content: space-between; gap: 20px; padding: 18px 20px; border-bottom: 1px solid #0b1526; }
.support-profile-head h2 { margin: 0; }
.support-profile-head p { margin: 4px 0 0; color: #5c6880; font-size: 12px; }
.support-profile-head button { appearance: none; border: 0; background: transparent; font-size: 24px; cursor: pointer; }
.support-profile-form { padding: 20px; overflow: auto; }
.support-profile-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.support-profile-grid label { display: grid; gap: 5px; color: #5c6880; font-size: 11px; font-weight: 650; }
.support-profile-actions { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 18px; }
.support-profile-actions > div { display: flex; align-items: center; gap: 10px; }
.support-profile-note { color: #5c6880; font-size: 11px; }

@media (max-width: 1050px) {
  .support-grid { grid-template-columns: 1fr; }
  .support-detail { position: static; max-height: none; }
  .support-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  #blnMobileMenu { display: inline-flex; }
  #blnAppNav { transform: translateX(-100%); width: 228px; }
  body.bln-mobile-nav #blnAppNav { transform: translateX(0); }
  body.bln-nav-visible > main, body.bln-nav-visible.bln-nav-collapsed > main,
  body.bln-nav-visible > #editToolbar, body.bln-nav-visible.bln-nav-collapsed > #editToolbar,
  #supportWorkspace, body.bln-nav-collapsed #supportWorkspace { margin-left: 0; }
  .support-top { align-items: flex-start; padding-left: 56px; }
  .support-toolbar { flex-wrap: wrap; }
  .support-toolbar input { flex-basis: 100%; }
  .support-profile-grid { grid-template-columns: 1fr; }
  .support-banner { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  #blnAppNav, .support-card { transition: none; }
}
