/* An open workbench: workflow on the left, a simple activity list on the right. */
.agent-main { max-width: 1500px; }
.agent-main .top { align-items: flex-start; margin-bottom: 38px; }
.agent-main .top > div:first-child { max-width: 620px; }
.agent-main .subtitle { max-width: 490px; }
.agent-breadcrumb { margin-bottom: 28px; }
.agent-columns { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap: 64px; align-items: start; }
.create-heading h1 { font-size: 1.75rem; line-height: 1.2; font-weight: 500; letter-spacing: -.035em; }
.create-heading .panel-sub { max-width: 440px; margin-top: 9px; font-size: .78rem; line-height: 1.7; }
.jobs-column { min-width: 0; }
.jobs-panel { padding-top: 6px; }
.jobs-heading h2 { font-size: 1.1rem; }
.agent-form { display: grid; grid-template-columns: minmax(0,1fr); gap: 28px; margin-top: 28px; }
.agent-form > label { color: var(--muted); font-weight: 450; align-content: start; }
.agent-form textarea { min-height: 180px; padding: 12px 0; line-height: 1.7; resize: vertical; }
.agent-form select { width: 100%; font-size: .875rem; }
.agent-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.job-setup { display: grid; gap: 22px; min-width: 0; }
.job-setup label { min-width: 0; gap: 9px; color: var(--muted); font-size: .73rem; }
.job-setup select { min-height: 46px; margin: 0; padding: 12px 34px 12px 14px; border: 1px solid var(--line-strong); border-radius: 8px; background-color: var(--input); color: var(--ink); font-size: .82rem; cursor: pointer; }
.job-setup select:hover:not(:disabled) { border-color: var(--input-line); background-color: var(--surface); }
.job-setup select:focus:not(:disabled) { border-color: var(--accent); outline: none; }
.job-setup select:disabled { cursor: default; }
.job-setup .workflow-field select { min-height: 50px; font-size: .9rem; font-weight: 500; }
@supports (appearance: base-select) {
  .job-setup select { padding-right: 14px; }
}
.setup-help { margin-top: 8px; color: var(--muted); font-size: .7rem; line-height: 1.7; }
.destination-fields { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 16px; }
.destination-guide { margin-top: 12px; }
.destination-guide > summary { display: flex; align-items: center; gap: 7px; width: fit-content; max-width: 100%; padding: 4px 0; color: var(--muted); font-size: .68rem; list-style: none; }
.destination-guide > summary::-webkit-details-marker { display: none; }
.destination-guide > summary:hover, .destination-guide[open] > summary { color: var(--ink); }
.destination-guide > summary .intake-icon { width: 15px; height: 15px; }
.destination-guide[open] .guide-chevron { rotate: 180deg; }
.destination-guide > p { margin-top: 10px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--input); font-size: .7rem; line-height: 1.8; }
.agent-form input[type=file] { padding: 14px 0; border: 0; font-size: .75rem; }
.agent-form input[type=file]::file-selector-button { border: 1px solid var(--input-line); border-radius: 999px; padding: 9px 15px; margin-right: 14px; background: transparent; color: var(--ink); font: inherit; cursor: pointer; }
.agent-form input[type=file]::file-selector-button:hover { background: var(--surface-hover); }
.product-input-method { min-width: 0; padding: 0; margin: 0; border: 0; }
.product-input-method legend { padding: 0; margin-bottom: 12px; color: var(--ink); font-size: .94rem; font-weight: 550; letter-spacing: -.015em; }
.input-method-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; width: 100%; padding: 4px; border: 1px solid var(--line); border-radius: 10px; background: var(--input); }
.input-method-options label { position: relative; display: block; min-width: 0; cursor: pointer; }
.input-method-options input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.input-method-button { display: flex; align-items: center; justify-content: center; min-height: 40px; padding: 10px 12px; border-radius: 6px; color: var(--muted); font-size: .78rem; font-weight: 500; white-space: nowrap; }
.intake-icon { flex-shrink: 0; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.input-method-options input:checked + .input-method-button { background: var(--surface-hover); color: var(--ink); box-shadow: inset 0 1px 0 #ffffff0a, 0 1px 3px #0003; }
.input-method-options label:hover .input-method-button { color: var(--ink); }
.input-method-options input:focus-visible + .input-method-button { outline: 2px solid var(--accent); outline-offset: 2px; }
.input-method-options input:disabled + .input-method-button { opacity: .5; cursor: default; }
.manual-products, .workbook-field { min-width: 0; }
.input-section-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 5px 12px; margin-bottom: 9px; }
.input-section-heading h2 { font-size: .78rem; font-weight: 500; letter-spacing: 0; }
.input-limit { color: var(--muted); font-size: .66rem; }
.product-rows { display: grid; gap: 16px; max-height: 360px; overflow-y: auto; list-style: none; margin: 16px -4px; padding: 4px; scrollbar-gutter: stable; }
.product-input-row { display: grid; grid-template-columns: 22px minmax(0,1fr) minmax(0,1fr) 32px; align-items: end; gap: 10px; }
.product-row-number { align-self: center; padding-top: 24px; color: var(--muted); font-size: .64rem; font-variant-numeric: tabular-nums; }
.product-input-row label { min-width: 0; font-size: .7rem; }
.product-input-row input { min-height: 44px; padding: 11px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--input); font-size: .78rem; }
.product-input-row input:focus { border-color: var(--accent); outline: none; }
.product-input-row .remove-product { min-height: 44px; padding: 0; border: 0; border-radius: 6px; font-size: 1.2rem; color: var(--muted); }
.product-row-details { grid-column: 2 / 4; min-width: 0; }
.product-row-details > summary { width: fit-content; color: var(--muted); font-size: .65rem; line-height: 1.8; }
.product-row-details[open] > summary { color: var(--ink); }
.product-optional-fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding-top: 10px; }
.product-optional-fields label { font-size: .65rem; }
.product-optional-fields input { font-size: .73rem; }
.product-input-actions { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; }
.product-input-actions button { min-height: 40px; padding: 9px 14px; font-size: .73rem; }
.product-input-actions .field-help { font-size: .65rem; font-variant-numeric: tabular-nums; }
.manual-tip { color: var(--muted); font-size: .68rem; line-height: 1.7; }
.workbook-dropzone { position: relative; display: grid; gap: 0; min-width: 0; padding: 24px 18px; border: 1px dashed var(--input-line); border-radius: 12px; background: var(--input); text-align: center; cursor: pointer; }
.workbook-dropzone:hover, .workbook-dropzone[data-dragging=true] { border-color: var(--accent); background: var(--surface); }
.workbook-dropzone:focus-within { outline: 2px solid var(--accent); outline-offset: 4px; }
.agent-form .workbook-dropzone input[type=file] { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; padding: 0; opacity: 0; cursor: pointer; }
.upload-empty { display: flex; flex-direction: column; align-items: center; gap: 6px; font-size: .74rem; }
.upload-icon { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 4px; border: 1px solid var(--line-strong); border-radius: 10px; color: var(--ink); background: var(--surface); }
.upload-empty > strong { color: var(--ink); font-size: .8rem; font-weight: 500; }
.browse-file { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.upload-selected { display: flex; align-items: center; gap: 12px; min-width: 0; text-align: left; }
.upload-file-icon { display: grid; place-items: center; width: 40px; height: 44px; flex-shrink: 0; border: 1px solid var(--line-strong); border-radius: 8px; color: var(--ink); }
.upload-file-copy { display: grid; min-width: 0; gap: 4px; }
.upload-file-copy strong { overflow: hidden; color: var(--ink); font-size: .78rem; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.upload-file-copy > span { color: var(--muted); font-size: .66rem; }
.change-file { flex-shrink: 0; margin-left: auto; color: var(--ink); font-size: .69rem; text-decoration: underline; text-underline-offset: 3px; }
.workbook-dropzone[data-state=invalid] { border-color: var(--danger); }
.workbook-dropzone[data-state=selected] { border-style: solid; }
.workbook-dropzone:has(input:disabled) { opacity: .5; cursor: default; }
.workbook-feedback-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-top: 9px; }
.workbook-feedback { color: var(--muted); font-size: .67rem; line-height: 1.7; }
.workbook-feedback.error { color: var(--danger); }
.agent-form .remove-workbook { flex-shrink: 0; min-height: 28px; padding: 2px 0; border: 0; border-radius: 0; color: var(--muted); font-size: .67rem; text-decoration: underline; text-underline-offset: 3px; }
.remove-workbook:hover { color: var(--ink); background: none; }
.workbook-guide { margin-top: 12px; }
.workbook-columns { margin-top: 11px; color: var(--muted); font-size: .7rem; line-height: 1.7; }
.workbook-columns strong { color: var(--ink); font-weight: 450; }
.workbook-guide > summary { display: inline-flex; align-items: center; gap: 7px; min-height: 32px; list-style: none; font-size: .69rem; color: var(--muted); }
.workbook-guide > summary::-webkit-details-marker { display: none; }
.workbook-guide summary .intake-icon { width: 14px; height: 14px; }
.workbook-guide[open] summary .intake-icon { rotate: 180deg; }
.workbook-guide > .field-help { margin-top: 5px; padding-left: 12px; border-left: 1px solid var(--line-strong); font-size: .7rem; }
.research-options { display: grid; gap: 18px; min-width: 0; }
.research-options > .research-option { display: flex; align-items: center; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--input); cursor: pointer; }
.research-option > .intake-icon { color: var(--muted); }
.research-copy { flex: 1; min-width: 0; }
.research-title { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 9px; }
.research-title strong { font-size: .75rem; color: var(--ink); font-weight: 500; }
.optional-label { color: var(--muted); font-size: .6rem; }
.research-copy > span:last-child { display: block; margin-top: 4px; font-size: .67rem; line-height: 1.6; color: var(--muted); }
.research-option input { appearance: none; flex-shrink: 0; position: relative; width: 34px; height: 20px; padding: 0; border: 1px solid var(--input-line); border-radius: 999px; background: var(--surface-raised); cursor: pointer; }
.research-option input::before { content: ''; position: absolute; top: 3px; left: 3px; width: 12px; height: 12px; border-radius: 0; background: var(--muted); }
.research-option input:checked { border-color: var(--accent); background: var(--accent); }
.research-option input:checked::before { left: 17px; background: var(--accent-ink); }
.research-option:has(input:checked) { border-color: var(--line-strong); }
.research-option:has(input:disabled) { opacity: .5; cursor: default; }
.job-review { margin-top: 22px; padding: 19px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.output-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 9px; }
.output-heading > .intake-icon { width: 16px; height: 16px; color: var(--muted); }
.output-heading h2 { font-size: .77rem; font-weight: 500; }
.output-format { margin-left: auto; padding: 3px 7px; border: 1px solid var(--line); border-radius: 5px; color: var(--muted); font-size: .6rem; }
.output-details { margin-top: 8px; font-size: .68rem; color: var(--muted); line-height: 1.7; }
.output-details summary { width: fit-content; }
.output-details p { margin-top: 8px; }
.job-launch { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--line); }
.job-launch .form-status { margin-top: 12px; }
.job-submit-row { display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
.job-submit-row > p { order: 1; color: var(--muted); font-size: .67rem; line-height: 1.7; text-align: center; }
.job-submit-row .job-actions { display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; }
.job-submit-row #submit-job { display: inline-flex; align-items: center; justify-content: center; gap: 20px; width: 100%; min-height: 46px; border-radius: 9px; }
.job-submit-row #submit-job::after { content: '→'; font-size: 1rem; }
.agent-form > #description-field textarea { min-height: 200px; padding: 14px; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--input); }
.check-field { display: flex; gap: 9px; align-items: center; }
.check-field input { width: 15px; height: 15px; accent-color: var(--green); flex-shrink: 0; }
.field-help, .agent-note { font-size: .73rem; font-weight: 400; color: var(--muted); line-height: 1.75; }
#form-help { padding-top: 4px; }
#submit-job { padding: 11px 24px; min-width: 150px; }
.form-status { color: var(--muted); font-size: .8rem; line-height: 1.7; }
.form-status:empty { display: none; }
.form-status.error, .job-download-status.error { color: var(--danger); }
/* A compact activity list, with the important action next to each result. */
.jobs-panel > .panel-head { margin-bottom: 16px; align-items: flex-start; }
.jobs-panel .panel-head button { display: inline-flex; align-items: center; gap: 7px; min-height: 32px; padding: 0; border: 0; background: none; color: var(--muted); font-size: .72rem; }
.jobs-panel .panel-head button:hover { color: var(--ink); }
.jobs-heading { display: flex; align-items: baseline; gap: 9px; }
.job-count { color: var(--muted); font-size: .75rem; font-variant-numeric: tabular-nums; }
.jobs-panel .panel-sub { font-size: .73rem; }
.job-filters { display: flex; gap: 20px; border-bottom: 1px solid var(--line); margin-bottom: 2px; }
.job-filters button { min-height: 44px; padding: 9px 0 12px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; color: var(--muted); font-size: .73rem; font-weight: 400; white-space: nowrap; }
.job-filters button:hover { color: var(--ink); background: none; }
.job-filters button[aria-pressed=true] { color: var(--ink); border-bottom-color: var(--accent); }
.job-filters button span { margin-left: 5px; color: var(--muted); font-size: .65rem; font-variant-numeric: tabular-nums; }
.jobs-scroll { height: 300px; overflow-y: auto; overflow-x: hidden; overscroll-behavior-y: contain; scrollbar-gutter: stable; }
.jobs-scroll:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.jobs-scroll > #jobs-status:not(:empty) { padding: 12px 4px; }
.jobs-scroll .job-item { padding-inline: 4px; }
.job-list { display: grid; list-style: none; margin: 0; padding: 0; }
.job-item { display: grid; gap: 6px; min-width: 0; padding: 12px 0; border-bottom: 1px solid var(--line); }
.job-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.job-identity { display: flex; gap: 12px; min-width: 0; }
.job-workflow-icon { color: var(--muted); padding-top: 2px; flex-shrink: 0; }
.job-workflow-icon .button-icon { width: 18px; height: 18px; }
.job-heading { min-width: 0; }
.job-item h3 { font-size: .85rem; font-weight: 500; line-height: 1.5; }
.job-item p { color: var(--muted); font-size: .72rem; line-height: 1.7; overflow-wrap: anywhere; }
.job-item .job-meta { display: flex; align-items: baseline; flex-wrap: wrap; gap: 3px 7px; margin-top: 2px; font-size: .69rem; }
.job-meta time { white-space: nowrap; }
.job-meta-separator { color: #777; }
.job-badge { display: inline-flex; align-items: center; gap: 6px; padding-top: 3px; color: var(--muted); font-size: .65rem; white-space: nowrap; }
.job-badge::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.job-badge[data-state=completed] { color: var(--green); }
.job-badge[data-state=running], .job-badge[data-state=queued] { color: #c0c0c0; }
.job-badge[data-state=failed], .job-badge[data-state=interrupted] { color: var(--danger); }
.job-badge[data-state=partial] { color: var(--warning); }
.job-run-summary { min-width: 0; padding-left: 30px; }
.job-item .job-source { margin-bottom: 4px; font-size: .7rem; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.job-metrics { display: flex; flex-wrap: wrap; gap: 8px 26px; margin: 0; }
.job-metrics > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px; }
.job-metrics dd { order: -1; margin: 0; color: var(--ink); font-size: .83rem; font-variant-numeric: tabular-nums; }
.job-metrics dt { color: var(--muted); font-size: .65rem; }
.job-diagnostics { min-width: 0; }
.job-diagnostics[open] { flex-basis: 100%; }
.job-diagnostics > summary { display: inline-flex; align-items: center; gap: 7px; min-height: 28px; padding: 2px 0; list-style: none; color: var(--muted); font-size: .71rem; cursor: pointer; }
.job-diagnostics > summary::-webkit-details-marker { display: none; }
.job-diagnostics > summary::after { content: ''; width: 4px; height: 4px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; rotate: 45deg; margin-top: -3px; }
.job-diagnostics[open] > summary::after { rotate: 225deg; margin-top: 2px; }
.job-diagnostics > summary:hover { color: var(--ink); }
.job-extra-content { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin-top: 8px; }
.job-item .job-diagnostic-text { border-left: 2px solid var(--line-strong); padding-left: 12px; margin-top: 8px; font-size: .72rem; white-space: pre-wrap; }
.job-item .job-export-note { margin: 2px 0 2px 30px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--muted); }
.job-item .job-export-note[data-ready="false"] { border-color: var(--line-strong); }
.job-extra-content .job-diagnostic-text { flex-basis: 100%; }
.job-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; padding-left: 30px; }
.job-export-options { display: flex; align-items: center; gap: 3px; min-width: 0; max-width: 100%; color: var(--muted); font-size: .65rem; }
.job-export-options > span { white-space: nowrap; }
.job-export-options select { width: auto; max-width: 100%; min-height: 34px; padding: 6px 8px; font-size: .75rem; }
.job-actions { display: flex; flex-wrap: wrap; gap: 10px 18px; }
.job-item .job-text-action { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; max-width: 100%; padding: 2px 0; border: 0; border-radius: 0; background: none; color: var(--muted); font-size: .71rem; font-weight: 400; text-align: left; white-space: normal; }
.job-item .job-text-action:hover { color: var(--ink); text-decoration: underline; }
.job-text-action .button-icon { width: 13px; height: 13px; }
.job-item .job-file-action { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 34px; max-width: 100%; padding: 7px 12px; border: 1px solid var(--line-strong); border-radius: 999px; background: transparent; color: var(--ink); font-size: .71rem; font-weight: 500; white-space: normal; text-align: left; }
.job-item .job-file-action:hover { border-color: var(--input-line); background: var(--surface); }
.job-item .job-file-action .button-icon { width: 13px; height: 13px; }
.job-download-status { margin: 0; padding-left: 30px; }
.job-download-status:empty { display: none; }
.jobs-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 100%; padding: 24px 12px; text-align: center; }
.empty-icon { display: block; width: 32px; height: 32px; margin: 0 auto 24px; color: var(--green); }
.empty-icon .nav-icon { width: 32px; height: 32px; stroke-width: 1; }
.jobs-empty h3 { font-size: 1.15rem; font-weight: 450; letter-spacing: -.03em; }
.jobs-empty p { max-width: 280px; margin: 12px auto 0; font-size: .77rem; line-height: 1.8; color: var(--muted); }
.empty-hint { display: block; margin-top: 24px; font-size: .68rem; color: var(--muted); }
.agent-settings-main .top { padding-bottom: 28px; border-bottom: 1px solid var(--line); margin-bottom: 28px; }
.settings-back-link { margin-top: 8px; color: var(--muted); font-size: .75rem; }
.settings-back-link:hover { color: var(--ink); text-decoration: underline; }
.settings-summary { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.settings-unsaved { font-size: .68rem; font-weight: 400; color: var(--warning); }
.settings-shortcut { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.settings-heading { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; margin-bottom: 28px; }
.settings-heading h2 { font-size: 1.2rem; font-weight: 500; }
.settings-heading .panel-sub { margin-top: 8px; max-width: 540px; font-size: .8rem; }
.settings-scope { color: var(--muted); white-space: nowrap; font-size: .68rem; padding-top: 6px; }
.settings-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px; align-items: start; }
.settings-card { min-width: 0; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); }
.settings-card-heading { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; align-items: center; margin-bottom: 18px; }
.settings-step { color: var(--muted); font-size: .59rem; letter-spacing: .08em; }
.settings-tag { font-size: .6rem; color: var(--muted); }
.settings-card h3 { font-size: 1.05rem; font-weight: 500; letter-spacing: -.02em; }
.settings-intro { margin-top: 9px; margin-bottom: 25px; color: var(--muted); font-size: .76rem; line-height: 1.8; }
.settings-editor-heading { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 10px; }
.settings-editor-heading label { color: var(--ink); font-size: .73rem; }
.settings-text-button { padding: 3px 0; min-height: 28px; border: 0; border-radius: 0; color: var(--muted); font-size: .68rem; font-weight: 400; }
.settings-text-button:hover { color: var(--ink); background: none; text-decoration: underline; }
.agent-settings textarea { display: block; width: 100%; padding: 14px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--input); font-size: .78rem; line-height: 1.8; resize: vertical; }
.agent-settings textarea:focus { border-color: var(--accent); }
.agent-settings textarea[aria-invalid=true] { border-color: var(--danger); }
.category-editor { border: 1px solid var(--line-strong); border-radius: 12px; overflow: hidden; background: var(--input); transition: border-color 120ms ease, box-shadow 120ms ease; }
.category-editor:focus-within { border-color: var(--muted); box-shadow: 0 0 0 3px #ffffff04; }
.category-editor:has([aria-invalid=true]) { border-color: var(--danger); }
.category-composer { position: absolute; z-index: 4; width: 290px; max-width: calc(100% - 16px); padding: 7px 9px; border: 1px solid var(--muted); border-radius: 14px; background: var(--surface); box-shadow: 0 6px 20px #0003; cursor: auto; }
.category-input-row { display: flex; align-items: center; gap: 10px; }
.category-input-row input { min-width: 0; padding: 10px 2px; border: 0; background: transparent; font-size: .82rem; }
.category-input-row input:focus-visible { outline: none; }
.category-composer:focus-within { border-color: var(--accent); }
.category-input-row button { display: flex; align-items: center; justify-content: center; gap: 3px; flex-shrink: 0; min-height: 36px; padding: 6px 12px; background: var(--surface-raised); font-size: .72rem; transition: background 100ms ease, border-color 100ms ease, transform 100ms ease; }
.category-input-row button:not(:disabled) { color: var(--accent-ink); background: var(--accent); border-color: var(--accent); }
.category-input-row button:not(:disabled):active { transform: scale(.95); }
.category-input-row button > span { font-size: 1rem; line-height: 1; }
.category-add-context:not([hidden]) { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 5px; padding-left: 2px; font-size: .7rem; color: var(--ink); }
.category-add-context span { overflow-wrap: anywhere; }
.category-add-context button { min-height: 28px; min-width: 28px; padding: 0; border: 0; color: var(--muted); }
.category-canvas { position: relative; min-height: 250px; max-height: 440px; padding: 12px 12px 18px; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-gutter: stable; cursor: text; }
.category-canvas[aria-disabled=true] { cursor: default; }
.category-canvas:focus-visible { outline: 1px solid var(--muted); outline-offset: -4px; }
#category-bubbles { --category-indent: 26px; position: relative; list-style: none; padding: 0; margin: 0; }
.category-row { position: relative; padding: 4px 0 4px calc(var(--depth) * var(--category-indent)); }
.category-row:not([data-depth="0"])::before { content: ''; position: absolute; left: calc((var(--depth) - 1) * var(--category-indent) + 16px); top: -4px; height: 30px; width: 10px; border-left: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); border-bottom-left-radius: 7px; pointer-events: none; }
.category-bubble { display: flex; align-items: center; gap: 1px; width: fit-content; min-width: 0; max-width: 100%; min-height: 42px; padding: 3px 5px 3px 3px; border: 1px solid var(--line-strong); border-radius: 24px; background: var(--surface); box-shadow: 0 1px 2px #0002; cursor: default; transition: border-color 100ms ease, background 100ms ease, box-shadow 100ms ease; }
.category-bubble:hover, .category-bubble:focus-within { border-color: var(--muted); background: var(--surface-raised); }
.category-row[data-depth="0"] .category-label { font-weight: 550; }
.category-row.is-recent .category-bubble { border-color: var(--muted); }
.category-row.is-recent-branch { z-index: 3; }
.category-row.is-adding-parent .category-bubble { border-color: var(--accent); box-shadow: 0 0 0 2px #ffffff0a; }
.category-bubble button { display: grid; place-items: center; min-height: 32px; padding: 5px; border: 0; transition: color 100ms ease, background 100ms ease; }
.category-bubble button:focus-visible { outline-offset: 0; }
.category-bubble svg { width: 16px; height: 16px; }
.category-bubble .category-handle { flex: 0 0 30px; color: var(--muted); cursor: grab; touch-action: none; user-select: none; }
.category-bubble .category-handle:hover { color: var(--ink); background: var(--surface-hover); }
.category-bubble .category-label { display: block; text-align: left; padding: 5px 8px 5px 2px; min-width: 32px; border-radius: 4px; font-size: .8rem; font-weight: 450; line-height: 1.5; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.category-bubble .category-child, .category-bubble .category-remove { flex: 0 0 30px; color: var(--muted); }
.category-bubble .category-child:hover { color: var(--ink); background: var(--surface-hover); }
.category-bubble .category-remove:hover { color: var(--danger); background: var(--danger-soft); }
.category-bubble .category-rename { flex: 1; width: 190px; min-width: 32px; padding: 5px 4px; border-radius: 3px; font-size: .8rem; }
.category-bubble .category-rename:focus-visible { outline-offset: 0; }
.category-row.is-moving { display: none; }
.category-canvas.is-dragging .category-row { transition: transform 140ms cubic-bezier(.2,.8,.2,1); will-change: transform; }
.category-canvas.is-dragging .category-bubble { pointer-events: none; }
.category-row.is-drop-parent > .category-bubble { border-color: var(--accent); background: var(--surface-hover); box-shadow: 0 0 0 2px #ffffff0a; }
.category-empty:not([hidden]) { display: grid; justify-items: center; gap: 8px; padding: 30px 8px; text-align: center; }
.category-empty > span { display: grid; place-items: center; width: 38px; height: 38px; border: 1px dashed var(--line-strong); border-radius: 12px; margin-bottom: 4px; color: var(--muted); }
.category-empty p { font-size: .82rem; }
.category-empty small { max-width: 220px; color: var(--muted); font-size: .7rem; line-height: 1.7; }
.category-editor-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 46px; padding: 5px 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: .66rem; }
#category-feedback { min-width: 0; line-height: 1.6; overflow-wrap: anywhere; }
.category-drop-marker:not([hidden]) { position: absolute; right: 12px; display: flex; align-items: center; justify-content: flex-end; padding: 5px 12px; border: 1px dashed var(--muted); border-radius: 22px; background: #ffffff06; pointer-events: none; z-index: 5; transition: top 100ms cubic-bezier(.2,.8,.2,1), left 100ms ease; }
.category-drop-marker > span { color: var(--ink); font-size: .73rem; line-height: 1.5; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.category-drop-marker[data-invalid=true] { border-color: var(--danger); background: var(--danger-soft); }
.category-drop-marker[data-invalid=true] > span { color: var(--danger); }
.category-drag-active, .category-drag-active * { cursor: grabbing !important; user-select: none !important; }
.category-drag-ghost { position: fixed; left: 0; top: 0; z-index: 1000; pointer-events: none; max-width: calc(100vw - 24px); will-change: transform; }
.category-drag-ghost .category-bubble { width: 100%; background: var(--surface-raised); border-color: var(--accent); box-shadow: 0 12px 28px #0007, 0 2px 6px #0005; padding-right: 12px; }
.category-drag-ghost .category-label { flex: 1; font-size: .8rem; }
.category-branch-count { flex-shrink: 0; padding: 3px 6px; border-radius: 10px; background: var(--surface-hover); color: var(--muted); font-size: .65rem; }
.category-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (hover: hover) and (pointer: fine) {
 .category-bubble .category-remove { opacity: .35; }
 .category-bubble:hover .category-remove, .category-bubble:focus-within .category-remove { opacity: 1; }
}
@media (pointer: coarse) {
 .category-bubble { min-height: 50px; padding-block: 2px; }
 .category-bubble button { min-height: 44px; }
 .category-bubble .category-handle, .category-bubble .category-child, .category-bubble .category-remove { flex-basis: 36px; }
 .category-input-row input, .category-bubble .category-rename { font-size: 16px; }
 .category-input-row button { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
 .category-editor, .category-bubble, .category-bubble button, .category-input-row button, .category-canvas.is-dragging .category-row, .category-drop-marker:not([hidden]) { transition: none; }
}
.settings-field-meta { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 4px 12px; margin: 9px 0 12px; color: var(--muted); font-size: .61rem; font-variant-numeric: tabular-nums; }
.agent-settings .field-help { font-size: .68rem; }
#category-validation { margin-top: 8px; font-size: .7rem; }
.settings-footnote { margin-top: 13px; }
.settings-footnote span { color: var(--ink); }
.voice-builder { padding: 0 0 19px; margin-bottom: 16px; border-bottom: 1px solid var(--line); }
.voice-builder summary { display: flex; justify-content: space-between; align-items: center; list-style: none; color: var(--ink); font-size: .73rem; }
.voice-builder summary::-webkit-details-marker { display: none; }
.voice-builder[open] summary span { rotate: 45deg; }
.voice-builder-fields { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 14px; margin: 18px 0; }
.voice-wide { grid-column: 1 / -1; }
.voice-builder label { font-size: .67rem; }
.voice-builder input, .voice-builder select { padding: 9px 10px; border: 1px solid var(--line-strong); border-radius: 6px; background-color: var(--input); min-height: 38px; font-size: .72rem; }
.voice-builder select { padding-right: 28px; }
.voice-builder > button { padding: 7px 13px; min-height: 34px; font-size: .7rem; }
.voice-builder > .field-help { margin-top: 10px; }
.settings-save-bar { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 0; margin-top: 24px; border-top: 1px solid var(--line); }
.settings-save-bar .form-status { font-size: .75rem; }
.settings-save-bar .field-help { margin-top: 5px; }
.settings-save-bar .job-actions { flex-shrink: 0; gap: 10px; }
.settings-save-bar button { font-size: .73rem; }
.agent-note { max-width: 1000px; margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--line); }
.agent-note > summary { cursor: pointer; font-size: .7rem; }
.agent-note > p { padding: 12px 0; }
@media (max-width: 1100px) {
  .agent-main .top { gap: 20px; flex-wrap: wrap; }
  .agent-columns { grid-template-columns: 1fr; gap: 44px; }
  .jobs-panel { border-top: 1px solid var(--line); padding-top: 30px; }
}
@media (max-width: 1000px) {
  .settings-grid { grid-template-columns: minmax(0,1fr); }
  .settings-save-bar { flex-wrap: wrap; }
}
@media (max-width: 600px) {
  .input-method-button { padding-inline: 8px; font-size: .75rem; }
  .upload-selected { flex-wrap: wrap; }
  .upload-file-copy { flex: 1; }
  .change-file { margin-left: 52px; }
  .research-option > .intake-icon { display: none; }
  .product-input-row { grid-template-columns: 18px minmax(0,1fr) 28px; gap: 8px; }
  .product-input-row > label { grid-column: 2; }
  .product-row-details { grid-column: 2; }
  .product-optional-fields { grid-template-columns: minmax(0,1fr); }
  .product-row-number { grid-row: 1 / 3; align-self: start; padding-top: 35px; }
  .product-input-row .remove-product { grid-column: 3; grid-row: 1 / 3; align-self: center; }
  .product-rows { max-height: 420px; gap: 22px; }
  .agent-main .top { margin-bottom: 28px; }
  .agent-main .subtitle { font-size: .8rem; }
  .agent-breadcrumb { margin-bottom: 24px; }
  .create-heading h1 { font-size: 1.5rem; }
  .agent-pair { grid-template-columns: 1fr; gap: 24px; }
  .agent-form { grid-template-columns: 1fr; gap: 24px; }
  .agent-form select { font-size: .875rem; }
  .destination-fields { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .settings-heading { flex-wrap: wrap; gap: 10px; }
  .settings-card { padding: 18px; }
  .settings-grid { gap: 18px; }
  .settings-card-heading { align-items: flex-start; }
  .settings-save-bar .job-actions { flex-wrap: wrap; flex-shrink: 1; }
  #category-bubbles { --category-indent: 18px; }
  .category-canvas { padding-inline: 8px; }
  .category-bubble { padding-right: 3px; }
  .category-editor-footer { flex-wrap: wrap; gap: 3px 10px; }
  .voice-builder-fields { grid-template-columns: minmax(0,1fr); }
  .job-head { gap: 10px; }
  .job-filters { gap: 14px; }
  .job-filters button { font-size: .68rem; }
  .job-filters button span { font-size: .61rem; margin-left: 3px; }
  .job-identity { gap: 9px; }
  .job-workflow-icon .button-icon { width: 16px; height: 16px; }
  .job-item h3 { font-size: .8125rem; }
  .job-badge { font-size: .6rem; gap: 4px; }
  .job-item .job-meta { font-size: .66rem; gap: 3px 5px; }
  .job-run-summary, .job-toolbar, .job-download-status { padding-left: 25px; }
  .job-metrics { gap: 6px 16px; }
  .job-metrics dd { font-size: .78rem; }
  .job-metrics dt { font-size: .63rem; }
  .job-toolbar { gap: 10px; }
  .job-export-options { gap: 0; }
  .job-export-options select { font-size: .73rem; }
  .jobs-empty { padding: 40px 8px; }
}
@media (max-width: 360px) {
  .agent-form { grid-template-columns: 1fr; }
}

@media (max-width: 360px) {
  .job-head { flex-wrap: wrap; gap: 7px; }
  .job-badge { margin-left: 25px; }
  .job-filters { gap: 12px; }
  .job-filters button { font-size: .64rem; }
  .job-toolbar { align-items: flex-start; }
  .job-export-options { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: no-preference) {
  #refresh[aria-busy=true] .button-icon { animation: jobs-refresh 1s linear infinite; }
  @keyframes jobs-refresh { to { rotate: 360deg; } }
}
