.workbench { margin: 28px 0; padding: 24px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--card); }
.workbench *, .workbench *::before, .workbench *::after { box-sizing: border-box; }
.workbench [hidden] { display: none !important; }
.workbench label { display: flex; flex-direction: column; gap: 8px; font-size: 14px; min-width: 0; }
.workbench input, .workbench select, .workbench textarea { font: inherit; color: var(--text); border: 1px solid var(--border); border-radius: 8px; background: var(--bg); padding: 10px; max-width: 100%; }
.workbench input[type="range"], .workbench input[type="checkbox"] { padding: 0; }
.workbench input[type="checkbox"] { width: 18px; height: 18px; }
.workbench button, .workbench-download, .table-review button { min-height: 44px; padding: 10px 16px; border: 1px solid var(--border); border-radius: 999px; background: var(--bg); color: var(--text); font: inherit; font-size: 14px; cursor: pointer; }
.workbench button.primary { background: var(--dark-btn); color: var(--on-accent); }
.workbench button:disabled { opacity: .5; cursor: not-allowed; }
.workbench-toolbar, .workbench-actions { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; margin: 20px 0; }
.workbench-note { color: var(--text2); font-size: 13px; line-height: 1.7; }
.workflow-overview { display: flex; flex-wrap: wrap; gap: 32px; padding-left: 24px; margin: 0 0 24px; }
.pdf-pages-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(190px,1fr)); gap: 16px; }
.pdf-page-card { border: 1px solid var(--border); border-radius: 12px; padding: 12px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pdf-page-card strong { width: 100%; }
.pdf-page-card canvas { display: block; width: auto; max-width: 100%; height: 180px; object-fit: contain; margin: 8px auto; }
.pdf-page-card button { padding: 8px 10px; font-size: 12px; }
.text-inputs { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(280px,100%),1fr)); gap: 20px; }
.text-inputs textarea { min-height: 240px; resize: vertical; width: 100%; }
.text-output { white-space: pre-wrap; overflow-wrap: anywhere; padding: 16px; border: 1px solid var(--border); min-height: 100px; }
.diff-line { padding: 3px 8px; white-space: pre-wrap; }
.diff-add { background: color-mix(in srgb,#16a34a 16%,var(--card)); border-left: 3px solid #16a34a; }
.diff-remove { background: color-mix(in srgb,#dc2626 14%,var(--card)); border-left: 3px solid #dc2626; }
.table-review { margin: 32px 0; }
.table-review-scroll { overflow: auto; max-height: 460px; border: 1px solid var(--border); border-radius: 10px; }
.table-review table { border-collapse: collapse; min-width: 100%; }
.table-review td { border: 1px solid var(--border); padding: 4px; }
.table-review input { width: 100%; min-width: 120px; box-sizing: border-box; font: inherit; padding: 8px; background: var(--card); color: var(--text); border: 0; }
@media (max-width: 640px) {
  .workbench { padding: 16px; }
  .workbench-toolbar { flex-direction: column; align-items: stretch; }
  .workbench-actions > * { flex: 1 1 120px; text-align: center; }
  .pdf-pages-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .pdf-page-card canvas { height: 120px; }
  .workflow-overview { display: block; }
  .workflow-overview li { margin: 8px 0; }
}

.tool-editorial .editorial-table { overflow-x: auto; margin: 18px 0; }
.tool-editorial table { width: 100%; border-collapse: collapse; font-size: 14px; }
.tool-editorial caption { text-align: left; color: var(--text2); padding-bottom: 8px; }
.tool-editorial th, .tool-editorial td { text-align: left; vertical-align: top; border: 1px solid var(--border); padding: 10px; overflow-wrap: anywhere; }
.tool-editorial pre { white-space: pre-wrap; overflow-wrap: anywhere; padding: 16px; background: var(--card); border: 1px solid var(--border); border-radius: 8px; }
.tool-editorial .editorial-date { color: var(--text2); font-size: 13px; }
.workbench #pwDrop { display: flex; flex-direction: column; gap: 8px; margin-top: 16px; padding: 24px 16px; border: 1px dashed var(--border); border-radius: 12px; text-align: center; cursor: pointer; }
.workbench #pwDrop span { color: var(--text2); font-size: 13px; }
.workbench #pwDrop:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
