.smart-assistant-workspace { width: 100%; box-sizing: border-box; }

.smart-assistant-upload-panel { display: grid; gap: var(--erp-space-6); min-height: 0; padding: var(--erp-space-6); }

.smart-assistant-dropzone {
  width: min(680px, 100%); min-height: 300px; border: 2px dashed #a9bec2; border-radius: 12px;
  background: #f7fbfb; display: flex; align-items: center; justify-content: center; flex-direction: column;
  gap: 12px; padding: 32px; color: var(--muted); text-align: center;
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}
.smart-assistant-dropzone:hover, .smart-assistant-dropzone.is-dragging { border-color: var(--brand); background: var(--soft); }
.smart-assistant-dropzone.is-dragging { transform: translateY(-2px); }
.smart-assistant-dropzone.is-uploading { cursor: wait; opacity: 0.72; }
.smart-assistant-dropzone input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.smart-assistant-upload-icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 50%; background: #dfeeee; color: var(--brand); font-size: 34px; line-height: 1; }
.smart-assistant-dropzone strong { color: var(--text); font-size: 22px; }
.smart-assistant-file-button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 9px 18px; }
.smart-assistant-dropzone small { font-size: 13px; }

.smart-assistant-error { width: 100%; margin: 14px auto 0; padding: 10px 12px; border-radius: 6px; background: #fff0f0; color: var(--danger); }
.smart-assistant-loading { min-height: 180px; display: grid; place-items: center; color: var(--muted); }
.smart-assistant-case-panel, .smart-assistant-sheet-panel { margin-bottom: 16px; }
.smart-assistant-topbar h1 { overflow-wrap: anywhere; }

.smart-assistant-case-heading, .smart-assistant-sheet-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.smart-assistant-case-id { display: flex; flex-wrap: wrap; gap: 8px 20px; color: var(--muted); }
.smart-assistant-case-id strong { color: var(--text); }
.smart-assistant-case-actions { display: flex; align-items: center; gap: 10px; }
.smart-assistant-status { display: inline-flex; align-items: center; min-height: 30px; padding: 4px 10px; border-radius: 999px; background: #eef1f3; color: #52616a; font-size: 13px; font-weight: 700; }

.smart-assistant-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 22px 0 0; }
.smart-assistant-meta div { min-width: 0; border-top: 1px solid var(--line); padding-top: 12px; }
.smart-assistant-meta dt { color: var(--muted); font-size: 13px; }
.smart-assistant-meta dd { overflow-wrap: anywhere; margin: 5px 0 0; font-weight: 700; }

.smart-assistant-sheet-heading > div > span { color: var(--brand); font-size: 13px; font-weight: 700; }
.smart-assistant-sheet-heading h2 { margin: 2px 0 0; }
.smart-assistant-sheet-heading p { margin: 6px 0 0; color: var(--muted); line-height: 1.6; }
.smart-assistant-sheet-heading > .button { flex: 0 0 auto; min-height: 44px; }
.smart-assistant-sheet-list { gap: 0; list-style: none; margin: 16px 0 0; padding: 0 8px 0 0; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); }
.smart-assistant-sheet-row { border-bottom: 1px solid var(--line); }
.smart-assistant-sheet-row:last-child { border-bottom: 0; }
.smart-assistant-sheet-row.is-bom { background: #fbfefe; }
.smart-assistant-sheet-toggle { width: 100%; min-height: 68px; display: grid; grid-template-columns: 20px minmax(180px, 1fr) minmax(120px, auto) auto; align-items: center; gap: 14px; padding: 12px 14px; border: 0; border-radius: 0; color: var(--text); background: transparent; text-align: left; box-shadow: none; }
.smart-assistant-sheet-toggle:hover { color: var(--text); background: var(--soft); box-shadow: none; transform: none; }
.smart-assistant-sheet-toggle:focus-visible { position: relative; z-index: 1; outline: 2px solid var(--brand); outline-offset: -2px; }
.smart-assistant-sheet-chevron { display: grid; place-items: center; color: var(--muted); }
.smart-assistant-sheet-name { min-width: 0; display: grid; gap: 4px; }
.smart-assistant-sheet-name strong { overflow-wrap: anywhere; font-size: 16px; }
.smart-assistant-sheet-name small, .smart-assistant-sheet-range { color: var(--muted); font-size: 13px; }
.smart-assistant-sheet-badge { display: inline-flex; align-items: center; justify-content: center; min-height: 28px; margin: 0; padding: 3px 10px; border-radius: 999px; color: #52616a; background: #eef1f3; white-space: nowrap; font-size: 12px; font-weight: 700; }
.smart-assistant-sheet-badge.is-running { color: #245b86; background: #e8f1fa; }
.smart-assistant-sheet-badge.is-complete { color: #176444; background: #dff5e9; }
.smart-assistant-sheet-badge.is-review { color: #805d0d; background: #fff4d8; }
.smart-assistant-sheet-badge.is-failed { color: var(--danger); background: #fff0f0; }
.smart-assistant-sheet-details { display: grid; grid-template-columns: minmax(160px, 1fr) 90px minmax(160px, 210px) minmax(190px, auto); align-items: center; gap: 12px; margin: 0 14px 12px 48px; padding: 12px 14px; border-radius: 8px; background: #f7f9f9; }
.smart-assistant-sheet-details[hidden] { display: none; }
.smart-assistant-sheet-check { min-height: 44px; display: flex; align-items: center; gap: 8px; }
.smart-assistant-sheet-check.is-disabled { opacity: .68; cursor: help; }
.smart-assistant-sheet-check.is-disabled input { opacity: 1; }
.smart-assistant-confidence span, .smart-assistant-confidence small, .smart-assistant-sheet-selection > span, .smart-assistant-sheet-selection small { color: var(--muted); font-size: 12px; }
.smart-assistant-confidence { display: grid; gap: 4px; }
.smart-assistant-confidence strong { font-size: 20px; color: var(--brand-dark); }
.smart-assistant-sheet-selection { display: grid; gap: 5px; }
.smart-assistant-sheet-selection select { min-width: 0; }
.smart-assistant-sheet-selection small { min-height: 16px; color: var(--ok); }
.smart-assistant-sheet-row-actions { display: grid; grid-template-columns: repeat(2, minmax(92px, 1fr)); align-items: center; justify-content: end; gap: 8px; }
.smart-assistant-sheet-row-actions .button { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.smart-assistant-sheet-row-actions .button svg, .smart-assistant-workspace-actions .button svg, .smart-write-entry-actions .button svg { flex: 0 0 auto; }
.smart-assistant-sheet-waiting { grid-column: 1 / -1; margin: 0; color: var(--muted); }

.smart-assistant-content-status { width: fit-content; padding: 3px 8px; border-radius: 999px; background: #eef1f3; color: var(--muted); font-size: 12px; font-weight: 700; }
.smart-assistant-content-status.is-review { background: #e5f5ef; color: #176444; }
.smart-assistant-content-status.is-running { background: #e8f1fa; color: #245b86; }
.smart-assistant-content-status.is-failed { background: #fff0f0; color: var(--danger); }
.smart-assistant-content-status.is-editing { background: #fff4d8; color: #805d0d; }
.smart-assistant-content-status.is-confirmed { background: #dff5e9; color: #176444; }

.smart-assistant-bom-action { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 0 0; }
.smart-assistant-bom-action > div { display: grid; gap: 4px; }
.smart-assistant-bom-action span { color: var(--muted); font-size: 13px; }
.smart-assistant-bom-action.is-empty { color: var(--muted); }
.smart-assistant-bom-action button { min-height: 44px; }
.smart-assistant-bom-action .tf-action-button--primary { color: #fff; }
.smart-assistant-bom-action .tf-action-button--primary:disabled { opacity: 1; border-color: #c8d0d2; color: #465257; background: #e4e8e9; }

.smart-assistant-result-panel { margin-bottom: 16px; min-width: 0; overflow: hidden; }
.smart-assistant-result-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.smart-assistant-result-heading p { margin: 0 0 4px; color: var(--muted); }
.smart-assistant-result-heading h3 { margin: 0; }
.smart-assistant-result-heading small { display: block; margin-top: 6px; color: var(--muted); }
.smart-assistant-result-actions { display: flex; align-items: center; gap: 8px; }
.smart-assistant-result-actions .tf-action-button { white-space: nowrap; }
.smart-assistant-result-summary { display: grid; grid-template-columns: minmax(190px, 1.4fr) repeat(4, minmax(0, 1fr)); gap: 10px; margin: 18px 0; }
.smart-assistant-result-summary div { min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #fafcfc; }
.smart-assistant-result-summary span { display: block; color: var(--muted); font-size: 12px; }
.smart-assistant-result-summary strong { display: block; margin-top: 5px; overflow-wrap: anywhere; }
.smart-assistant-result-summary small { display: block; margin-top: 5px; color: var(--muted); }
.smart-assistant-result-summary .is-review { border-color: #e7d49c; background: #fffaf0; }
.smart-assistant-result-view-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.smart-assistant-warning-list { margin: 12px 0; padding: 12px 14px; border-radius: 8px; background: #fff8e8; color: #785a11; }
.smart-assistant-warning-list ul { margin: 6px 0 0; padding-left: 20px; }

.smart-assistant-review-panel h4 { margin: 0 0 10px; }
.smart-assistant-review-list { display: grid; gap: 10px; }
.smart-assistant-review-list article { padding: 14px; border: 1px solid #ead7a2; border-radius: 8px; background: #fffdf6; }
.smart-assistant-review-list dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 10px 0 0; }
.smart-assistant-review-list dl > div { min-width: 0; }
.smart-assistant-review-list dt { color: var(--muted); font-size: 12px; }
.smart-assistant-review-list dd { margin: 4px 0 0; overflow-wrap: anywhere; }
.smart-assistant-review-empty { padding: 18px; border-radius: 8px; color: #176444; background: #edf8f3; }

.smart-assistant-table-scroll { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: 8px; }
.smart-assistant-bom-table { width: 100%; min-width: 1050px; border-collapse: collapse; background: #fff; }
.smart-assistant-bom-table th, .smart-assistant-bom-table td { padding: 10px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.smart-assistant-bom-table th { position: sticky; top: 0; z-index: 1; background: #f2f7f7; color: var(--muted); font-size: 12px; white-space: nowrap; }
.smart-assistant-bom-table td:nth-child(4), .smart-assistant-bom-table td:nth-child(6), .smart-assistant-bom-table td:last-child { text-align: right; white-space: nowrap; }
.smart-assistant-bom-table tr.is-ignored { opacity: .5; background: #f3f4f4; }
.smart-assistant-bom-table.is-editing { min-width: 1250px; }
.smart-assistant-bom-table input { width: 112px; min-width: 0; }
.smart-assistant-bom-table td:nth-child(4) input, .smart-assistant-bom-table td:nth-child(5) input { width: 170px; }

.smart-assistant-unparsed { margin-top: 18px; }
.smart-assistant-unparsed h4, .smart-assistant-editor h4 { margin: 18px 0 10px; }
.smart-assistant-unparsed-list { display: grid; gap: 8px; }
.smart-assistant-unparsed-list article { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 12px; border: 1px solid #ead7a2; border-radius: 8px; background: #fffdf6; }
.smart-assistant-unparsed-list p { margin: 5px 0; overflow-wrap: anywhere; }
.smart-assistant-unparsed-list small { color: var(--muted); }
.smart-assistant-unparsed-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.smart-assistant-unparsed-actions button.is-active { border-color: var(--brand); color: var(--brand-dark); background: var(--soft); }

.smart-assistant-product-editor { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.smart-assistant-product-editor label, .smart-assistant-mapping-grid label { display: grid; gap: 5px; }
.smart-assistant-product-editor span, .smart-assistant-mapping-grid span { color: var(--muted); font-size: 12px; }
.smart-assistant-mapping-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.smart-assistant-editor-actions { position: sticky; bottom: 0; display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; padding: 12px 0 0; background: linear-gradient(transparent, white 18%); }
.smart-assistant-editor-actions button { min-height: 44px; }
.smart-assistant-editor-actions .tf-action-button--primary:disabled, .smart-assistant-modal-actions .tf-action-button--primary:disabled { opacity: 1; border-color: #c8d0d2; color: #465257; background: #e4e8e9; }

.smart-assistant-product-assignment { margin-top: 18px; padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: #fafcfc; }
.smart-assistant-editor-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin: 20px 0 10px; }
.smart-assistant-editor-section-heading h4, .smart-assistant-editor-section-heading p { margin: 0; }
.smart-assistant-editor-section-heading p { margin-top: 4px; color: var(--muted); }
.smart-assistant-current-product { display: grid; gap: 3px; margin-top: 5px; }
.smart-assistant-current-product small { color: var(--muted); }
.smart-assistant-assignment-modes, .smart-assistant-row-decisions { display: flex; flex-wrap: wrap; gap: 8px; }
.smart-assistant-assignment-modes { margin: 12px 0; }
.smart-assistant-assignment-modes button, .smart-assistant-row-decisions button { min-height: 40px; border-color: var(--line); color: var(--text); background: #fff; }
.smart-assistant-assignment-modes button.is-active, .smart-assistant-row-decisions button.is-active { border-color: var(--brand); color: #fff; background: var(--brand); }
.smart-assistant-existing-product { display: grid; gap: 10px; }
.smart-assistant-existing-product label, .smart-assistant-suggested-product label, .smart-assistant-ignore-fields label, .smart-assistant-correction-fields label { display: grid; gap: 5px; }
.smart-assistant-existing-product label span, .smart-assistant-suggested-product label span, .smart-assistant-ignore-fields span, .smart-assistant-correction-fields span { color: var(--muted); font-size: 12px; }
.smart-assistant-selected-product { display: grid; gap: 4px; padding: 12px; border: 1px solid #b8d9cd; border-radius: 8px; background: #edf8f3; }
.smart-assistant-selected-product span, .smart-assistant-selected-product small { color: var(--muted); }
.smart-assistant-product-results { display: grid; gap: 6px; max-height: 260px; overflow-y: auto; }
.smart-assistant-product-results > button { display: grid; gap: 3px; min-height: 56px; padding: 10px 12px; text-align: left; background: #fff; }
.smart-assistant-product-results > button span, .smart-assistant-product-results > button small { color: var(--muted); }
.smart-assistant-suggested-product { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.smart-assistant-suggested-product .is-wide, .smart-assistant-unofficial-label { grid-column: 1 / -1; }
.smart-assistant-suggested-product textarea { min-height: 80px; resize: vertical; }
.smart-assistant-unofficial-label, .smart-assistant-unassigned-warning { padding: 10px 12px; border-radius: 8px; color: #785a11; background: #fff5d9; }

.smart-assistant-correction-list { display: grid; gap: 12px; }
.smart-assistant-correction-card { padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.smart-assistant-correction-card.is-ignored { border-color: #d4d8da; background: #f3f4f4; }
.smart-assistant-correction-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.smart-assistant-correction-card > header > div { display: grid; gap: 4px; }
.smart-assistant-correction-card > header span, .smart-assistant-correction-card > header small { color: var(--muted); }
.smart-assistant-correction-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 14px 0; }
.smart-assistant-ignore-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 10px; padding: 10px; border-radius: 8px; background: #fff7e8; }

.smart-assistant-confirmed-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.smart-assistant-confirmed-heading h3 { margin: 6px 0 0; }
.smart-assistant-confirmed-heading p { margin: 5px 0 0; color: var(--muted); }
.smart-assistant-confirmed-summary, .smart-assistant-confirmation-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 18px 0; }
.smart-assistant-confirmed-summary > div, .smart-assistant-confirmation-summary > div { padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #fafcfc; }
.smart-assistant-confirmed-summary span, .smart-assistant-confirmation-summary span { display: block; color: var(--muted); font-size: 12px; }
.smart-assistant-confirmed-summary strong, .smart-assistant-confirmation-summary strong { display: block; margin-top: 5px; overflow-wrap: anywhere; }
.smart-assistant-confirmed-summary small { display: block; margin-top: 4px; color: var(--muted); }
.smart-assistant-confirmation-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.smart-assistant-confirmation-summary > div:last-child { grid-column: 1 / -1; }

.smart-assistant-diff-panel { min-width: 0; overflow: hidden; }
.smart-assistant-diff-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.smart-assistant-diff-heading p, .smart-assistant-diff-heading h3 { margin: 0; }
.smart-assistant-diff-heading p, .smart-assistant-diff-heading small { color: var(--muted); }
.smart-assistant-diff-heading h3 { margin-top: 4px; }
.smart-assistant-diff-heading small { display: block; margin-top: 5px; }
.smart-assistant-diff-summary { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; margin: 18px 0; }
.smart-assistant-diff-summary > div { min-width: 0; padding: 11px; border: 1px solid var(--line); border-radius: 8px; background: #fafcfc; }
.smart-assistant-diff-summary > div.is-review { border-color: #e7d49c; background: #fffaf0; }
.smart-assistant-diff-summary span { display: block; color: var(--muted); font-size: 11px; }
.smart-assistant-diff-summary strong { display: block; margin-top: 5px; font-size: 17px; overflow-wrap: anywhere; }
.smart-assistant-diff-group { margin-top: 22px; }
.smart-assistant-diff-group > h4 { margin: 0 0 10px; }
.smart-assistant-diff-group-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.smart-assistant-diff-group-heading h4 { margin: 0; }
.smart-assistant-diff-batch-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.smart-assistant-diff-batch-actions button { min-height: 42px; }
.smart-assistant-diff-batch-actions button.primary { color: #fff; background: var(--brand); }
.smart-assistant-diff-batch-actions button:disabled { opacity: 1; border-color: #c8d0d2; color: #465257; background: #e4e8e9; }
.smart-assistant-batch-success { margin: 14px 0; padding: 11px 13px; border-radius: 8px; color: #176444; background: #e5f5ef; font-weight: 700; }
.smart-assistant-diff-list { display: grid; gap: 10px; }
.smart-assistant-diff-card { min-width: 0; padding: 14px; border: 1px solid var(--line); border-left: 4px solid #7d8b8f; border-radius: 9px; background: #fff; }
.smart-assistant-diff-card.is-待確認 { border-left-color: #c88912; background: #fffdf7; }
.smart-assistant-diff-card.is-新增 { border-left-color: #29805f; }
.smart-assistant-diff-card.is-修改 { border-left-color: #39769d; }
.smart-assistant-diff-card.is-可能移除 { border-left-color: #b04a4a; }
.smart-assistant-diff-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.smart-assistant-diff-card h5 { margin: 5px 0 0; font-size: 16px; }
.smart-assistant-diff-type { color: var(--muted); font-size: 12px; font-weight: 700; }
.smart-assistant-diff-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; margin: 14px 0 0; }
.smart-assistant-diff-fields > div { min-width: 0; padding: 8px 10px; border-radius: 7px; background: #f7f9f9; }
.smart-assistant-diff-fields dt { color: var(--muted); font-size: 11px; }
.smart-assistant-diff-fields dd { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 8px; margin: 5px 0 0; overflow-wrap: anywhere; }
.smart-assistant-diff-fields dd span { color: var(--muted); text-decoration: line-through; }
.smart-assistant-diff-fields dd b { color: var(--muted); }
.smart-assistant-diff-sections { display: grid; grid-template-columns: minmax(0, 1fr) minmax(210px, .34fr); gap: 12px; margin-top: 14px; }
.smart-assistant-diff-sections h6 { margin: 0 0 8px; color: var(--muted); font-size: 12px; }
.smart-assistant-diff-sections .smart-assistant-diff-fields { margin-top: 0; }
.smart-assistant-diff-reference { padding: 11px; border: 1px solid #dbe3e5; border-radius: 8px; background: #f7f9f9; }
.smart-assistant-diff-reference dl { display: grid; gap: 8px; margin: 0; }
.smart-assistant-diff-reference dl > div { display: flex; justify-content: space-between; gap: 8px; }
.smart-assistant-diff-reference dt { color: var(--muted); font-size: 11px; }
.smart-assistant-diff-reference dd { margin: 0; text-align: right; overflow-wrap: anywhere; }
.smart-assistant-diff-reference p { margin: 10px 0 0; color: #785a11; font-size: 11px; line-height: 1.5; }
.smart-assistant-diff-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.smart-assistant-diff-actions button { min-height: 38px; }
.smart-assistant-diff-actions button.danger { border-color: #d6aaaa; color: #943939; background: #fff; }
.smart-assistant-diff-decision { padding: 5px 9px; border-radius: 999px; color: #176444; background: #e5f5ef; font-size: 12px; font-weight: 700; }
.smart-assistant-diff-no-change { margin: 12px 0 0; color: #176444; }
.smart-assistant-diff-source { margin-top: 12px; color: var(--muted); font-size: 12px; }
.smart-assistant-diff-source summary { cursor: pointer; }
.smart-assistant-diff-source p { margin: 6px 0 0; overflow-wrap: anywhere; }
.smart-assistant-diff-editor { margin-top: 14px; padding: 12px; border: 1px solid #b8d9cd; border-radius: 8px; background: #f5fbf8; }
.smart-assistant-diff-edit-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.smart-assistant-diff-edit-grid label, .smart-assistant-diff-match { display: grid; gap: 5px; }
.smart-assistant-diff-edit-grid span, .smart-assistant-diff-match span { color: var(--muted); font-size: 11px; }
.smart-assistant-diff-edit-grid input { width: 100%; min-width: 0; }
.smart-assistant-diff-match { margin-top: 10px; }
.smart-assistant-diff-editor-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 10px; }
.smart-assistant-diff-unchanged { margin-top: 20px; }
.smart-assistant-diff-unchanged > summary { cursor: pointer; color: var(--muted); font-weight: 700; }
.smart-assistant-diff-unchanged > .smart-assistant-diff-list { margin-top: 10px; }
.smart-assistant-diff-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--line); }
.smart-assistant-diff-footer p { margin: 0; color: var(--muted); }
.smart-assistant-reference-exclusion { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 14px; padding: 12px; border-radius: 8px; background: #fff7e8; }
.smart-assistant-reference-exclusion span { padding: 3px 8px; border-radius: 999px; background: #fff; }
.smart-assistant-reference-exclusion p { flex-basis: 100%; margin: 2px 0 0; color: #785a11; }
.smart-assistant-batch-count { display: flex; justify-content: space-between; align-items: center; padding: 14px; border-radius: 8px; background: #f5f8f8; }
.smart-assistant-batch-count span { color: var(--muted); }
.smart-assistant-batch-count strong { font-size: 22px; }
.smart-assistant-batch-excludes { margin-top: 14px; }
.smart-assistant-batch-excludes ul { margin-top: 7px; }

.smart-assistant-modal-backdrop { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 20px; background: rgba(19, 39, 44, .54); }
.smart-assistant-modal { width: min(680px, 100%); max-height: calc(100vh - 40px); overflow-y: auto; padding: 24px; border-radius: 12px; background: white; box-shadow: 0 18px 60px rgba(0, 0, 0, .25); }
.smart-assistant-modal h2 { margin: 0 0 18px; }
.smart-assistant-modal dl { display: grid; gap: 12px; margin: 0; }
.smart-assistant-modal dl > div { display: grid; grid-template-columns: 88px 1fr; gap: 12px; }
.smart-assistant-modal dt { color: var(--muted); }
.smart-assistant-modal dd { margin: 0; }
.smart-assistant-modal ul { margin: 0; padding-left: 20px; }
.smart-assistant-transmission-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.smart-assistant-transmission-grid > div { padding: 12px; border-radius: 8px; background: #f5f8f8; }
.smart-assistant-confirm-note { color: var(--muted); font-size: 13px; line-height: 1.6; }
.smart-assistant-modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; }
.smart-assistant-modal-actions button { min-height: 44px; }

.smart-assistant-workflow-heading, .smart-assistant-workflow-result-head, .smart-assistant-workflow-section-title, .smart-assistant-workflow-item-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.smart-assistant-page-title { display: flex; align-items: center; gap: 10px; }
.smart-assistant-page-title .tf-icon { flex: 0 0 22px; width: 22px; height: 22px; color: var(--brand); }
.smart-assistant-entry-header p { margin: var(--erp-space-2) 0 0; color: var(--muted); }
.smart-assistant-workflow-heading h2, .smart-assistant-workflow-heading p, .smart-assistant-workflow-result-head h2, .smart-assistant-workflow-result-head p, .smart-assistant-workflow-section-title h3, .smart-assistant-workflow-section-title p { margin: 0; }
.smart-assistant-workflow-heading p, .smart-assistant-workflow-section-title p { margin-top: 5px; color: var(--muted); }
.smart-assistant-workflow-toolbar { display: flex; justify-content: flex-end; }
.smart-assistant-workflow-groups { display: grid; gap: var(--erp-space-6); }
.smart-assistant-workflow-group { display: grid; gap: var(--erp-space-3); }
.smart-assistant-workflow-group + .smart-assistant-workflow-group { padding-top: var(--erp-space-5); border-top: var(--erp-border-width) var(--erp-border-style) var(--erp-border); }
.smart-assistant-workflow-group h2 { margin: 0; color: var(--erp-text-secondary); font-size: var(--erp-font-size-lg); font-weight: var(--erp-font-weight-semibold); line-height: var(--erp-line-height-tight); }
.smart-assistant-workflow-grid { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--erp-space-3); }
.smart-assistant-workflow-group:last-child .smart-assistant-workflow-grid { max-width: calc((100% - var(--erp-space-3)) / 2); }
.smart-assistant-workflow-card { display: flex; align-items: center; gap: var(--erp-space-3); min-width: 0; min-height: 96px; padding: var(--erp-space-4); border: var(--erp-border-width) var(--erp-border-style) var(--erp-border); border-radius: var(--erp-radius-md); color: inherit; background: var(--erp-surface); text-align: left; transition: border-color var(--erp-duration-fast) var(--erp-ease-standard), background var(--erp-duration-fast) var(--erp-ease-standard), box-shadow var(--erp-duration-fast) var(--erp-ease-standard); }
.smart-assistant-workflow-card:hover { border-color: var(--erp-border-strong); background: var(--erp-surface-hover); box-shadow: var(--erp-shadow-xs); }
.smart-assistant-workflow-card:focus-visible { outline: none; border-color: var(--erp-primary); box-shadow: var(--erp-shadow-focus); }
.smart-assistant-workflow-card.is-selected { border-color: var(--erp-primary); box-shadow: var(--erp-shadow-focus); background: var(--erp-surface-selected); }
.smart-assistant-workflow-card > span:last-child { min-width: 0; display: grid; gap: var(--erp-space-1); }
.smart-assistant-workflow-card strong { font-size: var(--erp-font-size-lg); font-weight: var(--erp-font-weight-semibold); line-height: var(--erp-line-height-tight); }
.smart-assistant-workflow-card small { color: var(--erp-text-muted); font-size: var(--erp-font-size-sm); line-height: var(--erp-line-height-normal); }
.smart-assistant-workflow-icon { display: grid; flex: 0 0 40px; width: 40px; height: 40px; place-items: center; border-radius: var(--erp-radius-sm); color: var(--erp-primary); background: var(--erp-surface-muted); }
.smart-assistant-selected-flow > strong { display: flex; align-items: center; gap: 8px; }
.smart-assistant-selected-flow { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 18px 0 12px; padding: 12px 14px; border-radius: 8px; background: #eef7f7; }
.smart-assistant-selected-flow > span { display: flex; align-items: center; gap: 7px; color: var(--muted); }
.smart-assistant-selected-flow b { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; color: white; background: var(--brand); font-size: 11px; }
.smart-assistant-selected-flow i { font-style: normal; }
.smart-assistant-workflow-hint { width: 100%; margin: 0; padding: var(--erp-space-3) var(--erp-space-4); border: var(--erp-border-width) var(--erp-border-style) var(--erp-border); border-radius: var(--erp-radius-md); color: var(--erp-text-muted); background: var(--erp-surface-muted); font-size: var(--erp-font-size-sm); text-align: center; }
.smart-v23-primary-upload, .smart-v23-quick-workflows, .smart-v23-discovery { display: grid; gap: var(--erp-space-4); }
.smart-v23-primary-upload { padding-bottom: var(--erp-space-6); border-bottom: var(--erp-border-width) var(--erp-border-style) var(--erp-border); }
.smart-v23-quick-workflows > div:first-child h2, .smart-v23-quick-workflows > div:first-child p { margin: 0; }
.smart-v23-quick-workflows > div:first-child p { margin-top: var(--erp-space-1); color: var(--erp-text-muted); }
.smart-v23-document-summary { padding: var(--erp-space-4); border-left: 3px solid var(--erp-primary); border-radius: var(--erp-radius-sm); background: var(--erp-surface-muted); }
.smart-v23-document-summary p { margin: var(--erp-space-1) 0 0; color: var(--erp-text-secondary); }
.smart-v23-purpose-list { display: grid; gap: var(--erp-space-3); }
.smart-v23-purpose-option { display: flex; align-items: flex-start; gap: var(--erp-space-3); padding: var(--erp-space-4); border: var(--erp-border-width) var(--erp-border-style) var(--erp-border); border-radius: var(--erp-radius-md); background: var(--erp-surface); }
.smart-v23-purpose-option:has(input:checked) { border-color: var(--erp-primary); background: var(--erp-surface-selected); }
.smart-v23-purpose-option input, .smart-v23-other-purposes input { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 1px; }
.smart-v23-purpose-copy { min-width: 0; display: grid; gap: var(--erp-space-1); }
.smart-v23-purpose-copy > span { display: flex; align-items: center; justify-content: space-between; gap: var(--erp-space-3); }
.smart-v23-purpose-copy b { color: var(--erp-primary); font-size: var(--erp-font-size-sm); }
.smart-v23-purpose-copy small { color: var(--erp-text-muted); }
.smart-v23-purpose-copy ul { margin: var(--erp-space-2) 0 0; padding-left: 20px; color: var(--erp-text-secondary); }
.smart-v23-other-purposes { border-top: var(--erp-border-width) var(--erp-border-style) var(--erp-border); padding-top: var(--erp-space-3); }
.smart-v23-other-purposes summary { cursor: pointer; color: var(--erp-text-secondary); }
.smart-v23-other-purposes > div { display: flex; flex-wrap: wrap; gap: var(--erp-space-3); padding-top: var(--erp-space-3); }
.smart-v23-other-purposes label { display: flex; align-items: center; gap: var(--erp-space-2); }
.smart-v23-recovery-actions { display: flex; flex-wrap: wrap; gap: var(--erp-space-2); }
.smart-assistant-workflow-panel { display: grid; gap: 18px; }
.smart-assistant-workflow-result-head p { color: var(--muted); }
.smart-assistant-workflow-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.smart-assistant-workflow-steps li { display: flex; align-items: center; gap: 9px; padding: 11px; border-radius: 8px; color: var(--muted); background: #f4f6f6; }
.smart-assistant-workflow-steps li.is-active { color: #174f50; background: #e9f6f6; }
.smart-assistant-workflow-steps b { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; color: #fff; background: #869497; }
.smart-assistant-workflow-steps .is-active b { background: var(--brand); }
.smart-assistant-workflow-start, .smart-assistant-workflow-review-note { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px; border-radius: 9px; background: #f7f9f9; }
.smart-assistant-workflow-start p { margin: 4px 0 0; color: var(--muted); }
.smart-assistant-workflow-review-note { justify-content: flex-start; border-left: 4px solid #d59623; background: #fff9ed; }
.smart-assistant-workflow-review-note span { color: var(--muted); }
.smart-assistant-workflow-review { display: grid; gap: 16px; }
.smart-assistant-workflow-review > h3 { margin: 0; }
.smart-assistant-workflow-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.smart-assistant-workflow-fields label { min-width: 0; display: grid; gap: 5px; }
.smart-assistant-workflow-fields label span { color: var(--muted); font-size: 12px; }
.smart-assistant-workflow-fields input { width: 100%; min-width: 0; }
.smart-assistant-workflow-items { display: grid; gap: 12px; padding-top: 15px; border-top: 1px solid var(--line); }
.smart-assistant-workflow-item-list { display: grid; gap: 10px; }
.smart-assistant-workflow-item { padding: 13px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.smart-assistant-workflow-item-head { margin-bottom: 10px; }
.smart-assistant-workflow-empty { padding: 22px; border-radius: 8px; color: var(--muted); background: #f5f7f7; text-align: center; }
.smart-assistant-workflow-warnings { padding: 12px 14px; border-radius: 8px; color: #785a11; background: #fff7e8; }
.smart-assistant-workflow-warnings ul { margin: 7px 0 0; }
.smart-assistant-workflow-actions { display: flex; justify-content: flex-end; gap: 8px; padding-top: 15px; border-top: 1px solid var(--line); }
.smart-assistant-workflow-confirmed { padding: 12px; border-radius: 8px; color: #176444; background: #e5f5ef; }
.smart-assistant-source-note { margin: 5px 0 0; color: var(--muted); font-size: 13px; }
.smart-assistant-workspace-panel { display: grid; gap: 16px; margin-bottom: 16px; }
.smart-assistant-workspace-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.smart-assistant-workspace-heading p, .smart-assistant-workspace-heading h2 { margin: 0; }
.smart-assistant-workspace-heading p { color: var(--muted); }
.smart-assistant-workspace-rule { display: grid; gap: 4px; padding: 14px; border-left: 4px solid var(--brand); border-radius: 8px; background: #f1f8f8; }
.smart-assistant-workspace-rule span, .smart-assistant-attachment-result span { color: var(--muted); }
.smart-assistant-attachment-question { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px; border: 1px solid #b9d9d2; border-radius: 10px; background: #f5fbf9; }
.smart-assistant-attachment-question p, .smart-assistant-attachment-question h3 { margin: 0; }
.smart-assistant-attachment-question h3 { margin-top: 4px; overflow-wrap: anywhere; }
.smart-assistant-attachment-question span { display: block; margin-top: 6px; color: var(--muted); }
.smart-assistant-attachment-actions, .smart-assistant-workspace-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.smart-assistant-attachment-result { display: grid; gap: 5px; padding: 14px; border-radius: 8px; background: #f5f7f7; }
.smart-assistant-attachment-result.is-saved { color: #176444; background: #e8f7ef; }
.smart-assistant-attachment-result.is-pending { color: #765813; background: #fff8e8; }
.smart-assistant-workspace-actions { justify-content: flex-end; padding-top: 4px; border-top: 1px solid var(--line); }
.smart-assistant-workspace-actions .button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.smart-assistant-workspace-actions .smart-assistant-workspace-delete { margin-left: var(--erp-space-3); }
.smart-assistant-delete-workspace { width: min(480px, calc(100vw - 28px)); }
.smart-assistant-delete-workspace p { color: var(--muted); line-height: 1.6; }
.smart-assistant-reset-list { display: grid; gap: 6px; margin: 0; padding-left: 22px; color: var(--text); }
.smart-assistant-workspace-preserve { display: grid; gap: 4px; margin: 16px 0; padding: 12px; border-radius: 8px; color: #176444; background: #e8f7ef; }
.smart-v21-source-policy { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.6; }

@media (min-width: 761px) and (max-width: 1200px) {
  .smart-assistant-sheet-toggle { grid-template-columns: 20px minmax(180px, 1fr) auto; }
  .smart-assistant-sheet-range { grid-column: 2; grid-row: 2; }
  .smart-assistant-sheet-badge { grid-column: 3; grid-row: 1 / span 2; }
  .smart-assistant-sheet-details { grid-template-columns: minmax(180px, 1fr) 90px minmax(190px, 1fr); }
  .smart-assistant-sheet-row-actions { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(120px, 170px)); justify-content: end; }
}

.smart-v21-review { display: grid; gap: var(--erp-space-5); }
.smart-v21-section { display: grid; gap: var(--erp-space-4); padding-top: var(--erp-space-4); border-top: 1px solid var(--line); }
.smart-v21-section:first-child { padding-top: 0; border-top: 0; }
.smart-v21-section > header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--erp-space-3); }
.smart-v21-section > header h3, .smart-v21-section > header p { margin: 0; }
.smart-v21-section > header span, .smart-v21-section > header small, .smart-v21-section > header p { color: var(--muted); }
.smart-v21-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--erp-space-3); }
.smart-v21-fields label { display: grid; gap: 6px; min-width: 0; }
.smart-v21-fields label > span { color: var(--muted); font-size: 13px; }
.smart-v21-fields input, .smart-v21-fields select { width: 100%; min-width: 0; }
.smart-v21-checks { display: flex; flex-wrap: wrap; gap: var(--erp-space-4); }
.smart-v21-checkbox { display: inline-flex; align-items: center; gap: 8px; }
.smart-v21-checkbox input { width: 20px; height: 20px; }
.smart-v21-suggestion, .smart-v21-warning { margin: 0; padding: 10px 12px; border-radius: var(--erp-radius-sm); font-size: 14px; }
.smart-v21-suggestion { color: var(--muted); background: var(--erp-surface-subtle); }
.smart-v21-warning { color: #8a5a00; background: #fff8df; }
.smart-v21-list { display: grid; gap: var(--erp-space-3); }
.smart-v21-list > article { display: grid; gap: var(--erp-space-3); padding: var(--erp-space-4); border: 1px solid var(--line); border-radius: var(--erp-radius-md); background: var(--erp-surface); }
.smart-v21-list > article > header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; }
.smart-v21-list > article > header strong { font-size: 18px; font-weight: 600; }
.smart-v21-list > article > header span { color: var(--muted); }
.smart-v21-list > article > header small { grid-column: 1 / -1; color: var(--muted); }
.smart-v21-summary { display: grid; gap: var(--erp-space-4); margin-top: var(--erp-space-4); padding: var(--erp-space-4); border: 1px solid var(--line); border-radius: var(--erp-radius-md); background: var(--erp-surface-subtle); }
.smart-v21-summary.is-ready { border-color: color-mix(in srgb, var(--erp-primary) 36%, var(--line)); }
.smart-v21-summary > header { display: flex; justify-content: space-between; gap: var(--erp-space-3); }
.smart-v21-summary > header h3, .smart-v21-summary > header span { margin: 0; }
.smart-v21-summary > header span { color: var(--muted); }
.smart-v21-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--erp-space-3); }
.smart-v21-summary-grid article { padding: var(--erp-space-3); border-left: 3px solid var(--erp-primary); background: var(--erp-surface); }
.smart-v21-summary-grid h4, .smart-v21-summary-grid p { margin: 0 0 4px; }
.smart-v21-summary-grid span { color: var(--muted); font-size: 14px; }
.smart-v21-blockers { color: #8a5a00; }
.smart-v21-blockers ul { display: grid; gap: var(--erp-space-2); margin-bottom: 0; padding-left: 20px; }
.smart-v21-blockers li { display: flex; align-items: center; justify-content: space-between; gap: var(--erp-space-3); }
.smart-v21-blockers li > div { display: grid; gap: 3px; }
.smart-v21-blockers li small { display: block; color: var(--muted); }
.smart-v21-safe { margin: 0; color: var(--muted); }
.smart-write-entry-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: var(--erp-space-2); }
.smart-write-entry-actions .button, .smart-write-entry-state > .button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.smart-write-entry-reason { margin: 0; padding: var(--erp-space-3); border-left: 3px solid var(--erp-warning, #b88718); color: #765813; background: #fff8e8; }
.smart-assistant-excel-analysis { min-width: 0; display: grid; gap: var(--erp-space-3); margin-bottom: 16px; }

.smart-builder-workspace { max-width: var(--erp-content-max-width-focused); }
.smart-builder-panel { display: grid; gap: var(--erp-space-6); }
.smart-builder-progress { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--erp-space-2); margin: 0; padding: 0 0 var(--erp-space-5); border-bottom: 1px solid var(--line); list-style: none; }
.smart-builder-progress li { min-width: 0; display: flex; align-items: center; gap: var(--erp-space-2); color: var(--muted); font-size: 13px; }
.smart-builder-progress b { flex: 0 0 auto; display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid var(--line); border-radius: 50%; color: var(--muted); background: var(--panel); }
.smart-builder-progress .is-active { color: var(--text); font-weight: 600; }
.smart-builder-progress .is-active b, .smart-builder-progress .is-complete b { border-color: var(--brand); color: white; background: var(--brand); }
.smart-builder-step { min-width: 0; display: grid; gap: var(--erp-space-5); }
.smart-builder-heading { display: grid; gap: var(--erp-space-1); }
.smart-builder-heading-row { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--erp-space-4); }
.smart-builder-heading > span, .smart-builder-heading-row > div > span { color: var(--brand); font-size: 13px; font-weight: 600; }
.smart-builder-heading h2, .smart-builder-heading p, .smart-builder-heading-row h2, .smart-builder-heading-row p { margin: 0; }
.smart-builder-heading h2, .smart-builder-heading-row h2 { font-size: 24px; font-weight: 600; }
.smart-builder-heading p, .smart-builder-heading-row p { color: var(--muted); }
.smart-builder-source-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--erp-space-3); }
.smart-builder-source { min-height: 148px; display: grid; place-items: center; align-content: center; gap: var(--erp-space-2); padding: var(--erp-space-4); border: 1px solid var(--line); border-radius: var(--erp-radius); color: var(--text); background: var(--panel); }
.smart-builder-source:hover, .smart-builder-source:focus-visible { border-color: var(--brand); background: var(--soft); box-shadow: var(--erp-shadow-xs); transform: none; }
.smart-builder-source.is-disabled { cursor: not-allowed; border-color: var(--line); color: var(--muted); background: var(--soft); box-shadow: none; opacity: 0.64; }
.smart-builder-source > span { color: var(--brand); }
.smart-builder-source strong { font-size: 18px; }
.smart-builder-source small { color: var(--muted); }
.smart-builder-dropzone { min-height: 300px; }
.smart-builder-upload-selection { display: grid; gap: var(--erp-space-2); padding: var(--erp-space-3); border: 1px solid var(--line); border-radius: var(--erp-radius); background: var(--panel); }
.smart-builder-upload-selection > header { display: flex; align-items: center; min-height: 32px; }
.smart-reader-preview { min-width: 0; display: grid; gap: var(--erp-space-4); padding: var(--erp-space-4); border: 1px solid var(--line); border-radius: var(--erp-radius); background: var(--panel); }
.smart-reader-preview > header span { color: var(--muted); font-size: 13px; }
.smart-reader-preview > header h3, .smart-reader-preview > header p, .smart-reader-preview h4 { margin: 0; }
.smart-reader-preview > header h3 { font-size: 22px; font-weight: 600; }
.smart-reader-preview > header p { color: var(--muted); font-size: 14px; }
.smart-reader-loading { min-height: 120px; display: flex; align-items: center; justify-content: center; gap: var(--erp-space-3); color: var(--muted); }
.smart-reader-loading .smart-builder-spinner { width: 24px; height: 24px; }
.smart-reader-document { min-width: 0; display: grid; gap: var(--erp-space-4); padding-top: var(--erp-space-4); border-top: 1px solid var(--line); }
.smart-reader-summary { display: grid; grid-template-columns: minmax(220px, 2fr) repeat(3, minmax(100px, 0.6fr)); border: 1px solid var(--line); border-radius: var(--erp-radius-sm); overflow: hidden; }
.smart-reader-summary > div { min-width: 0; display: grid; gap: 3px; padding: var(--erp-space-3); border-right: 1px solid var(--line); }
.smart-reader-summary > div:last-child { border-right: 0; }
.smart-reader-summary span { color: var(--muted); font-size: 13px; }
.smart-reader-summary strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 16px; }
.smart-session-heading { display: flex; align-items: center; justify-content: space-between; gap: var(--erp-space-3); }
.smart-session-heading span, .smart-session-reuse > header span { color: var(--muted); font-size: 13px; }
.smart-session-heading h3 { margin: 2px 0 0; font-size: 20px; font-weight: 600; }
.smart-session-heading .status-pill { display: inline-flex; align-items: center; min-height: 26px; padding: 3px 10px; border-radius: 999px; color: #176444; background: #e8f7ef; font-size: 12px; font-weight: 600; }
.smart-session-summary { grid-template-columns: minmax(200px, 1.6fr) repeat(4, minmax(96px, 0.7fr)); }
.smart-session-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: var(--erp-space-2); }
.smart-session-reuse-details { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--erp-space-3); margin: 0; }
.smart-session-reuse-details > div { min-width: 0; display: grid; gap: 3px; padding: var(--erp-space-3); border-bottom: 1px solid var(--line); }
.smart-session-reuse-details dt { color: var(--muted); font-size: 13px; }
.smart-session-reuse-details dd { margin: 0; overflow-wrap: anywhere; font-size: 15px; font-weight: 600; }
.smart-reader-layout { min-width: 0; display: grid; grid-template-columns: minmax(180px, 0.3fr) minmax(0, 1fr); gap: var(--erp-space-4); }
.smart-reader-section-list { min-width: 0; align-self: start; padding-right: var(--erp-space-4); border-right: 1px solid var(--line); }
.smart-reader-section-list ol { display: grid; gap: var(--erp-space-1); margin: var(--erp-space-2) 0 0; padding: 0; list-style: none; }
.smart-reader-section-list li { min-width: 0; display: grid; gap: 2px; padding: var(--erp-space-2); border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.smart-reader-section-list li span { color: var(--muted); font-size: 12px; }
.smart-reader-block-tree { min-width: 0; display: grid; align-content: start; gap: var(--erp-space-2); }
.smart-reader-block-tree details { min-width: 0; border-bottom: 1px solid var(--line); }
.smart-reader-block-tree details details { margin-left: var(--erp-space-3); }
.smart-reader-block-tree summary { display: flex; align-items: center; justify-content: space-between; gap: var(--erp-space-2); padding: var(--erp-space-2); cursor: pointer; }
.smart-reader-block-tree summary span { color: var(--muted); font-size: 12px; }
.smart-reader-element-table-wrap { max-width: 100%; overflow-x: auto; }
.smart-reader-element-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.smart-reader-element-table th, .smart-reader-element-table td { max-width: 280px; padding: 8px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.smart-reader-element-table td { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.smart-reader-source-button { max-width: 100%; padding: 0; border: 0; color: var(--brand); background: transparent; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: left; }
.smart-reader-source-button:hover, .smart-reader-source-button:focus-visible { text-decoration: underline; }
.smart-reader-source-detail { display: grid; gap: var(--erp-space-3); padding: var(--erp-space-3); border-left: 3px solid var(--brand); background: var(--soft); }
.smart-reader-source-detail header { display: flex; align-items: center; justify-content: space-between; }
.smart-reader-source-detail header button { width: 32px; height: 32px; padding: 0; border: 0; background: transparent; }
.smart-reader-source-detail dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--erp-space-2); margin: 0; }
.smart-reader-source-detail dl div { min-width: 0; display: grid; gap: 2px; }
.smart-reader-source-detail dt { color: var(--muted); font-size: 12px; }
.smart-reader-source-detail dd { margin: 0; overflow-wrap: anywhere; font-size: 14px; }
.smart-reader-json { min-width: 0; }
.smart-reader-json summary { padding: var(--erp-space-2) 0; cursor: pointer; font-weight: 600; }
.smart-reader-json pre { max-height: 420px; margin: 0; padding: var(--erp-space-3); overflow: auto; border-radius: var(--erp-radius-sm); color: #d7e4e5; background: #15262b; font: 12px/1.6 ui-monospace, SFMono-Regular, Consolas, monospace; }
.smart-reader-empty { padding: var(--erp-space-3); color: var(--muted); font-size: 13px; }
.smart-builder-back { justify-self: start; }
.smart-builder-analyzing, .smart-builder-success { min-height: 360px; place-items: center; align-content: center; text-align: center; }
.smart-builder-analyzing h2, .smart-builder-analyzing p, .smart-builder-success h2, .smart-builder-success p { margin: 0; }
.smart-builder-analyzing p, .smart-builder-success p { color: var(--muted); }
.smart-builder-spinner { width: 42px; height: 42px; border: 3px solid var(--line); border-top-color: var(--brand); border-radius: 50%; animation: smart-builder-spin 0.8s linear infinite; }
@keyframes smart-builder-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .smart-builder-spinner { animation-duration: 1.8s; } }
.smart-builder-review-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(260px, 0.7fr); gap: var(--erp-space-4); }
.smart-builder-review-section { min-width: 0; display: grid; align-content: start; gap: var(--erp-space-4); padding: var(--erp-space-4); border: 1px solid var(--line); border-radius: var(--erp-radius); background: var(--panel); }
.smart-builder-review-section > header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--erp-space-3); }
.smart-builder-review-section h3, .smart-builder-review-section p { margin: 0; }
.smart-builder-review-section h3 { font-size: 18px; font-weight: 600; }
.smart-builder-review-section p { color: var(--muted); font-size: 14px; }
.smart-builder-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--erp-space-3); }
.smart-builder-field-grid label { min-width: 0; display: grid; align-content: start; gap: var(--erp-space-1); color: var(--muted); font-size: 13px; }
.smart-builder-field-grid input, .smart-builder-field-grid select { width: 100%; min-width: 0; }
.smart-builder-confidence { width: fit-content; display: inline-flex; align-items: center; min-height: 24px; padding: 2px 8px; border-radius: 999px; color: #31545a; background: #e9f3f3; font-size: 12px; font-weight: 600; }
.smart-builder-confidence.is-high { color: #176444; background: #e8f7ef; }
.smart-builder-confidence.is-low { color: #765813; background: #fff3cf; }
.smart-builder-previews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--erp-space-2); }
.smart-builder-previews img { width: 100%; aspect-ratio: 1; object-fit: cover; border: 1px solid var(--line); border-radius: var(--erp-radius-sm); }
.smart-builder-files { display: grid; gap: var(--erp-space-2); }
.smart-builder-files > div { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: var(--erp-space-2); padding: var(--erp-space-2); border-bottom: 1px solid var(--line); }
.smart-builder-files strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
.smart-builder-files small { color: var(--muted); }
.smart-builder-files button, .smart-builder-part-head button { width: 32px; height: 32px; padding: 0; border: 0; color: var(--muted); background: transparent; }
.smart-builder-bom { padding: 0; border: 0; }
.smart-builder-bom > header { padding-bottom: var(--erp-space-3); border-bottom: 1px solid var(--line); }
.smart-builder-part-list { display: grid; gap: var(--erp-space-3); }
.smart-builder-part { display: grid; gap: var(--erp-space-3); padding: var(--erp-space-4); border: 1px solid var(--line); border-radius: var(--erp-radius); }
.smart-builder-part-head { display: flex; align-items: center; gap: var(--erp-space-2); }
.smart-builder-part-head button { margin-left: auto; }
.smart-builder-empty { padding: var(--erp-space-6); color: var(--muted); text-align: center; background: var(--soft); border-radius: var(--erp-radius); }
.smart-builder-semantic-review { border-color: #ead59a; background: #fffdf6; }
.smart-builder-mapping-list { display: grid; gap: var(--erp-space-2); }
.smart-builder-mapping-list article { display: grid; grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.3fr); gap: var(--erp-space-3); padding: var(--erp-space-3); border: 1px solid #eadfbf; border-radius: var(--erp-radius-sm); background: white; }
.smart-builder-mapping-list article > div { min-width: 0; display: grid; gap: 3px; }
.smart-builder-mapping-list article span, .smart-builder-mapping-list article small, .smart-builder-mapping-list article p { color: var(--muted); font-size: 13px; }
.smart-builder-mapping-list article p { grid-column: 1 / -1; margin: 0; }
.smart-builder-semantic-ok { padding: var(--erp-space-3); color: #176444; background: #e8f7ef; border-radius: var(--erp-radius-sm); }
.smart-builder-analysis-review { display: grid; gap: var(--erp-space-4); }
.smart-builder-analysis-records { display: grid; gap: var(--erp-space-3); }
.smart-builder-analysis-records > article { display: grid; gap: var(--erp-space-3); padding-top: var(--erp-space-3); border-top: 1px solid var(--line); }
.smart-builder-analysis-records h4 { margin: 0; font-size: 16px; font-weight: 600; }
.smart-builder-inference-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--erp-space-2); }
.smart-builder-inference { min-width: 0; display: grid; gap: 4px; padding: var(--erp-space-3); border: 1px solid var(--line); border-radius: var(--erp-radius-sm); background: var(--soft); }
.smart-builder-inference header { display: flex; align-items: center; justify-content: space-between; gap: var(--erp-space-2); }
.smart-builder-inference > b { overflow-wrap: anywhere; font-size: 16px; }
.smart-builder-inference > span, .smart-builder-inference > small { color: var(--muted); font-size: 13px; }
.smart-builder-inference.is-low_confidence, .smart-builder-inference.is-conflict, .smart-builder-inference.is-missing, .smart-builder-inference.is-unresolved { border-color: #ead59a; background: #fffdf6; }
.smart-builder-source-trace { overflow-wrap: anywhere; }
.smart-builder-erp-match { display: grid; gap: var(--erp-space-2); padding: var(--erp-space-3); border-left: 3px solid var(--line); background: var(--soft); }
.smart-builder-erp-match.is-exact_match { border-left-color: #2d7a59; }
.smart-builder-erp-match.is-possible_match, .smart-builder-erp-match.is-conflict { border-left-color: #b48a24; }
.smart-builder-erp-match ul { margin: 0; padding-left: var(--erp-space-5); color: var(--muted); }
.smart-builder-erp-match label { display: grid; grid-template-columns: auto minmax(180px, 320px); align-items: center; gap: var(--erp-space-2); }
.smart-builder-issues { display: grid; gap: var(--erp-space-2); margin: 0; padding: 0; list-style: none; }
.smart-builder-issues li { display: grid; gap: 3px; padding: var(--erp-space-3); border: 1px solid #ead59a; border-radius: var(--erp-radius-sm); background: white; }
.smart-builder-actions { display: flex; justify-content: flex-end; gap: var(--erp-space-2); padding-top: var(--erp-space-4); border-top: 1px solid var(--line); }
.smart-builder-confirm-summary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: var(--erp-radius); overflow: hidden; }
.smart-builder-confirm-summary article { min-width: 0; display: grid; gap: var(--erp-space-1); padding: var(--erp-space-4); border-right: 1px solid var(--line); }
.smart-builder-confirm-summary article:last-child { border-right: 0; }
.smart-builder-confirm-summary span, .smart-builder-confirm-summary small { color: var(--muted); font-size: 13px; }
.smart-builder-confirm-summary strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 18px; }
.smart-builder-confirm-list { display: grid; gap: var(--erp-space-3); }
.smart-builder-confirm-list h3, .smart-builder-confirm-list p { margin: 0; }
.smart-builder-confirm-list ol { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.smart-builder-confirm-list li { display: flex; justify-content: space-between; gap: var(--erp-space-3); padding: var(--erp-space-3) 0; border-bottom: 1px solid var(--line); }
.smart-builder-confirm-list li span { color: var(--muted); }
.smart-builder-success > span { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; color: #176444; background: #e8f7ef; }

@media (max-width: 760px) {
  .smart-v21-fields, .smart-v21-summary-grid { grid-template-columns: 1fr; }
  .smart-v21-section > header, .smart-v21-summary > header { flex-direction: column; }
  .smart-assistant-workflow-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .smart-assistant-workflow-group:last-child .smart-assistant-workflow-grid { max-width: none; }
  .smart-assistant-workflow-heading, .smart-assistant-selected-flow, .smart-assistant-workflow-start, .smart-assistant-workflow-section-title { align-items: stretch; flex-direction: column; }
  .smart-assistant-selected-flow > span { flex-wrap: wrap; }
  .smart-assistant-workflow-fields { grid-template-columns: 1fr; }
  .smart-assistant-workflow-steps { grid-template-columns: 1fr; }
  .smart-assistant-workflow-actions { display: grid; grid-template-columns: 1fr; }
  .smart-v23-recovery-actions { display: grid; grid-template-columns: 1fr; }
  .smart-v23-recovery-actions .button, .smart-v23-recovery-actions a { width: 100%; }
  .smart-v23-purpose-copy > span { align-items: flex-start; }
  .smart-assistant-attachment-question { align-items: stretch; flex-direction: column; }
  .smart-assistant-attachment-actions, .smart-assistant-workspace-actions { display: grid; grid-template-columns: 1fr; }
  .smart-assistant-workspace-actions .smart-assistant-workspace-delete { margin: var(--erp-space-2) 0 0; }
  .smart-assistant-workflow-actions button, .smart-assistant-workflow-start button { width: 100%; min-height: 44px; }
  .smart-assistant-upload-panel { min-height: 0; padding: var(--erp-space-5); }
  .smart-assistant-dropzone { min-height: 280px; padding: 24px 16px; }
  .smart-assistant-case-heading { align-items: flex-start; flex-direction: column; }
  .smart-assistant-case-actions { width: 100%; justify-content: space-between; }
  .smart-assistant-meta { grid-template-columns: 1fr; }
  .smart-assistant-sheet-heading { align-items: stretch; flex-direction: column; }
  .smart-assistant-sheet-heading > .button { width: 100%; }
  .smart-assistant-sheet-list { padding-right: 0; }
  .smart-assistant-sheet-toggle { grid-template-columns: 20px minmax(0, 1fr) auto; min-height: 72px; gap: 10px; }
  .smart-assistant-sheet-range { grid-column: 2; }
  .smart-assistant-sheet-badge { grid-column: 3; grid-row: 1 / span 2; }
  .smart-assistant-sheet-details { grid-template-columns: 1fr; align-items: stretch; margin: 0 10px 10px; }
  .smart-assistant-sheet-row-actions { display: grid; grid-template-columns: 1fr; }
  .smart-assistant-sheet-row-actions .button { width: 100%; min-height: 44px; }
  .smart-assistant-bom-action { align-items: stretch; flex-direction: column; }
  .smart-assistant-result-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .smart-assistant-product-summary { grid-column: 1 / -1; }
  .smart-assistant-result-heading { align-items: flex-start; }
  .smart-assistant-result-view-actions { display: grid; grid-template-columns: 1fr; }
  .smart-assistant-result-view-actions button { width: 100%; }
  .smart-assistant-review-list dl { grid-template-columns: 1fr; }
  .smart-assistant-product-editor, .smart-assistant-mapping-grid, .smart-assistant-transmission-grid { grid-template-columns: 1fr; }
  .smart-assistant-suggested-product, .smart-assistant-correction-fields, .smart-assistant-ignore-fields, .smart-assistant-confirmed-summary, .smart-assistant-confirmation-summary { grid-template-columns: 1fr; }
  .smart-assistant-suggested-product .is-wide, .smart-assistant-unofficial-label, .smart-assistant-confirmation-summary > div:last-child { grid-column: auto; }
  .smart-assistant-correction-card > header { align-items: flex-start; }
  .smart-assistant-assignment-modes, .smart-assistant-row-decisions { display: grid; grid-template-columns: 1fr; }
  .smart-assistant-assignment-modes button, .smart-assistant-row-decisions button { width: 100%; min-height: 44px; }
  .smart-assistant-editor-actions { position: static; display: grid; grid-template-columns: 1fr; background: white; }
  .smart-assistant-editor-actions button { width: 100%; }
  .smart-assistant-table-scroll { overflow: visible; border: 0; }
  .smart-assistant-bom-table, .smart-assistant-bom-table.is-editing { min-width: 0; display: block; }
  .smart-assistant-bom-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .smart-assistant-bom-table tbody, .smart-assistant-bom-table tr, .smart-assistant-bom-table td { display: block; width: 100%; }
  .smart-assistant-bom-table tr { margin-bottom: 10px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 8px; background: white; }
  .smart-assistant-bom-table td { display: grid; grid-template-columns: minmax(86px, 34%) 1fr; gap: 10px; padding: 7px 0; border: 0; text-align: left !important; white-space: normal !important; }
  .smart-assistant-bom-table td::before { content: attr(data-label); color: var(--muted); font-size: 12px; }
  .smart-assistant-bom-table input { width: 100% !important; }
  .smart-assistant-unparsed-list article { flex-direction: column; }
  .smart-assistant-unparsed-actions { width: 100%; justify-content: flex-start; }
  .smart-assistant-modal-backdrop { padding: 10px; }
  .smart-assistant-modal { max-height: calc(100vh - 20px); padding: 18px; }
  .smart-assistant-modal dl > div { grid-template-columns: 1fr; gap: 4px; }
  .smart-assistant-modal-actions { flex-direction: column-reverse; }
  .smart-assistant-modal-actions button { width: 100%; }
  .smart-assistant-diff-heading, .smart-assistant-diff-card > header, .smart-assistant-diff-footer { align-items: stretch; flex-direction: column; }
  .smart-assistant-diff-group-heading { align-items: stretch; flex-direction: column; }
  .smart-assistant-diff-batch-actions { display: grid; grid-template-columns: 1fr; }
  .smart-assistant-diff-batch-actions button { width: 100%; min-height: 44px; }
  .smart-assistant-diff-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .smart-assistant-diff-summary > div:first-child { grid-column: 1 / -1; }
  .smart-assistant-diff-fields, .smart-assistant-diff-edit-grid, .smart-assistant-diff-sections { grid-template-columns: 1fr; }
  .smart-assistant-diff-actions { display: grid; grid-template-columns: 1fr; justify-content: stretch; }
  .smart-assistant-diff-actions button, .smart-assistant-diff-footer button { width: 100%; min-height: 44px; }
  .smart-assistant-diff-editor-actions { display: grid; grid-template-columns: 1fr; }
  .smart-builder-workspace .topbar { align-items: flex-start; flex-direction: column; }
  .smart-builder-progress { grid-template-columns: repeat(5, 1fr); }
  .smart-builder-progress li { justify-content: center; }
  .smart-builder-progress li span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .smart-builder-source-grid, .smart-builder-review-grid, .smart-builder-field-grid, .smart-builder-inference-grid { grid-template-columns: 1fr; }
  .smart-builder-source-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .smart-builder-heading-row, .smart-builder-review-section > header { align-items: stretch; flex-direction: column; }
  .smart-builder-confirm-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .smart-builder-confirm-summary article { border-bottom: 1px solid var(--line); }
  .smart-builder-confirm-summary article:nth-child(even) { border-right: 0; }
  .smart-builder-confirm-summary article:last-child { grid-column: 1 / -1; border-bottom: 0; }
  .smart-builder-actions { display: grid; grid-template-columns: 1fr; }
  .smart-builder-actions button { width: 100%; min-height: 44px; }
  .smart-builder-confirm-list li { align-items: flex-start; flex-direction: column; }
  .smart-builder-mapping-list article { grid-template-columns: 1fr; }
  .smart-builder-mapping-list article p { grid-column: auto; }
  .smart-builder-erp-match label { grid-template-columns: 1fr; }
  .smart-reader-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .smart-session-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .smart-session-reuse-details { grid-template-columns: 1fr; }
  .smart-session-actions { justify-content: stretch; }
  .smart-session-actions .button { flex: 1 1 auto; }
  .smart-reader-summary > div:nth-child(even) { border-right: 0; }
  .smart-reader-layout { grid-template-columns: 1fr; }
  .smart-reader-section-list { padding-right: 0; border-right: 0; }
  .smart-reader-source-detail dl { grid-template-columns: 1fr; }
  .smart-reader-block-tree details details { margin-left: 0; }
}

.smart-v22-write-preview,
.smart-v22-result dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2, 8px);
}
.smart-v22-write-preview span,
.smart-v22-result dl > div,
.smart-v22-source {
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm, 10px);
  background: var(--surface-subtle, #f8faf9);
}
.smart-v21-blockers a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.smart-v21-blockers small {
  display: block;
  color: var(--muted);
}
.smart-v22-result {
  margin-top: var(--space-4, 16px);
  padding: var(--space-5, 20px);
  border: 1px solid var(--erp-primary);
  border-radius: var(--radius, 16px);
  background: var(--surface, #fff);
}
.smart-v22-result.has-warning { border-color: var(--warning, #b7791f); }
.smart-v22-result > header,
.smart-v22-result-actions,
.smart-v22-source {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3, 12px);
}
.smart-v22-result dt { color: var(--muted); font-size: 13px; }
.smart-v22-result dd { margin: 3px 0 0; font-weight: 600; }
.smart-v22-result-actions { justify-content: flex-start; margin-top: var(--space-4, 16px); flex-wrap: wrap; }
.smart-v22-result-actions .button { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.smart-v22-confirm { width: min(760px, calc(100vw - 48px)); max-width: 760px; max-height: calc(100vh - 48px); overflow: hidden; background: #fff; opacity: 1; }
.smart-v22-confirm-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--erp-space-3); }
.smart-v22-confirm-head span { color: var(--muted); font-size: 13px; }
.smart-v22-confirm-head h2 { margin: 3px 0 0; }
.smart-v22-validating { padding: var(--erp-space-5); border-radius: var(--erp-radius-md); background: var(--erp-surface-subtle); text-align: center; }
.smart-v22-confirm-description { margin-top: 0; }
.smart-v22-write-ack { display: flex; align-items: flex-start; gap: 10px; padding: var(--erp-space-3); border: 1px solid var(--line); border-radius: var(--erp-radius-md); background: var(--erp-surface-subtle); }
.smart-v22-write-ack input { flex: 0 0 auto; width: 20px; height: 20px; }
.smart-v22-confirm .smart-assistant-confirmation-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.smart-v22-confirm .smart-assistant-confirmation-summary > div { min-width: 0; }
.smart-v22-confirm .smart-assistant-confirmation-summary strong { overflow-wrap: anywhere; }
.smart-v22-load-error { display: grid; gap: var(--erp-space-3); padding: var(--erp-space-4); border: 1px solid #e5b7b7; border-radius: var(--erp-radius-md); background: #fff7f7; color: #7f1d1d; }
.smart-v22-load-error > strong { font-size: 16px; }
.smart-v22-load-error p { margin: 0; color: #6b3131; }
.smart-v22-load-error-actions { display: flex; gap: var(--erp-space-2); }
.smart-v22-load-error details { border-top: 1px solid #efd1d1; padding-top: var(--erp-space-3); }
.smart-v22-load-error summary { cursor: pointer; font-weight: 700; }
.smart-v22-load-error dl { display: grid; gap: 6px; margin: 12px 0 0; }
.smart-v22-load-error dl > div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 8px; }
.smart-v22-load-error dt { color: #765252; font-size: 12px; }
.smart-v22-load-error dd { min-width: 0; margin: 0; overflow-wrap: anywhere; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 12px; }
.smart-choice-confirm { width: min(560px, calc(100vw - 32px)); }
.smart-v22-source { margin: var(--space-4, 16px) 0; }

@media (max-width: 520px) {
  .smart-assistant-workflow-grid { grid-template-columns: minmax(0, 1fr); }
  .smart-assistant-workflow-toolbar { justify-content: stretch; }
  .smart-assistant-workflow-toolbar button { width: 100%; }
  .smart-assistant-workflow-card { min-height: 88px; }
  .smart-v22-write-preview,
  .smart-v22-result dl { grid-template-columns: 1fr; }
  .smart-v22-result > header,
  .smart-v22-result-actions,
  .smart-v22-source { align-items: stretch; flex-direction: column; }
  .smart-v22-result-actions .button { width: 100%; }
  .smart-write-entry-actions { display: grid; grid-template-columns: 1fr; }
  .smart-write-entry-actions .button, .smart-write-entry-state > .button { width: 100%; }
  .smart-assistant-sheet-toggle { padding-right: 10px; padding-left: 10px; }
  .smart-assistant-sheet-badge { padding: 3px 8px; white-space: normal; text-align: center; }
}

/* Smart Builder V2.2A — centralized pre-write resolution */
.smart-v22a-resolution {
  margin-top: var(--erp-space-6);
  padding: var(--erp-space-5);
  border: 1px solid var(--erp-border);
  border-radius: var(--erp-radius);
  background: var(--erp-surface);
}

.smart-v22a-resolution.is-pending {
  border-left: 3px solid var(--erp-warning, #b88718);
}

.smart-v22a-resolution.is-complete {
  border-left: 3px solid var(--erp-primary);
}

.smart-v22a-resolution > header,
.smart-v22a-candidates article > div,
.smart-v22a-price-batch,
.smart-v22a-purchase-actions,
.smart-v22a-resolution-groups article > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--erp-space-3);
}

.smart-v22a-resolution > header span,
.smart-v22a-resolution-groups span,
.smart-v22a-company-field small,
.smart-v22a-price-batch span,
.smart-v22a-purchase-meta {
  color: var(--erp-text-muted);
  font-size: var(--erp-text-sm);
}

.smart-v22a-resolution > header h3 {
  margin: 4px 0 0;
}

.smart-v22a-resolution-groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--erp-space-3);
  margin-top: var(--erp-space-4);
}

.smart-v22a-resolution-groups article {
  min-width: 0;
  padding: var(--erp-space-3);
  border-top: 1px solid var(--erp-border);
}

.smart-v22a-resolution-groups article.is-done {
  opacity: .68;
}

.smart-v22a-resolution-groups article small {
  display: block;
  margin-top: var(--erp-space-2);
  color: var(--erp-primary);
}

.smart-v22a-resolution-details {
  display: grid;
  gap: var(--erp-space-2);
  margin-top: var(--erp-space-4);
}

.smart-v22a-resolution-details details {
  border-top: 1px solid var(--erp-border);
}

.smart-v22a-resolution-details summary,
.smart-v22a-resolution-details article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--erp-space-3);
}

.smart-v22a-resolution-details summary {
  min-height: 40px;
  cursor: pointer;
}

.smart-v22a-resolution-details summary span,
.smart-v22a-resolution-details article span {
  color: var(--erp-text-muted);
  font-size: var(--erp-text-sm);
}

.smart-v22a-resolution-details details > div {
  display: grid;
  gap: var(--erp-space-2);
  padding: 0 0 var(--erp-space-3) var(--erp-space-4);
}

.smart-v22a-resolution-details article {
  min-height: 40px;
  padding-bottom: var(--erp-space-2);
  border-bottom: 1px solid var(--erp-border);
}

.smart-v22a-resolution-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: var(--erp-space-4);
}

.smart-v22a-company-field {
  max-width: 520px;
  margin-bottom: var(--erp-space-4);
}

.smart-v22a-company-field label,
.smart-v22a-part-batch label {
  display: grid;
  gap: var(--erp-space-2);
}

.smart-v22a-company-field select {
  min-height: 40px;
}

.smart-v22a-company-field small {
  display: block;
  margin-top: var(--erp-space-2);
}

.smart-v22a-decision {
  margin: var(--erp-space-3) 0 0;
  color: var(--erp-primary);
  font-weight: 600;
}

.smart-v21-list article.has-required-missing {
  border-left: 3px solid var(--erp-danger, #b64242);
}

.smart-v21-fields .is-required-missing {
  border-color: var(--erp-danger, #b64242);
  background: #fffafa;
}

.smart-v22a-part-batch {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto auto;
  align-items: end;
  gap: var(--erp-space-3);
  margin-bottom: var(--erp-space-4);
  padding: var(--erp-space-4);
  border: 1px solid var(--erp-border);
  border-radius: var(--erp-radius);
  background: var(--erp-surface-subtle);
}

.smart-v22a-price-batch {
  margin-bottom: var(--erp-space-4);
  padding: var(--erp-space-4);
  border: 1px solid var(--erp-border);
  border-radius: var(--erp-radius);
  background: var(--erp-surface-subtle);
}

.smart-v22a-price-batch div {
  display: grid;
  gap: 4px;
}

.smart-v22a-purchase-meta,
.smart-v22a-purchase-actions {
  margin-top: var(--erp-space-3);
}

.smart-v22a-purchase-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--erp-space-3);
}

.smart-v22a-purchase-meta strong {
  color: var(--erp-danger, #b64242);
}

.smart-v22a-product-dialog {
  width: min(920px, calc(100vw - 32px));
  max-height: min(820px, calc(100vh - 32px));
  overflow: auto;
}

.smart-v22a-product-dialog > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--erp-space-3);
}

.smart-v22a-product-dialog h2 {
  margin: 4px 0 0;
}

.smart-v22a-candidates {
  display: grid;
  gap: var(--erp-space-3);
  margin: var(--erp-space-4) 0;
}

.smart-v22a-candidates article {
  padding: var(--erp-space-4);
  border: 1px solid var(--erp-border);
  border-radius: var(--erp-radius);
}

.smart-v22a-candidates article > div {
  align-items: flex-start;
}

.smart-v22a-candidates article > div div,
.smart-v22a-candidates article > div:first-child {
  min-width: 0;
}

.smart-v22a-candidates article span {
  color: var(--erp-text-muted);
}

.smart-v22a-candidates dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--erp-space-3);
  margin: var(--erp-space-3) 0;
}

.smart-v22a-candidates dl div {
  min-width: 0;
}

.smart-v22a-candidates dt {
  color: var(--erp-text-muted);
  font-size: var(--erp-text-sm);
}

.smart-v22a-candidates dd {
  margin: 4px 0 0;
}

@media (max-width: 760px) {
  .smart-v22a-resolution-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .smart-v22a-part-batch {
    grid-template-columns: 1fr;
  }

  .smart-v22a-candidates dl {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .smart-v22a-resolution,
  .smart-v22a-part-batch,
  .smart-v22a-price-batch {
    padding: var(--erp-space-3);
  }

  .smart-v22a-resolution > header,
  .smart-v22a-price-batch,
  .smart-v22a-purchase-actions,
  .smart-v22a-candidates article > div {
    align-items: stretch;
    flex-direction: column;
  }

  .smart-v22a-resolution-groups {
    grid-template-columns: 1fr;
  }

  .smart-v21-blockers li { align-items: stretch; flex-direction: column; }
  .smart-v22-confirm { width: calc(100vw - 24px); max-height: calc(100vh - 24px); }
  .smart-v22-confirm .smart-assistant-confirmation-summary { grid-template-columns: 1fr; }
  .smart-v22-load-error-actions { display: grid; grid-template-columns: 1fr; }
  .smart-v22-load-error-actions .button { width: 100%; min-height: 44px; }
  .smart-v22-load-error dl > div { grid-template-columns: 1fr; gap: 2px; }

  .smart-v22a-resolution-groups article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--erp-space-3);
  }

  .smart-v22a-resolution-groups article small {
    margin: 0;
  }

  .smart-v22a-resolution-details details > div {
    padding-left: 0;
  }

  .smart-v22a-resolution-details article {
    align-items: stretch;
    flex-direction: column;
  }

  .smart-v22a-resolution-details article .button {
    width: 100%;
  }

  .smart-v22a-resolution-actions .button,
  .smart-v22a-price-batch .button,
  .smart-v22a-purchase-actions .button {
    width: 100%;
  }
}
.smart-sheet-result-modal {
  width: min(980px, calc(100vw - 32px));
  max-height: min(88vh, 900px);
}

.smart-sheet-result-body {
  display: grid;
  gap: 18px;
  overflow-y: auto;
}

.smart-sheet-result-body > section {
  display: grid;
  gap: 10px;
}

.smart-sheet-result-body h3 { margin: 0; font-size: 14px; }
.smart-sheet-result-body p { margin: 0; }

.smart-sheet-result-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  margin: 0;
}

.smart-sheet-result-summary > div,
.smart-sheet-result-columns span {
  display: grid;
  gap: 3px;
  padding: 9px 10px;
  border: 1px solid var(--line, #d9e2e8);
  border-radius: 8px;
  background: var(--surface-soft, #f7fafb);
}

.smart-sheet-result-summary dt { color: var(--muted, #607180); font-size: 12px; }
.smart-sheet-result-summary dd { margin: 0; font-weight: 650; }

.smart-sheet-result-columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 8px;
}

.smart-sheet-result-columns span b { color: var(--brand, #087f85); }
.smart-sheet-result-table-wrap { max-height: 300px; overflow: auto; border: 1px solid var(--line, #d9e2e8); border-radius: 8px; }
.smart-sheet-result-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.smart-sheet-result-table th,
.smart-sheet-result-table td { padding: 8px 10px; border-bottom: 1px solid var(--line, #d9e2e8); text-align: left; vertical-align: top; }
.smart-sheet-result-table td span { display: inline-flex; gap: 5px; margin: 0 12px 5px 0; }
.smart-sheet-result-empty,
.smart-sheet-result-note { color: var(--muted, #607180); font-size: 12px; }

@media (max-width: 480px) {
  .smart-sheet-result-modal { width: calc(100vw - 16px); max-height: 94vh; }
  .smart-sheet-result-summary { grid-template-columns: 1fr 1fr; }
  .smart-sheet-result-table { min-width: 560px; }
}
