/* On-demand document work. Brand accents follow the established MES palette. */
.doc-tools-preview-button,.doc-tools-reply { border:1px solid var(--line); border-radius:7px; padding:5px 9px; min-height:32px; background:#fff; color:#933b37; font-size:13px; line-height:1.35; }
.doc-tools-preview-button { display:inline-flex; margin-top:7px; align-items:center; }
.doc-tools-reply { margin:9px 0 0 auto; display:block; }
.doc-tools-preview-button:hover,.doc-tools-reply:hover { border-color:var(--accent); background:var(--accent-soft); }
.doc-tools-context { display:flex; align-items:flex-start; gap:10px; padding:10px 13px; border-bottom:1px solid #ecd4d0; background:#fff4f1; }
.doc-tools-context-text { flex:1; min-width:0; font-size:13px; line-height:1.5; white-space:pre-line; overflow-wrap:anywhere; }
.doc-tools-context button { flex:none; border:0; background:transparent; padding:0 5px; font-size:22px; line-height:1.25; }
.doc-tools-message-quote { display:block; width:100%; padding:8px 11px; margin:8px 0; border:0; border-left:3px solid #c77269; border-radius:0 6px 6px 0; background:#fff4f1; text-align:left; color:#5b3f3d; font-size:13px; line-height:1.45; white-space:pre-line; overflow-wrap:anywhere; }
.doc-tools-message-quote:hover { background:#ffe8e2; }
.doc-tools-message-flash { outline:3px solid #d74343; outline-offset:4px; border-radius:7px; }
.doc-tools-preview { display:flex; min-width:0; min-height:0; flex-direction:column; border-left:1px solid #ddd9d5; background:#fff; }
.doc-tools-preview-head { display:flex; gap:10px; align-items:flex-start; justify-content:space-between; padding:16px; border-bottom:1px solid var(--line); }
.doc-tools-preview-heading { min-width:0; }
.doc-tools-preview-heading h2 { margin:0; font-size:17px; line-height:1.4; overflow-wrap:anywhere; }
.doc-tools-preview-heading p { margin:4px 0 0; font-size:12px; color:var(--muted); }
.doc-tools-preview-close { flex:none; border:1px solid var(--line); background:#fff; border-radius:8px; min-width:35px; min-height:35px; font-size:22px; }
.doc-tools-preview-toolbar { display:flex; flex-wrap:wrap; gap:7px; align-items:center; padding:10px 12px; border-bottom:1px solid var(--line); background:#faf9f7; }
.doc-tools-preview-toolbar button,.doc-tools-preview-toolbar input,.doc-tools-preview-toolbar select { min-height:35px; padding:5px 8px; font-size:13px; border:1px solid #c7c3bf; border-radius:6px; background:#fff; }
.doc-tools-preview-toolbar input[type=number] { width:65px; }
.doc-tools-preview-toolbar label { display:flex; align-items:center; gap:5px; font-size:13px; }
.doc-tools-preview-toolbar .doc-tools-discuss { color:#fff; background:var(--accent); border-color:var(--accent); }
.doc-tools-preview-toolbar .doc-tools-selection[aria-pressed=true] { color:#9d302d; background:#ffe8e3; border-color:var(--accent); }
.doc-tools-preview-status { margin:0; padding:9px 13px; font-size:13px; line-height:1.5; color:#56504c; background:#fff9ee; border-bottom:1px solid #eee3cb; overflow-wrap:anywhere; }
.doc-tools-preview-status.error { color:#9e2029; background:#fff0f2; }
.doc-tools-preview-body { min-height:0; min-width:0; flex:1; overflow:auto; padding:14px; background:#ebeae7; overscroll-behavior:contain; }
.doc-tools-pdf-canvas { position:relative; display:inline-block; vertical-align:top; line-height:0; background:#fff; box-shadow:0 2px 12px #24272925; user-select:none; }
.doc-tools-pdf-canvas img { display:block; width:100%; height:auto; pointer-events:none; }
.doc-tools-pdf-canvas.selecting { cursor:crosshair; touch-action:none; }
.doc-tools-rectangle { position:absolute; border:2px solid #b72f2f; background:#d7434330; pointer-events:none; }
.doc-tools-word { width:max-content; min-width:100%; max-width:none; padding:25px; background:#fff; color:#000; font-family:"Times New Roman",Times,serif; font-size:12pt; line-height:1.4; }
.doc-tools-word>p { max-width:720px; white-space:pre-wrap; margin:0 0 10px; }
.doc-tools-word table { border-collapse:collapse; margin:14px 0; font:inherit; width:max-content; min-width:90%; max-width:1600px; }
.doc-tools-word td { border:1px solid #444; padding:6px 8px; min-width:50px; max-width:480px; vertical-align:top; white-space:pre-wrap; overflow-wrap:anywhere; }
.doc-tools-word td>p { margin:0 0 5px; }
.doc-tools-yellow { background:#ffff00; color:#000; }
.doc-tools-sheet { border-collapse:collapse; width:max-content; min-width:100%; font-family:"Segoe UI",Arial,sans-serif; font-size:14px; background:#fff; }
.doc-tools-sheet th,.doc-tools-sheet td { border:1px solid #d7d3ce; padding:6px 9px; min-width:90px; max-width:420px; white-space:pre-wrap; overflow-wrap:anywhere; vertical-align:top; }
.doc-tools-sheet thead th { position:sticky; top:-14px; background:#f5f1ec; z-index:1; }
.doc-tools-sheet th:first-child { min-width:50px; color:#68625c; background:#f5f1ec; }
.doc-tools-formula { color:#7b5317; background:#fff8e7; }
.doc-tools-preview-backdrop { display:none; }
.doc-tools-dialog { width:min(720px,calc(100vw - 28px)); max-height:calc(100dvh - 28px); padding:22px; color:var(--ink); border:1px solid #d6d0ca; border-radius:16px; box-shadow:0 20px 70px #25272935; background:#fff; }
.doc-tools-dialog::backdrop { background:#26262766; backdrop-filter:blur(2px); }
.doc-tools-dialog h2 { margin:0; font-size:20px; }
.doc-tools-dialog-head,.doc-tools-dialog-actions { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; }
.doc-tools-dialog-head button { border:0; background:transparent; padding:0 4px; font-size:25px; }
.doc-tools-dialog-filters { display:flex; flex-wrap:wrap; gap:7px; margin:14px 0; }
.doc-tools-dialog-filters button { border:1px solid var(--line); border-radius:7px; padding:6px 10px; background:#faf9f7; font-size:13px; }
.doc-tools-selection-list { display:grid; gap:8px; max-height:48dvh; overflow:auto; padding:2px 2px 8px; margin:8px 0 12px; }
.doc-tools-selection-row { display:flex; align-items:flex-start; gap:10px; padding:10px; border:1px solid #e2dcd7; border-radius:8px; }
.doc-tools-selection-row input { flex:none; width:18px; height:18px; margin-top:3px; accent-color:var(--accent); }
.doc-tools-selection-row span { min-width:0; font-size:14px; overflow-wrap:anywhere; }
.doc-tools-selection-row small { display:block; margin-top:4px; color:var(--muted); font-size:12px; }
.doc-tools-dialog-message { font-size:14px; line-height:1.5; color:#66564b; overflow-wrap:anywhere; }
.doc-tools-dialog-message.error { color:#9e2029; }
.doc-tools-selection-count { font-size:14px; color:#625b56; }
.doc-tools-upload-progress { margin:8px 1px 0; color:#7b3f38; font-size:13px; }
.header-actions { min-width:0; max-width:100%; flex-shrink:1; }
.doc-tools-preview-open .composer-toolbar { flex-wrap:wrap; align-items:flex-end; }
.doc-tools-preview-open .composer-left { flex:1 1 180px; }
.doc-tools-preview-open .composer-left .supported-files { flex-basis:100%; }
.doc-tools-preview-open .send-button { margin-left:auto; }
@media(min-width:1180px) { .content-columns.doc-tools-preview-open { grid-template-columns:minmax(300px,.85fr) minmax(440px,1.15fr); } }
@media(max-width:1400px) { .workspace-header { flex-wrap:wrap; }.header-actions { margin-left:auto; } }
@media(max-width:1179px) {
  .doc-tools-preview { position:fixed; inset:12px; z-index:75; border:1px solid #d8d0ca; border-radius:12px; box-shadow:0 12px 60px #25272945; overflow:hidden; }
  .doc-tools-preview-backdrop:not([hidden]) { display:block; position:fixed; inset:0; z-index:74; background:#25272955; }
}
@media(max-width:680px) {
  .doc-tools-preview { inset:6px; }
  .doc-tools-preview-head { padding:12px; }
  .doc-tools-preview-heading h2 { font-size:15px; }
  .doc-tools-preview-toolbar { padding:8px; gap:6px; }
  .doc-tools-preview-toolbar button,.doc-tools-preview-toolbar input,.doc-tools-preview-toolbar select { font-size:12px; min-height:34px; padding:5px 7px; }
  .doc-tools-preview-body { padding:8px; }
  .doc-tools-dialog { padding:16px; }
  .doc-tools-dialog h2 { font-size:18px; }
  #doc-tools-download-selected { font-size:13px; }
}
