.intake-scope-bar { margin: 0 0 12px; }
.intake-scope-bar-inner { display: grid; gap: 10px; }
.intake-scope-tabs { margin: 0; }
.intake-scope-tabs .tab { white-space: nowrap; }
.intake-scope-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.intake-scope-controls label { display: inline-flex; align-items: center; gap: 6px; color: var(--muted, #72756e); font-size: 12px; }
.intake-scope-controls select { min-width: 128px; padding: 6px 8px; border: 1px solid var(--line, #ddd8ce); border-radius: 7px; background: #fffdf9; color: var(--ink, #20231f); }
.intake-scope-status { border: 1px solid var(--line, #ddd8ce); border-radius: 999px; padding: 4px 10px; font-size: 11px; }
.intake-scope-status.ok { border-color: #bcd0bd; background: #eef4ee; color: #3d5944; }
.intake-scope-status.warn { border-color: #d9c79e; background: #faf3e2; color: #765b24; }
.intake-v2-error { border: 1px solid #e4b4a3; border-radius: 10px; background: #fbebe5; color: #8e3f27; padding: 9px 11px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 12px; }
.intake-v2-error b { flex: none; }
.intake-v2-error span { flex: 1; min-width: 160px; line-height: 1.55; }
.intake-v2-job { border: 1px solid var(--line, #ddd8ce); border-radius: 10px; padding: 8px 10px; display: flex; align-items: center; gap: 9px; background: #f6f4ee; }
.intake-v2-job.running { border-color: #d9c79e; background: #faf3e2; }
.intake-v2-job.failed { border-color: #e4b4a3; background: #fbebe5; }
.intake-v2-job.done { border-color: #bcd0bd; background: #eef4ee; }
.intake-v2-job-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--gold, #bb8f35); flex: none; }
.intake-v2-job.done .intake-v2-job-dot { background: var(--green, #536d5b); }
.intake-v2-job.failed .intake-v2-job-dot { background: var(--accent, #d96746); }
.intake-v2-job div { min-width: 0; }
.intake-v2-job b { display: block; font-size: 12px; }
.intake-v2-job span { color: var(--muted, #72756e); font-size: 11px; }
.intake-v2-warning { display: block; margin-top: 2px; color: #8e3f27; }
.intake-scope-values { display: block; line-height: 1.65; }
.intake-scope-value { display: inline; }
.intake-scope-value + .intake-scope-value::before { content: "；"; color: var(--muted, #72756e); }
.intake-scope-value b { color: var(--muted, #72756e); font-weight: 400; margin-right: 3px; }
.intake-scope-empty { color: var(--muted, #72756e); }
.intake-scope-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px 10px; margin-top: 8px; }
.intake-scope-field { display: grid; gap: 3px; min-width: 0; }
.intake-scope-field span { color: var(--muted, #72756e); font-size: 11px; }
.intake-scope-field input { width: 100%; min-width: 0; padding: 6px 8px; border: 1px solid var(--line, #ddd8ce); border-radius: 6px; background: #fff; color: var(--ink, #20231f); font-size: 12px; }
.intake-scope-field-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; }
@media (max-width: 980px) {
  .intake-scope-controls { align-items: stretch; }
  .intake-scope-controls label { flex: 1 1 100%; }
  .intake-scope-controls select { flex: 1; }
}
.intake-scope-filters { display: inline-flex; gap: 6px; align-items: center; }
.intake-scope-filters .btn { padding: 3px 9px; font-size: 11px; }
.intake-scope-filters .btn.active { border-color: #b9c9b9; background: var(--green-soft, #dfe9df); color: #3d5944; }
.intake-filter-group { display: inline-flex; align-items: center; gap: 10px; }
.intake-filter-group .meta { margin: 0; white-space: nowrap; }
.intake-scope-editor { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line, #ddd8ce); display: grid; gap: 8px; }
.intake-result-actions { display: inline-flex; align-items: center; justify-content: flex-end; gap: 12px; }
.intake-result-actions .meta { margin: 0; }
.intake-result-actions .btn { padding: 6px 10px; font-size: 11px; }
.intake-supplement { display: grid; gap: 10px; margin: 0 0 12px; }
.intake-text-entry, .intake-upload-entry { border: 1px solid var(--line, #ddd8ce); border-radius: 12px; background: #f5f3ed; }
.intake-text-entry { padding: 12px 14px; }
.intake-text-entry[hidden] { display: none !important; }
.intake-supplement-head, .intake-upload-entry { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.intake-supplement-head > div, .intake-upload-entry > div { display: grid; gap: 4px; min-width: 0; }
.intake-supplement-head b, .intake-upload-entry b { font-size: 13px; }
.intake-supplement-head > div > span, .intake-upload-entry > div > span { color: #5f625c; font-size: 12px; line-height: 1.55; }
.intake-supplement-head > .btn, .intake-upload-entry > .btn { flex: none; }
.intake-upload-entry { padding: 12px 14px; }
.intake-upload-entry > .btn { padding-top: 7px; padding-bottom: 7px; font-size: 12px; }
.intake-supplement-composer { display: grid; gap: 7px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line, #ddd8ce); }
.intake-supplement-composer[hidden], .intake-update-feedback[hidden], .manual-question-form[hidden] { display: none !important; }
.intake-supplement-composer > label { color: #565950; font-size: 12px; font-weight: 700; }
.intake-supplement-composer textarea { width: 100%; min-height: 96px; resize: vertical; padding: 10px 11px; border: 1px solid #cec8bc; border-radius: 8px; background: #fffdf9; color: var(--ink, #20231f); font: inherit; font-size: 13px; line-height: 1.65; }
.intake-supplement-composer textarea::placeholder { color: #73766f; }
.intake-supplement-composer textarea:focus-visible, .manual-question-form input:focus-visible { outline: 2px solid #78917e; outline-offset: 2px; }
.intake-supplement-compose-foot { display: flex; align-items: center; justify-content: flex-end; gap: 12px; color: #656860; font-size: 11px; }
.intake-update-feedback { margin: 0; padding: 9px 11px; border-radius: 8px; background: var(--green-soft, #dfe9df); color: #3d5944; font-size: 12px; line-height: 1.6; }
.intake-manual-archive { margin-top: 14px; border-top: 1px solid var(--line, #ddd8ce); border-bottom: 1px solid var(--line, #ddd8ce); }
.intake-manual-archive > summary { cursor: pointer; padding: 12px 2px; color: #565950; font-size: 12px; font-weight: 700; }
.intake-manual-archive > summary .meta { float: right; margin: 0; font-weight: 400; }
.intake-manual-body { padding: 0 0 12px; }
.intake-manual-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #656860; font-size: 11px; }
.intake-manual-toolbar .btn { padding: 6px 9px; font-size: 11px; }
.manual-question-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; margin-top: 12px; padding: 12px; border: 1px solid var(--line, #ddd8ce); border-radius: 10px; background: #f5f3ed; }
.manual-question-form label { display: grid; gap: 5px; color: #565950; font-size: 11px; }
.manual-question-form input { width: 100%; min-width: 0; padding: 8px 9px; border: 1px solid #cec8bc; border-radius: 7px; background: #fffdf9; color: var(--ink, #20231f); font: inherit; font-size: 12px; }
.manual-question-form-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 12px; }
.intake-manual-empty { padding: 12px 0 4px; color: #656860; font-size: 12px; }
#demandGrid { --intake-result-columns: minmax(112px, .42fr) minmax(0, 1.6fr) 300px; }
#demandGrid .dimension-group { border-color: #dcd7cc; background: #fffdf9; }
#demandGrid .dimension-group-head { display: grid; grid-template-columns: var(--intake-result-columns); gap: 12px; align-items: center; padding: 10px 14px; border-bottom: 1px solid #e5e0d6; background: #f1efe9; }
#demandGrid .dimension-group-head .dimension-group-name { color: var(--ink, #20231f); font-size: 13px; font-weight: 750; }
#demandGrid .dimension-group-head .dimension-column-label { color: #62665e; font-size: 11px; font-weight: 600; text-align: center; }
#demandGrid .dimension-row { grid-template-columns: var(--intake-result-columns); gap: 12px; padding: 12px 14px; align-items: center; }
#demandGrid .dimension-name { display: flex; align-items: center; gap: 8px; min-width: 0; }
#demandGrid .dimension-name b { min-width: 0; }
#demandGrid .dimension-stage-rule { display: inline-flex; align-items: center; justify-content: center; flex: none; margin-left: 0; padding: 2px 7px; border: 1px solid #dce1d7; border-radius: 999px; background: #f1f4ed; color: #626c58; font-size: 10px; font-weight: 600; line-height: 1.5; white-space: nowrap; }
#demandGrid .dimension-stage-rule.required { border-color: #e7d3c7; background: #fbefe7; color: #8e3f27; }
#demandGrid .dimension-controls { margin-left: 0; padding-left: 18px; justify-content: center; gap: 10px; }
#demandGrid .dimension-controls select { width: 92px; min-height: 28px; text-align: center; }
#demandGrid .dimension-controls .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 28px; }
.intake-result-block { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 10px; align-items: stretch; }
.intake-result-block + .intake-result-block { margin-top: 8px; }
.intake-result-label { display: flex; align-items: center; justify-content: center; min-height: 26px; padding: 3px 4px; border-radius: 6px; color: var(--muted, #72756e); font-size: 11px; font-weight: 700; line-height: 1.4; text-align: center; white-space: nowrap; }
.intake-result-block.recognized .intake-result-label { background: #edf3ed; color: #47624d; }
.intake-result-block.pending .intake-result-label { background: #faf3e2; color: #765b24; }
.intake-result-items { display: flex; flex-wrap: wrap; gap: 4px 16px; min-width: 0; align-items: flex-start; }
.intake-result-item { display: inline; min-width: 0; max-width: 100%; overflow-wrap: anywhere; line-height: 1.65; }
.intake-result-field { color: var(--muted, #72756e); }
.intake-result-value { color: var(--ink, #20231f); }
.intake-result-block.pending .intake-result-value { color: #6d5a2c; }
@media (max-width: 1200px) {
  #demandGrid .dimension-row { grid-template-columns: 1fr; }
  #demandGrid .dimension-group-head { grid-template-columns: minmax(92px, .55fr) minmax(0, 1.6fr) auto; }
  #demandGrid .dimension-controls { margin-left: 0; padding: 10px 0 0; border-top: 1px solid #eee9df; justify-content: center; }
}
@media (max-width: 980px) {
  .intake-supplement-head, .intake-upload-entry, .intake-manual-toolbar { align-items: stretch; flex-direction: column; }
  .intake-result-actions, .intake-filter-group { justify-content: flex-start; flex-wrap: wrap; }
  .manual-question-form { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  #demandGrid .dimension-group-head { gap: 8px; }
  .intake-result-block { grid-template-columns: 52px minmax(0, 1fr); gap: 8px; }
  #demandGrid .dimension-controls { flex-wrap: wrap; }
}
