/* Quill + PEUF rich text (eu_rich_text) + discharge letter workspace */

.ds-letter-workspace {
  width: 100%;
  margin: 0 0 16px;
  padding: 0;
}

.ds-letter-workspace__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
  padding: 0 2px;
}

.ds-letter-workspace__head .eu-section-title {
  margin: 0;
  font-size: 1rem;
}

.ds-letter-workspace__meta {
  margin-bottom: 10px;
  padding: 8px 10px;
  border: 1px solid var(--eu-border, #e2e8f0);
  border-radius: 8px;
  background: var(--eu-surface, #fff);
}

.ds-letter-workspace__meta.eu-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1100px) {
  .ds-letter-workspace__meta.eu-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* PEUF rich-text shell (reusable) */
.eu-rich-text,
.ds-word-shell {
  width: 100%;
  border: 1px solid var(--eu-border, #cbd5e1);
  border-radius: 8px;
  overflow: hidden;
  background: #e8eef5;
  box-shadow: 0 1px 2px rgb(15 23 42 / 6%);
}

/* Long documents: toolbar sticky; only the page scrolls */
.eu-rich-text--longdoc,
.ds-word-shell--longdoc {
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 11.5rem);
  min-height: 28rem;
}

.eu-rich-text__chrome-sticky,
.ds-word-chrome-sticky {
  flex: 0 0 auto;
  position: sticky;
  top: 0;
  z-index: 30;
  background: var(--eu-surface-muted, #f1f5f9);
  border-bottom: 1px solid var(--eu-border, #e2e8f0);
  box-shadow: 0 1px 0 rgb(15 23 42 / 4%);
}

.eu-rich-text__page--scroll,
.ds-word-page--scroll {
  flex: 1 1 auto;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.eu-rich-text__chrome,
.eu-rich-text__chrome-sticky,
.ds-word-chrome {
  width: 100%;
  background: var(--eu-surface-muted, #f1f5f9);
  border-bottom: 1px solid var(--eu-border, #e2e8f0);
}

.eu-rich-text__toolbar-row,
.ds-word-chrome--inline {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0;
  padding: 0;
  width: 100%;
}

.eu-rich-text__toolbar-row .eu-quill.eu-quill--full,
.ds-word-chrome--inline .eu-quill.eu-quill--full {
  flex: 1 1 auto;
  min-width: 0;
}

.ds-word-chrome__inline-extras {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 6px;
  margin-left: auto;
  padding: 2px 8px;
  align-self: stretch;
  border-left: 1px solid var(--eu-border, #e2e8f0);
  background: var(--eu-surface-muted, #f1f5f9);
}

.ds-word-chrome .eu-select--toolbar,
.ds-word-chrome__inline-extras .eu-select--toolbar {
  min-width: 4.5rem;
  max-width: 6rem;
  height: 22px;
  font-size: 0.7rem;
  padding: 0 4px;
  border: 1px solid var(--eu-border, #cbd5e1);
  border-radius: 3px;
  background: #fff;
}

/* Compact toolbar */
.eu-quill.ql-toolbar,
.eu-quill.eu-quill--full,
.ql-toolbar.eu-quill {
  width: auto;
  box-sizing: border-box;
  border: 0;
  border-radius: 0;
  background: var(--eu-surface-muted, #f1f5f9);
  padding: 2px 6px;
  display: flex;
  flex-wrap: wrap;
  gap: 1px;
  align-items: center;
  min-height: 28px;
}

.ql-snow.ql-toolbar button,
.ql-snow .ql-toolbar button {
  width: 22px;
  height: 22px;
  padding: 1px;
}

.ql-snow.ql-toolbar .ql-formats {
  margin-right: 6px;
}

.ql-snow.ql-toolbar .ql-picker,
.ql-snow .ql-toolbar .ql-picker {
  font-size: 11px;
  height: 22px;
}

.ql-snow .ql-picker-label {
  padding: 1px 2px 1px 4px;
}

.ql-snow .ql-stroke {
  stroke: var(--eu-text, #334155);
}

.ql-snow .ql-fill {
  fill: var(--eu-text, #334155);
}

.ql-snow .ql-picker {
  color: var(--eu-text, #334155);
}

.ql-snow .ql-table,
.ql-snow .ql-hr {
  width: 22px;
  height: 22px;
}

.ql-snow .ql-table::before {
  content: "▦";
  font-size: 12px;
  line-height: 20px;
  color: var(--eu-text, #334155);
}

.ql-snow .ql-hr::before {
  content: "―";
  font-size: 14px;
  line-height: 20px;
  color: var(--eu-text, #334155);
}

/* Size / font picker labels */
.ql-snow .ql-picker.ql-size .ql-picker-label::before,
.ql-snow .ql-picker.ql-size .ql-picker-item::before { content: "14"; }
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="10px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="10px"]::before { content: "10"; }
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="12px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="12px"]::before { content: "12"; }
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="14px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="14px"]::before { content: "14"; }
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="16px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="16px"]::before { content: "16"; }
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="18px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="18px"]::before { content: "18"; }
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="20px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="20px"]::before { content: "20"; }
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="24px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="24px"]::before { content: "24"; }
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="28px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="28px"]::before { content: "28"; }

.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="serif"]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="serif"]::before { content: "Serif"; font-family: Georgia, serif; }
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="sans-serif"]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="sans-serif"]::before { content: "Sans"; font-family: system-ui, sans-serif; }
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="monospace"]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="monospace"]::before { content: "Mono"; font-family: ui-monospace, monospace; }

/* Full-width page */
.eu-rich-text__page,
.ds-word-page {
  width: 100%;
  padding: 8px 10px 12px;
  background: #e8eef5;
  box-sizing: border-box;
}

.eu-rich-text__editor.ql-container,
.eu-quill-editor.ql-container,
.ql-container.eu-quill-editor,
.ds-letter-wysiwyg.eu-quill-editor,
.ds-letter-wysiwyg.ql-container {
  width: 100% !important;
  max-width: none !important;
  min-height: 520px;
  border: 1px solid #cbd5e1;
  border-radius: 2px;
  background: #fff;
  box-shadow: 0 2px 8px rgb(15 23 42 / 8%);
  font-family: "Calibri", "Segoe UI", Georgia, serif;
  font-size: 15px;
  display: block;
}

.eu-rich-text--compact .eu-rich-text__editor.ql-container,
.eu-rich-text--compact .eu-quill-editor.ql-container {
  min-height: 180px;
}

.eu-rich-text--compact .eu-quill-editor .ql-editor {
  min-height: 160px;
  padding: 12px 14px;
}

.eu-quill-editor .ql-editor,
.ds-letter-wysiwyg .ql-editor {
  min-height: 520px;
  padding: 24px 28px 36px;
  line-height: 1.55;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

.eu-quill-editor .ql-editor.ql-blank::before {
  color: var(--eu-muted, #94a3b8);
  font-style: normal;
  left: 28px;
  right: 28px;
}

.eu-quill-editor .ql-editor h1,
.eu-quill-editor .ql-editor h2,
.eu-quill-editor .ql-editor h3 {
  width: 100%;
  margin: 0 0 8px;
  line-height: 1.3;
  font-family: system-ui, "Segoe UI", sans-serif;
  text-align: left;
}

.eu-quill-editor .ql-editor h1 { font-size: 1.75rem; }
.eu-quill-editor .ql-editor h2 { font-size: 1.35rem; }
.eu-quill-editor .ql-editor h3 { font-size: 1.15rem; }

.eu-quill-editor .ql-editor p { margin: 0 0 8px; }

/* Table embed (Quill custom blot) */
.ql-ds-table {
  margin: 10px 0 14px;
}

.eu-quill-table-wrap {
  outline: 1px solid transparent;
}

.eu-quill-table-wrap:focus-within {
  outline-color: color-mix(in srgb, var(--eu-accent, #0f766e) 35%, white);
}

.eu-quill-editor .ql-editor table,
.eu-quill-table,
.ds-print__rich table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
  table-layout: fixed;
}

.eu-quill-editor .ql-editor th,
.eu-quill-editor .ql-editor td,
.eu-quill-table th,
.eu-quill-table td,
.ds-print__rich th,
.ds-print__rich td {
  border: 1px solid var(--eu-border, #94a3b8);
  padding: 6px 8px;
  vertical-align: top;
  min-width: 2rem;
  background: #fff;
}

.eu-quill-editor .ql-editor th,
.eu-quill-table th,
.ds-print__rich th {
  background: var(--eu-surface-muted, #f1f5f9);
  font-weight: 600;
}

.eu-quill-editor .ql-editor hr,
.ql-ds-hr,
.ds-print__rich hr {
  border: 0;
  border-top: 1px solid var(--eu-border, #cbd5e1);
  margin: 12px 0;
}

.eu-rich-text--readonly {
  opacity: 0.92;
  pointer-events: none;
}

.ds-tpl-rt .eu-rich-text__editor.ql-container,
.ds-tpl-quill-editor.ql-container {
  min-height: 360px;
  width: 100%;
  max-width: none;
}

.ds-author--letter .ds-author__actions {
  position: sticky;
  bottom: 0;
  z-index: 25;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
  padding: 10px 12px;
  background: color-mix(in srgb, var(--eu-surface, #fff) 92%, #e8eef5);
  border: 1px solid var(--eu-border, #e2e8f0);
  border-radius: 8px;
  box-shadow: 0 -2px 8px rgb(15 23 42 / 6%);
}

@media (max-width: 900px) {
  .eu-rich-text__toolbar-row,
  .ds-word-chrome--inline {
    flex-wrap: wrap;
  }

  .ds-word-chrome__inline-extras {
    margin-left: 0;
    width: 100%;
    border-left: 0;
    border-top: 1px solid var(--eu-border, #e2e8f0);
    justify-content: flex-end;
  }
}
