.intake { max-width: 1180px; margin: 0 auto; color: var(--fg); }
.intake * { box-sizing: border-box; }
.intake-heading, .intake-detail-head, .intake-list-tools, .intake-file, .intake-preview > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.intake-heading { margin: 10px 0 18px; }
.intake-heading > div:first-child { min-width: 0; flex: 1; }
.intake-step-nav { margin: 8px 0 0; color: var(--muted); font-size: 15px; line-height: 1.55; }
.intake-step-nav button { appearance: none; border: 0; border-radius: 0; padding: 0; background: transparent; color: inherit; font: inherit; letter-spacing: inherit; vertical-align: baseline; }
.intake-step-nav button:not(:disabled):hover { color: var(--accent-strong); }
.intake .intake-step-nav button:disabled { cursor: not-allowed; opacity: 1; }
.intake-eyebrow { font-size: 12px; color: var(--subtle); letter-spacing: 1px; margin-bottom: 4px; }
.intake h1, .intake h2 { margin: 0; }
.intake h3 { margin: 0 0 8px; }
.intake p { line-height: 1.55; }
.intake-heading p, .intake-detail-head p { margin: 8px 0 0; color: var(--muted); font-size: 15px; }
.intake-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.intake .btn { text-decoration: none; cursor: pointer; }
.intake .btn.primary { background: #2267d8; border-color: #2267d8; color: #fff; }
.intake-panel { background: #fff; border: 1px solid #e0e7f0; border-radius: 10px; padding: 12px 14px; margin-bottom: 10px; box-shadow: 0 1px 4px #193b660c; }
.intake-list-tools { flex-wrap: wrap; margin-bottom: 12px; }
.intake-segments { display: flex; flex-wrap: wrap; background: #f2f5f9; padding: 4px; border-radius: 8px; gap: 3px; }
.intake-segments button { background: transparent; border: 0; border-radius: 6px; color: #68788f; padding: 9px 15px; cursor: pointer; }
.intake-segments button.selected { background: #fff; color: #2267d8; box-shadow: 0 1px 5px #294b7020; font-weight: 600; }
.intake-list-filters { display: flex; flex-wrap: nowrap; align-items: center; gap: 10px; flex: 0 1 490px; min-width: 0; max-width: 100%; margin-left: auto; }
.intake input:not([type=checkbox]):not([type=file]):not(.combo-search), .intake select, .intake textarea { width: 100%; min-width: 0; min-height: 38px; border: 1px solid var(--border); border-radius: 8px; padding: 0 10px; background: var(--surface); color: var(--fg); font: inherit; }
.intake select { min-height: 38px; }
.intake .intake-list-filters > input[data-search] { order: 1; width: auto; flex: 1 1 260px; height: 42px; }
.intake-list-filters select, .intake-list-filters > .combo-control { width: 220px; flex: 0 0 220px; }
.intake input:not(.combo-search):focus, .intake select:focus, .intake textarea:focus { outline: 2px solid #abc9ff; outline-offset: 1px; }
.intake input:disabled, .intake select:disabled, .intake textarea:disabled { background: #f6f8fb; color: #3b4c61; opacity: 1; }
.intake button:disabled { opacity: .55; cursor: wait; }
.intake-table-scroll { overflow-x: auto; }
.intake-table { width: 100%; border-collapse: collapse; min-width: 760px; font-size: 14px; }
.intake-table th { font-size: 12px; font-weight: 600; text-align: left; color: var(--muted); background: #f7f9fc; padding: 8px 10px; }
.intake-table td { padding: 10px; border-bottom: 1px solid #edf1f6; }
.intake-table small, .intake-file small { display: block; margin-top: 6px; color: var(--subtle); font-size: 12px; }
.intake-status { display: inline-block; padding: 5px 9px; border-radius: 5px; background: #edf1f6; color: #617084; font-size: 12px; font-weight: 500; white-space: nowrap; vertical-align: middle; }
.intake-status.rd_review, .intake-status.boss_review { color: #9b6610; background: #fff3d6; }
.intake-status.rd_confirmed { color: #2565bd; background: #eaf2ff; }
.intake-status.approved { color: #227553; background: #e3f5ec; }
.intake-status.returned, .intake-status.rejected { color: #b04444; background: #fff0ed; }
.intake-empty { padding: 64px 20px; text-align: center; color: #77859a; }
.intake-empty h3 { margin-bottom: 10px; color: #455b75; }
.intake-layout { display: grid; grid-template-columns: minmax(0, 1fr) 176px; gap: 12px; align-items: start; }
.intake-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 12px; }
.intake-field { display: flex; flex-direction: column; gap: 6px; font-size: 14px; min-width: 0; }
.intake-field > span { color: var(--muted); font-size: 12px; font-weight: 600; line-height: 1.35; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; min-height: 2.7em; }
.intake-required { color: #c04545; font-weight: 600; }
.intake-field-hint { color: var(--subtle); font-size: 12px; font-weight: 400; line-height: 1.45; }
.intake-field.invalid, .intake-panel.invalid { scroll-margin-top: 88px; }
.intake .intake-field.invalid input:not([type=checkbox]):not([type=file]):not(.combo-search),
.intake .intake-field.invalid select,
.intake .intake-field.invalid .combo-button,
.intake .intake-field.invalid textarea { border-color: #d45a4a; background: #fff7f5; box-shadow: 0 0 0 1px #d45a4a; }
.intake .intake-field.invalid input:focus, .intake .intake-field.invalid select:focus, .intake .intake-field.invalid textarea:focus { outline-color: #e7a39a; }
.intake-panel.invalid { border-color: #d45a4a; box-shadow: 0 0 0 1px #d45a4a33; }
.intake-field.wide { grid-column: 1 / -1; }
.intake-field.note { grid-column: span 2; }
.intake-pair { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 8px 12px; align-items: start; }
.intake-pair .intake-field.note { grid-column: auto; }
.intake-fold-toggle {
  display: flex; align-items: center; flex-wrap: wrap; gap: 8px;
  width: 100%; margin: 0 0 8px; padding: 0; border: 0; background: none;
  color: inherit; font: inherit; font-size: 16px; font-weight: 600; font-family: var(--font-display);
  text-align: left; cursor: pointer;
}
.intake-fold-toggle::before { content: "▸"; color: var(--subtle); font-size: 14px; width: 1em; }
.intake-fold-toggle[aria-expanded="true"]::before { content: "▾"; }
.intake-fold-hint { color: var(--subtle); font-size: 12px; font-weight: 400; font-family: var(--font-body); }
.intake-panel.folded { padding-bottom: 10px; }
.intake-panel.folded .intake-fold-toggle { margin-bottom: 0; }
.intake textarea { resize: vertical; min-height: 84px; padding: 9px 10px; line-height: 1.45; }
.intake-section-number { display: inline-block; color: #3c73b9; background: #edf4ff; padding: 2px 6px; margin-right: 8px; border-radius: 4px; font-size: 12px; }
.intake-side { position: sticky; top: 14px; }
.intake-side .intake-panel { padding: 12px; }
.intake-side a { display: block; font-size: 13px; padding: 5px 2px; text-decoration: none; color: #6b7e96; }
.intake-side a:hover { color: #2267d8; }
.intake-save-state { padding: 10px 0; color: #9a751f; font-size: 12px; }
.intake-upload { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 10px; }
.intake-upload select, .intake-upload > .combo-control { width: 180px; }
.intake-file { padding: 8px 0; border-top: 1px solid #edf1f6; font-size: 14px; }
.intake-file strong { overflow-wrap: anywhere; }
.intake-danger { color: #b94343 !important; }
.intake-muted, .intake-footnote { color: #7c899b; font-size: 12px; }
.intake-footnote { text-align: center; padding: 10px 0 30px; }
.intake-notice { background: #eef5ff; border: 1px solid #cbdffa; border-radius: 8px; padding: 8px 12px; margin-bottom: 10px; color: #466890; font-size: 14px; line-height: 1.55; }
.intake-error { background: #fff1ee; border: 1px solid #f1c6bd; color: #a3382b; border-radius: 8px; padding: 10px 12px; margin-bottom: 10px; line-height: 1.5; }
.intake-error .btn { margin-left: 15px; }
.intake-decision > .intake-field { margin-bottom: 10px; }
.intake-decision { border-top: 3px solid #3978d7; }
.intake-timeline { list-style: none; padding: 0 0 0 14px; margin: 0; }
.intake-timeline li { position: relative; padding: 0 0 22px 20px; border-left: 1px solid #dce5f1; font-size: 14px; }
.intake-timeline li:before { content: ''; position: absolute; width: 8px; height: 8px; border-radius: 50%; background: #83a6d9; left: -4px; top: 5px; }
.intake-timeline li span { display: block; color: #7b8a9e; font-size: 12px; margin-top: 6px; }
.intake-timeline li p { white-space: pre-wrap; margin: 9px 0 0; }
.intake-flow-settings { max-width: 920px; margin: 0 auto; }
.intake-settings-intro, .intake-setting-section { padding: 20px; }
.intake-settings-intro > p { color: var(--muted); }
.intake-flow-summary { display: flex; flex-wrap: wrap; gap: 8px; color: #225bae; font-size: 14px; }
.intake-flow-summary span { background: #eff5ff; border-radius: 6px; padding: 8px 12px; }
.intake-flow-summary span + span::before { content: '→'; margin-right: 10px; color: #637b9d; }
.intake-setting-title { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; flex-wrap: wrap; }
.intake-setting-title h3 { margin: 0; font-size: 17px; }
.intake-setting-number { border-radius: 8px; background: #edf4ff; color: #225bae; padding: 6px 8px; font-weight: 600; font-size: 13px; }
.intake-setting-count { margin-left: auto; color: var(--muted); font-size: 13px; }
.intake-selection-summary { padding: 10px 0; color: #3c536d; font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
.intake-scope-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.intake-scope-columns fieldset { border: 1px solid #e0e7f0; border-radius: 8px; min-width: 0; padding: 10px; }
.intake-scope-columns legend { color: #435770; font-size: 13px; padding: 0 5px; }
.intake-setting-options { max-height: 260px; overflow-y: auto; scrollbar-gutter: stable; }
.intake-setting-options label { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 7px 8px; cursor: pointer; border-radius: 5px; }
.intake-setting-options label:hover, .intake-setting-options label:focus-within { background: #eff5ff; }
.intake-setting-options input { width: 18px; height: 18px; flex: 0 0 auto; accent-color: #2267d8; }
.intake-setting-options small { display: block; font-size: 12px; color: var(--muted); overflow-wrap: anywhere; }
.intake-setting-search { display: grid; gap: 6px; margin-bottom: 10px; font-size: 13px; color: #435770; }
.intake-setting-error { color: #a32626; }
.intake-settings-save { position: sticky; bottom: 12px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; background: #fff; border: 1px solid #cbdaf0; border-radius: 10px; box-shadow: 0 4px 20px #193b661a; }
.intake-settings-save p { margin: 5px 0 0; font-size: 12px; color: var(--muted); max-width: 490px; }
.intake-settings-save .intake-actions { flex: 0 0 auto; }
.intake-flow-settings .btn { min-height: 44px; }
@media (max-width: 650px) { .intake-scope-columns { grid-template-columns: minmax(0, 1fr); } .intake-settings-save { position: static; flex-direction: column; align-items: stretch; padding: 14px; } .intake-settings-save .intake-actions { justify-content: flex-end; } }
.intake-checks { display: flex; flex-direction: column; gap: 13px; max-height: 500px; overflow-y: auto; }
.intake-checks label { font-size: 14px; line-height: 1.6; }
.intake-preview { border: 1px solid #dfe7f0; padding: 15px; border-radius: 8px; margin-top: 18px; }
.intake-preview img { display: block; max-width: 100%; max-height: 600px; object-fit: contain; margin: 16px auto 0; }
.intake-parse { border-top: 3px solid #2a8a71; }
.intake-parse summary { cursor: pointer; padding: 12px 0; font-size: 14px; color: #34618a; }
.intake-parse-values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; max-height: 280px; overflow: auto; margin: 0 0 10px; }
.intake-parse-values > div { padding: 8px; border: 1px solid #e4ebf3; border-radius: 6px; font-size: 14px; }
.intake-parse-values dt { color: #6b7e96; margin-bottom: 7px; }
.intake-parse-values dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.6; }
.intake-parse-warnings { background: #fff7e8; color: #886119; border-radius: 8px; padding: 14px 16px 14px 32px; font-size: 12px; line-height: 1.8; }
.intake-unmatched { margin: 14px 0; padding: 16px; background: #fff8ee; border-radius: 8px; }
.intake-unmatched h4 { margin: 0 0 14px; color: #986223; font-size: 14px; }
.intake-unmatched > div { border-top: 1px solid #efdfc6; padding: 12px 0; font-size: 14px; }
.intake-unmatched p { margin: 4px 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.intake-unmatched small { color: #8a775e; }
.intake-overwrite { display: flex; align-items: center; gap: 6px; font-size: 14px; margin-right: 10px; }
.intake-native { border-left: 3px solid #3978d7; font-size: 14px; }
.intake-sp-number { overflow-wrap: anywhere; }
.intake-approval-recovery { padding-top: 14px; margin-top: 18px; border-top: 1px solid #dce5f1; }
.intake-approval-recovery .intake-field { margin-bottom: 12px; max-width: 440px; }
.intake-embedded-images { margin: 16px 0 20px; }
.intake-embedded-images h4 { font-size: 14px; margin: 0 0 8px; }
.intake-image-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 220px)); gap: 14px; }
.intake-embedded-image { display: flex; flex-direction: column; gap: 10px; padding: 12px; border: 1px solid #dce5ef; border-radius: 8px; cursor: pointer; font-size: 12px; }
.intake-embedded-image img { width: 100%; height: 140px; object-fit: contain; background: #f7f9fc; border-radius: 5px; }
.intake-embedded-image span { overflow-wrap: anywhere; line-height: 1.7; }
@media (max-width: 650px) { .intake-parse-values { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 1000px) { .intake-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .intake-layout { grid-template-columns: minmax(0, 1fr); } .intake-side { display: none; } }
@media (max-width: 650px) { .intake-heading, .intake-detail-head { align-items: flex-start; flex-direction: column; gap: 10px; } .intake-panel { padding: 12px; } .intake-grid, .intake-pair { grid-template-columns: minmax(0, 1fr); } .intake-file { align-items: flex-start; flex-direction: column; gap: 8px; } .intake-list-filters { width: 100%; } .intake-list-filters input { max-width: none; } }
.intake-cc-options { max-height: 240px; overflow: auto; margin-top: 10px; }
.intake-status.withdrawn, .intake-status.submission_failed, .intake-status.approval_exception { color: #92400e; background: #fff4d8; }
.intake-table td small { display: block; margin-top: 5px; }
