/* Current design: shared reading and query surfaces; the theme selector remains separate. */
html[data-workbench] { --work-ink: #263b39; --work-muted: #536663; --work-rule: #d7dfdc; --work-accent: #20584f; --work-wash: #f3f6f4; }
html[data-workbench] body { background: #fff !important; color: var(--work-ink); font-family: "Pretendard", "SUIT", "Inter", "Noto Sans KR", "Noto Sans CJK KR", system-ui, sans-serif; font-size: 14px; line-height: 1.6; }
html[data-workbench] * { letter-spacing: 0; }
html[data-workbench] [hidden] { display: none !important; }
html[data-workbench] .wrap { width: min(1240px, calc(100% - 48px)); }
html[data-workbench] main h1 { font-family: inherit !important; font-size: 24px !important; line-height: 1.4 !important; margin: 0 !important; color: var(--work-ink) !important; }
html[data-workbench] main h2 { font-family: inherit !important; font-size: 18px !important; line-height: 1.5; color: var(--work-ink); }
html[data-workbench] main h3 { font-family: inherit !important; font-size: 16px !important; line-height: 1.5; }
html[data-workbench] main p { line-height: 1.65; }
html[data-workbench] main > section, html[data-workbench] [data-business-panel] > section, html[data-workbench] .policy-panel > section { padding-block: 16px !important; }
html[data-workbench] .business-heading, html[data-workbench] .policy-heading, html[data-workbench] .funding-heading, html[data-workbench] .output-heading, html[data-workbench] .work-heading { padding-block: 20px 12px !important; }
html[data-workbench] .section-head { gap: 12px; margin-bottom: 12px; }
html[data-workbench] .section-head p, html[data-workbench] .business-heading p, html[data-workbench] .business-panel-meta p { font-size: 13px; margin-block: 4px; color: var(--work-muted); }
html[data-workbench] .business-panel-meta { padding-top: 10px; }
html[data-workbench] .business-tabs-band { background: #fff; }
html[data-workbench] .business-tabs { display: flex; }
html[data-workbench] .business-tabs [role="tab"] { padding: 10px 20px; min-height: 44px; }
html[data-workbench] .soft-section { background: #fff !important; }
html[data-workbench] .btn, html[data-workbench] button, html[data-workbench] input, html[data-workbench] select, html[data-workbench] textarea { border-radius: 4px; font-family: inherit; }
html[data-workbench] input, html[data-workbench] select { min-height: 40px; }
html[data-workbench] a { text-underline-offset: 3px; }
html[data-workbench] .btn.primary { background: var(--work-accent); border-color: var(--work-accent); color: #fff; box-shadow: none; }
html[data-workbench] :focus-visible { outline: 2px solid var(--work-accent); outline-offset: 3px; }
html[data-workbench] .card, html[data-workbench] .chart-card { border-radius: 6px; box-shadow: none; }
html[data-workbench] .table-shell, html[data-workbench] .explorer-table-wrap { border: 0; border-top: 2px solid var(--work-accent); border-bottom: 1px solid var(--work-rule); border-radius: 0; box-shadow: none; }
html[data-workbench] table { width: 100%; border-collapse: collapse; font-size: 13px; }
html[data-workbench] th { background: var(--work-wash) !important; color: var(--work-ink) !important; font-weight: 600; }
html[data-workbench] th { text-align: left; }
html[data-workbench] th, html[data-workbench] td { padding: 10px 12px; border-bottom: 1px solid var(--work-rule); line-height: 1.5; vertical-align: top; }
html[data-workbench] tbody tr:hover { background: #f6f8f7; }
html[data-workbench] .num, html[data-workbench] .explorer-amount { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
html[data-workbench] .fine, html[data-workbench] .muted, html[data-workbench] .cell-secondary, html[data-workbench] .explorer-note { color: var(--work-muted); }
html[data-workbench] .pill { border-radius: 3px; font-size: 12px; padding: 2px 5px; }
html[data-workbench] .pill.blue, html[data-workbench] .pill.violet, html[data-workbench] .pill.teal { color: var(--work-accent); background: var(--work-wash); }
html[data-workbench] .program-card a, html[data-workbench] .policy-panel a, html[data-workbench] footer a { color: var(--work-accent); }
html[data-workbench] input::placeholder, html[data-workbench] textarea::placeholder { color: var(--work-muted); opacity: 1; font-weight: 400; }
html[data-workbench] .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip-path: inset(50%); white-space: nowrap; border: 0 !important; }
html[data-workbench] .notice { border-radius: 0; background: #f6f8f7; box-shadow: none; padding: 10px 14px; border: 0; border-left: 2px solid var(--work-rule); font-size: 13px; }
html[data-workbench] .explorer-filters { grid-template-columns: minmax(180px, 1.5fr) repeat(4, minmax(100px, 1fr)) auto auto; gap: 10px; }
html[data-workbench] .explorer-filters label:last-of-type { grid-column: auto; grid-row: 1; order: -1; }
html[data-workbench] .explorer-filters .btn { padding-inline: 14px; min-height: 40px; }
html[data-workbench] .explorer-table .explorer-layer { width: 106px; }
html[data-workbench] .explorer-table .explorer-link { text-decoration: none; color: var(--work-accent); }
html[data-workbench] .explorer-table .explorer-link:hover { text-decoration: underline; }
html[data-workbench] .explorer-table td { white-space: normal; }
html[data-workbench] .explorer-code { display: inline; margin-left: 8px; }
html[data-workbench] .explorer-detail { border-radius: 0; box-shadow: none; padding: 18px 0; border-inline: 0; }
.work-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-block: 12px; }
.work-actions .work-message { font-size: 13px; color: var(--work-muted); }
.work-actions button { display: inline-flex; gap: 6px; align-items: center; }
.work-actions img { width: 17px; height: 17px; }
.preset-basis { font-size: 13px; color: var(--work-muted); }
.preset-toc { margin-block: 8px; }
.preset-toc li { display: flex; justify-content: space-between; gap: 16px; font-size: 13px; padding: 5px 0; }
.preset-addition { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.saved-reference { display: flex; justify-content: space-between; align-items: center; gap: 12px; border-bottom: 1px solid var(--work-rule); padding: 12px 0; }
.work-details { border-block: 1px solid var(--work-rule); margin-block: 12px; padding: 10px 0; }
.work-details > summary { cursor: pointer; font-size: 14px; font-weight: 600; }
.company-steps { display: flex; gap: 12px; border-bottom: 1px solid var(--work-rule); }
.company-steps button { padding: 10px 14px; border: 0; border-radius: 0 !important; border-bottom: 2px solid transparent; color: var(--work-muted); background: #fff; cursor: pointer; font-size: 14px; }
.company-steps button[aria-current="step"] { border-bottom-color: var(--work-accent); color: var(--work-accent); font-weight: 600; }
html[data-workbench] .company-form { padding: 0; border: 0; }
html[data-workbench] .company-output-layout { display: flex; flex-direction: column-reverse; gap: 12px; }
html[data-workbench] .company-output-card, html[data-workbench] .company-output-tools { background: #fff; border: 0; padding: 0; }
html[data-workbench] .company-output-tools > h3, html[data-workbench] .company-output-tools > p:not(.fine) { display: none; }
.work-details[open] > summary { margin-bottom: 14px; }
.work-table { overflow-x: auto; border-block: 1px solid var(--work-rule); }
.work-table table { min-width: 720px; }
.work-table a { color: var(--work-accent); }
.work-table button { background: transparent; border: 0; padding: 0; color: var(--work-accent); cursor: pointer; font: inherit; font-weight: 600; text-align: left; }
.work-table .work-title { min-width: 240px; }
.work-table .work-date { white-space: nowrap; }
.work-filter-toggle { display: none; }
.work-basis { display: flex; flex-wrap: wrap; gap: 6px 20px; font-size: 13px; color: var(--work-muted); margin: 8px 0; }
.work-basis a { color: var(--work-accent); }
.source-search { display: grid; grid-template-columns: minmax(240px, 2fr) minmax(140px, 1fr) minmax(140px, 1fr) auto; gap: 12px; align-items: end; margin: 12px 0; }
.source-search label { display: grid; gap: 5px; font-size: 13px; }
.source-search input, .source-search select { width: 100%; min-width: 0; border: 1px solid var(--work-rule); padding: 8px; background: #fff; }
.source-reading p { font-size: 13px; margin-block: 6px; }
#panel-sources .work-table td:first-child { width: 48%; }
.finance-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.finance-chart { height: 320px; width: 100%; }
html[data-workbench] #finance-regional-policy td { white-space: normal; text-align: left; }
html[data-workbench] #finance-plan-kpis { display: block; }
html[data-workbench] #finance-plan-kpis table { min-width: 960px; }
html[data-workbench] #funding-results { display: block; }
html[data-workbench] tr.funding-card { display: table-row; background: transparent; border: 0; box-shadow: none; }
html[data-workbench] .funding-results table { min-width: 1060px; }
html[data-workbench] .funding-results td.work-title { width: 40%; }
html[data-workbench] .funding-results .work-date { white-space: normal; width: 158px; }
html[data-workbench] #funding-results .work-table { border-top: 2px solid var(--work-accent); }
html[data-workbench] .funding-search { padding: 0; border: 0; box-shadow: none; background: #fff; }
html[data-workbench] .proposal-form, html[data-workbench] .proposal-output { border: 0; box-shadow: none; padding: 0; background: #fff; }
html[data-workbench] .proposal-output { border-left: 1px solid var(--work-rule); padding-left: 20px; }
html[data-workbench] .proposal-output pre { font-size: 13px; }
html[data-workbench] .proposal-grid textarea { min-height: 72px; }
html[data-workbench] .program-money { background: #f6faf8 !important; border: 1px solid #d5e2dc !important; border-radius: 6px !important; padding: 12px 14px !important; }
html[data-workbench] .program-money b { font-size: 18px !important; }
html[data-workbench] .program-card {
  position: relative;
  overflow: hidden;
  border: 1px solid #d7e1dc !important;
  border-top: 3px solid var(--work-accent) !important;
  border-radius: 6px;
  box-shadow: 0 10px 24px rgba(15, 36, 32, .06);
}
html[data-workbench] .program-card .summary {
  min-height: 48px;
  color: #42534e;
}
html[data-workbench] .program-card-actions {
  background: #fbfcfb;
  border-top: 1px solid var(--work-rule);
}
html[data-workbench] #business-panel-core .program-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
html[data-workbench] .program-card h3 { font-size: 17px !important; }
html[data-workbench] .policy-pagination button { min-width: 44px; height: 36px; border: 1px solid var(--work-rule); background: #fff; color: var(--work-accent); font-size: 13px; }
html[data-workbench] .paper-cover { height: 240px; aspect-ratio: auto; }
html[data-workbench] .paper-description { min-height: 42px; }
html[data-workbench] .handbook-kpis { display: block; }
html[data-workbench] .handbook-kpis .kpi { display: flex; gap: 16px; align-items: baseline; border: 0; border-bottom: 1px solid var(--work-rule); border-radius: 0; padding: 8px 0; background: transparent; }
html[data-workbench] .handbook-kpis .kpi .value { font-size: 16px; }
html[data-workbench] #handbook-insights { display: block; }
html[data-workbench] #handbook-insights .card { border: 0; border-bottom: 1px solid var(--work-rule); padding: 10px 0; }
html[data-workbench] .handbook-table { min-width: 1200px; }
html[data-workbench] .handbook-toolbar { grid-template-columns: minmax(200px, 2fr) repeat(6, minmax(105px, 1fr)); gap: 8px; margin-bottom: 10px; }
html[data-workbench] .handbook-toolbar .handbook-query { grid-column: auto; }
html[data-workbench] .handbook-table td { padding-block: 6px; }
html[data-workbench] .company-call-results { display: block; }
html[data-workbench] tr.company-call-card { display: table-row; background: transparent; border: 0; box-shadow: none; }
html[data-workbench] .company-call-card td { font-size: 13px; }
html[data-workbench] .company-call-card h3 { font-size: 14px !important; margin: 0; }
html[data-workbench] .company-call-card .company-call-tags { display: none; }
html[data-workbench] .regional-control-bar { margin-top: 10px; }
html[data-workbench] .policy-observation { padding: 8px 0; background: none; border: 0; border-radius: 0; }
html[data-workbench] .report-kpis { display: block; }
html[data-workbench] .report-kpis .kpi { border: 0; border-bottom: 1px solid var(--work-rule); display: flex; align-items: baseline; gap: 16px; padding: 8px 0; border-radius: 0; background: none; }
html[data-workbench] .report-kpis .value { font-size: 18px; }
.report-amount-row { display: flex; flex-wrap: wrap; gap: 12px 36px; margin: 12px 0; padding-block: 10px; border-block: 1px solid var(--work-rule); }
.report-amount-row div { display: flex; gap: 12px; align-items: baseline; }
.report-amount-row dt { font-size: 13px; color: var(--work-muted); }
.report-amount-row dd { margin: 0; font-size: 16px; font-weight: 600; }
html[data-workbench] #program-report .report-jump { position: static; background: #fff; border-block: 1px solid var(--work-rule); }
html[data-workbench] #program-report .report-jump a { border: 0; border-bottom: 2px solid transparent; border-radius: 0; padding: 10px 12px; color: var(--work-muted); }
html[data-workbench] #program-report .report-jump a[aria-selected="true"] { color: var(--work-accent); border-bottom-color: var(--work-accent); background: #fff; }
html[data-workbench] #program-report > section { padding-block: 16px; }
html[data-workbench] #report-overview .card { border: 0; border-radius: 0; padding: 0; }
html[data-workbench] #report-overview .report-thesis { padding-bottom: 16px; }
html[data-workbench] .report-region-scope { padding-block: 12px 0; }
html[data-workbench] .report-heading { padding-top: 8px !important; }
html[data-workbench] .report-heading p { margin: 6px 0; font-size: 13px; }
html[data-workbench] .regional-explorer-grid { display: block; }
html[data-workbench] .regional-insight-layout { display: block; }
html[data-workbench] .regional-call-list { display: block; }
html[data-workbench] tr.regional-call-card { display: table-row; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
html[data-workbench] .regional-call-list table { min-width: 1060px; }
html[data-workbench] .regional-call-list td:first-child { width: 38%; }
html[data-workbench] .regional-call-list summary { cursor: pointer; color: var(--work-accent); }
html[data-workbench] #regional-insight-kpis { display: flex; flex-wrap: wrap; gap: 6px 20px; font-size: 13px; border-block: 1px solid var(--work-rule); padding: 8px 0; margin-block: 8px; }
html[data-workbench] .regional-agency-panel { padding: 0; border: 0; }
html[data-workbench] .regional-call-panel { padding: 0; border: 0; }
html[data-workbench] .company-form, html[data-workbench] .company-output-card, html[data-workbench] .company-output-tools { box-shadow: none; border-radius: 0; }
.sample-reader { display: block; width: 100%; height: min(760px, 76vh); min-height: 500px; border: 1px solid var(--work-rule); background: #f3f6f4; }
#sample-choices [aria-pressed="true"] { border-color: var(--work-accent); color: var(--work-accent); background: var(--work-wash); }
#work-print { display: none; }
html[data-workbench] #fiscal-header .brand-mark { background: var(--work-accent); }
html[data-workbench] #fiscal-header a:focus-visible, html[data-workbench] #fiscal-header summary:focus-visible { outline-color: var(--work-accent); }
@media (min-width: 761px) and (max-width: 1100px) {
  html[data-workbench] .handbook-toolbar { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  html[data-workbench] .handbook-toolbar .handbook-query { grid-column: span 2; }
  html[data-workbench] .explorer-filters { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  html[data-workbench] .explorer-filters label:last-of-type { grid-column: span 2; }
}
@media (max-width: 760px) {
  html[data-workbench] .wrap { width: calc(100% - 32px); }
  html[data-workbench] main h1 { font-size: 21px !important; }
  html[data-workbench] .business-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
  html[data-workbench] .business-tabs [role="tab"] { padding: 8px 2px; }
  html[data-workbench] .explorer-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[data-workbench] .explorer-filters label:last-of-type { grid-column: 1 / -1; grid-row: auto; }
  html[data-workbench] .handbook-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[data-workbench] .handbook-toolbar .handbook-query { grid-column: 1 / -1; }
  html[data-workbench] .regional-control-bar { grid-template-columns: 1fr; gap: 8px; }
  html[data-workbench] .regional-control-bar label[for="region-select"] { display: grid; grid-template-columns: 80px 1fr; align-items: center; }
  html[data-workbench] #regional-explorer .section-head { margin-bottom: 8px; }
  html[data-workbench] #regional-explorer .section-head .work-actions { margin: 0; }
  html[data-workbench] .policy-observation { font-size: 12px; gap: 4px 8px; margin: 6px 0; }
  .work-filter-toggle { display: inline-flex; margin: 8px 0; padding: 6px 10px; align-items: center; gap: 6px; border: 1px solid var(--work-rule); background: #fff; color: var(--work-accent); min-height: 36px; }
  [data-work-filters="collapsed"] > [data-work-secondary] { display: none !important; }
  html[data-workbench] .work-heading, html[data-workbench] .business-heading, html[data-workbench] .funding-heading, html[data-workbench] .policy-heading { padding-block: 16px 10px !important; }
  .work-actions { gap: 6px; }
  .work-table { max-width: 100%; }
  .source-search { grid-template-columns: 1fr auto; }
  .source-search label:first-child { grid-column: 1 / -1; }
  .finance-chart-grid { grid-template-columns: 1fr; }
  html[data-workbench] #business-panel-core .program-grid { grid-template-columns: 1fr; }
  html[data-workbench] .proposal-output { border-left: 0; padding: 0; border-top: 1px solid var(--work-rule); }
  html[data-workbench] .paper-cover { height: 184px; }
}
@media print {
  body[data-work-printing] > :not(#work-print) { display: none !important; }
  body[data-work-printing] #work-print { display: block !important; color: #000; font-size: 11pt; }
  #work-print h1 { font-size: 18pt; }
  #work-print pre { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }
  #work-print table { width: 100%; border-collapse: collapse; }
  #work-print table { min-width: 0 !important; font-size: 9pt; }
  #work-print .work-table, #work-print .explorer-table-wrap { overflow: visible; }
  #work-print nav, #work-print .report-pagination { display: none; }
  #work-print th, #work-print td { border: 1px solid #bbb; padding: 5pt; }
  #work-print tr { break-inside: avoid; }
  #work-print .work-actions, #work-print button { display: none; }
}
