/* Dokumente: ruhige Listen, fokussiertes Papier und kompakte Werkzeuge. */
.doc { color:var(--c-black); min-width:0; }
.doc[data-doc-editor],.doc[data-doc-panel],.doc[data-doc-status] { box-sizing:border-box;max-width:none;width:100%;padding:var(--sp-5); }
.doc[data-doc-panel] .doc__list { padding:0;margin:0; }
.doc[data-parent-documents] { max-width:none;padding:0; }
.doc[data-parent-documents] .doc__list { padding:0;margin:12px 0 0; }
.doc [hidden] { display:none!important; }
.doc button,.doc input,.doc textarea,.doc select { font:inherit; }
.doc a,.doc button { -webkit-tap-highlight-color:transparent; }
.doc button:focus-visible,.doc a:focus-visible,.doc input:focus-visible,.doc select:focus-visible,.doc textarea:focus-visible,.doc [contenteditable]:focus-visible { outline:2px solid var(--c-fill);outline-offset:3px; }
.doc__head { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px; }
.doc__head h1 { font-size:27px;letter-spacing:-.045em; }
.doc__head-actions { display:flex;align-items:center;gap:8px; }
.doc__eyebrow { display:block;color:var(--c-faint);font-size:11px;margin-bottom:4px; }
.doc__tabs { display:flex;gap:24px;border-bottom:1px solid var(--c-line);margin-bottom:24px; }
.doc__tab { display:flex;align-items:center;gap:8px;border:0;border-bottom:2px solid transparent;background:none;color:var(--c-muted);padding:0 0 13px;font-size:13px;font-weight:600;cursor:pointer; }
.doc__tab.is-active { color:var(--c-black);border-bottom-color:var(--c-fill); }
.doc__tab-count { font-size:11px;color:var(--c-faint); }
.doc__list-tools { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px; }
.doc__search { display:flex;align-items:center;gap:9px;min-width:0;width:300px;color:var(--c-faint); }
.doc__search input { min-width:0;width:100%;padding:9px 0;border:0;border-bottom:1px solid var(--c-line);border-radius:0;background:transparent;color:var(--c-black);font-size:13px;outline-offset:0; }
.doc__search svg { flex-shrink:0; }
.doc__muted { color:var(--c-faint);font-size:12px; }
.doc__list { background:var(--c-white);border:1px solid var(--c-line);border-radius:var(--radius-lg);overflow:hidden; }
.doc__row { display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px 22px;border-bottom:1px solid var(--c-line); }
.doc__row:last-child { border-bottom:0; }
.doc__file-icon { display:grid;place-items:center;width:42px;height:48px;border:1px solid var(--c-line);border-radius:var(--radius-sm);color:var(--c-muted);background:var(--c-bg); }
.doc__row-title { border:0;background:transparent;padding:0;text-align:left;color:var(--c-black);font-size:15px;font-weight:650;letter-spacing:-.02em;cursor:pointer;overflow-wrap:anywhere; }
.doc__row-title:hover { color:var(--c-fill); }
.doc__row-meta { display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;margin-top:5px;color:var(--c-faint);font-size:11px; }
.doc__row-actions { display:flex;align-items:center;gap:8px; }
.doc__icon-button { display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:32px;min-height:32px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--c-muted);cursor:pointer; }
.doc__icon-button:hover { background:var(--c-hover);color:var(--c-black); }
.doc__icon-button.is-active { background:var(--c-fill-soft);color:var(--c-fill); }
.doc__empty { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:330px;padding:36px 24px;text-align:center; }
.doc__empty>svg { color:var(--c-faint);margin-bottom:6px; }
.doc__empty h2 { font-size:18px; }
.doc__empty p { color:var(--c-faint);font-size:13px;max-width:340px;margin:0 0 6px;line-height:1.6; }
.doc__notice,.doc__error { padding:12px 16px;margin:0 0 18px;border:1px solid var(--c-line);border-radius:var(--radius-md);font-size:13px;background:var(--c-white); }
.doc__notice { color:var(--success);border-color:color-mix(in srgb,var(--success) 25%,var(--c-line)); }
.doc__error { color:var(--danger);background:var(--danger-soft);border-color:var(--danger); }
.doc__back { display:inline-flex;align-items:center;gap:7px;min-height:30px;border:0;padding:0;background:none;color:var(--c-muted);font-size:12px;cursor:pointer; }
.doc__back:hover { color:var(--c-fill); }
.doc-editor__header { display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px; }
.doc-editor__title-wrap { flex:1;min-width:0; }
.doc-editor__title { display:block;width:100%;max-width:680px;padding:6px 0;border:0;border-bottom:1px solid transparent;background:transparent;color:var(--c-black);font-size:25px!important;font-weight:650!important;letter-spacing:-.04em; }
.doc-editor__title:hover,.doc-editor__title:focus { border-bottom-color:var(--c-line-strong); }
.doc-editor__state { display:flex;align-items:center;gap:7px;min-height:20px;margin-top:4px;font-size:11px;color:var(--c-faint); }

.doc-editor__actions { display:flex;align-items:center;gap:8px; }
.doc-editor__toolbar { display:flex;align-items:center;flex-wrap:wrap;gap:3px;padding:8px 12px;border:1px solid var(--c-line);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--c-white); }
.doc-editor__toolbar .doc__icon-button { min-width:31px;min-height:31px; }
.doc-editor__separator { width:1px;height:19px;background:var(--c-line);margin:0 6px; }
.doc-editor__format { padding:5px 8px;border:0;background:transparent;color:var(--c-muted);font-size:12px!important;max-width:125px; }
.doc-editor__insert { display:flex;align-items:center;gap:6px;padding:6px 9px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--c-fill);font-size:12px;font-weight:600;cursor:pointer; }
.doc-editor__insert:hover { background:var(--c-fill-soft); }
.doc-editor__insert:first-of-type { margin-left:auto; }
.doc-editor__workspace { display:grid;grid-template-columns:minmax(0,1fr) 256px;border:1px solid var(--c-line);border-top:0;border-radius:0 0 var(--radius-lg) var(--radius-lg);overflow:hidden;background:var(--c-bg); }
.doc-editor__canvas { display:flex;justify-content:center;align-items:flex-start;min-width:0;padding:32px;overflow:auto; }
.doc-paper { width:100%;max-width:780px;min-height:850px;padding:58px 64px;background:var(--c-white);color:var(--c-black);border:1px solid var(--c-line);box-shadow:var(--shadow-sm);font-size:14px;line-height:1.75;overflow-wrap:anywhere; }
.doc-paper p { margin:0 0 16px;min-height:1em; }
.doc-paper h1 { font-size:28px;margin:0 0 22px;line-height:1.3; }
.doc-paper h2 { font-size:22px;margin:24px 0 16px;line-height:1.35; }
.doc-paper h3 { font-size:17px;margin:20px 0 12px;line-height:1.4; }
.doc-paper ul,.doc-paper ol { padding-left:24px;margin:0 0 16px; }
.doc-paper ul { list-style:disc; }
.doc-paper li { margin:4px 0; }
.doc-paper a { color:var(--c-fill);text-decoration:underline;text-underline-offset:3px; }
.doc-paper[contenteditable=true]:focus { outline:0; }
.doc-paper[contenteditable=true]:empty::before { content:attr(data-placeholder);color:var(--c-faint);pointer-events:none; }
.doc-paper [data-document-field] { display:inline-flex;align-items:center;gap:7px;max-width:100%;vertical-align:baseline;margin:2px 3px;padding:3px 9px;border:1px dashed var(--c-fill);border-radius:var(--radius-xs);background:var(--c-fill-soft);color:var(--c-fill);font-size:12px;font-family:var(--ff);line-height:1.5;cursor:pointer;user-select:all; }
.doc-paper [data-document-field].is-selected { border-style:solid;box-shadow:0 0 0 2px var(--c-fill-soft); }
.doc-paper [data-document-field][data-type=checkbox]::before { content:'';width:11px;height:11px;flex-shrink:0;border:1px solid currentColor;border-radius:2px; }
.doc-paper [data-document-field][data-type=text]::before { content:'T';font-size:10px;font-weight:700; }
.doc-paper [data-document-field][data-required=true]::after { content:'*'; }
.doc-editor__fields { border-left:1px solid var(--c-line);padding:24px 20px;background:var(--c-white); }
.doc-editor__fields-head { display:flex;justify-content:space-between;align-items:center;margin-bottom:18px; }
.doc-editor__fields h2 { font-size:13px;font-weight:650; }
.doc-editor__fields p { margin:0;color:var(--c-faint);font-size:12px;line-height:1.6; }
.doc-editor__field-list { display:flex;flex-direction:column;gap:6px;margin-bottom:22px; }
.doc-editor__field-item { display:flex;align-items:center;gap:9px;min-width:0;width:100%;padding:9px 10px;border:1px solid var(--c-line);border-radius:var(--radius-sm);background:var(--c-white);color:var(--c-muted);text-align:left;font-size:12px;cursor:pointer; }
.doc-editor__field-item.is-active { color:var(--c-fill);background:var(--c-fill-soft);border-color:var(--c-fill); }
.doc-editor__field-item>span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.doc-editor__field-item>small { margin-left:auto;flex-shrink:0;font-size:10px;color:var(--c-faint); }
.doc-editor__field-settings { padding-top:20px;border-top:1px solid var(--c-line); }
.doc-editor__field-settings label { display:flex;flex-direction:column;gap:7px;margin-bottom:15px;color:var(--c-muted);font-size:11px; }
.doc-editor__field-settings input[type=text],.doc-editor__field-settings select { width:100%;padding:9px 10px;background:var(--c-white);color:var(--c-black);border:1px solid var(--c-line-strong);border-radius:var(--radius-sm);font-size:12px; }
.doc-editor__field-settings .doc__check { flex-direction:row;align-items:center;gap:9px;color:var(--c-black);font-size:12px; }
.doc__check input { width:16px;height:16px;margin:0; }
.doc-editor__delete { display:inline-flex;align-items:center;gap:7px;padding:6px 0;border:0;background:none;color:var(--danger);font-size:11px;cursor:pointer; }
.doc-editor__mobile-fields { display:none; }
.doc-editor__preview .doc-paper [data-document-field] { display:none; }
.doc-preview-field { display:block;margin:14px 0 20px;font-family:var(--ff);font-size:12px;line-height:1.5; }
.doc-preview-field input,.doc-preview-field textarea { display:block;width:100%;margin-top:7px;padding:10px;border:1px solid var(--c-line-strong);border-radius:var(--radius-sm);background:var(--c-white);color:var(--c-muted);font:inherit; }
.doc-preview-field.is-checkbox { display:flex;align-items:center;gap:9px; }
.doc-preview-field.is-checkbox input { display:inline-block;width:17px;height:17px;margin:0; }
.doc-editor__link { display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;border:1px solid var(--c-line);border-top:0;background:var(--c-white); }
.doc-editor__link input { flex:1;min-width:160px;padding:8px 10px;border:1px solid var(--c-line-strong);border-radius:var(--radius-sm);background:var(--c-white);color:var(--c-black);font-size:12px; }
.cos-modal[data-doc-send-backdrop] { position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:24px;background:color-mix(in srgb,var(--c-bg) 58%,transparent);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px); }
.doc-dialog { width:100%;max-width:800px;max-height:calc(100dvh - 48px);overflow:auto;padding:30px;background:var(--c-white);border:1px solid var(--c-line);border-radius:var(--radius-xl);box-shadow:var(--shadow-modal); }
.doc-dialog__head { display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:24px; }
.doc-dialog__head h2 { font-size:22px;letter-spacing:-.035em; }
.doc-dialog__head p { margin:7px 0 0;color:var(--c-faint);font-size:12px; }
.doc-dialog__close { padding:0;border:0;background:none;color:var(--c-muted);min-width:28px;min-height:28px;cursor:pointer; }
.doc-send__filters { display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-bottom:18px;border-bottom:1px solid var(--c-line); }
.doc-send__filters .doc__search { flex:1;min-width:170px; }
.doc-send__filters select { min-width:125px;max-width:200px;padding:9px 10px;border:1px solid var(--c-line);border-radius:var(--radius-sm);background:var(--c-white);color:var(--c-muted);font-size:12px; }
.doc-send__bulk { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;color:var(--c-muted);font-size:12px; }
.doc-send__bulk .doc__check { display:flex;align-items:center;gap:8px; }
.doc-send__recipients { max-height:360px;overflow:auto;border:1px solid var(--c-line);border-radius:var(--radius-md); }
.doc-send__recipient { display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--c-line);cursor:pointer; }
.doc-send__recipient:last-child { border-bottom:0; }
.doc-send__recipient:has(input:checked) { background:var(--c-fill-soft); }
.doc-send__recipient>input { flex-shrink:0;width:16px;height:16px;margin:0; }
.doc-send__person { display:block;flex:1;min-width:0; }
.doc-send__person strong { display:block;color:var(--c-black);font-size:13px;font-weight:600; }
.doc-send__person small { display:block;margin-top:4px;color:var(--c-faint);font-size:11px;overflow-wrap:anywhere; }
.doc-send__role { flex-shrink:0;color:var(--c-faint);font-size:10px; }
.doc-send__delivery { margin-top:22px; }
.doc-send__delivery legend { font-size:12px;font-weight:600;margin-bottom:10px; }
.doc-send__delivery { border:0;padding:0; }
.doc-send__channels { display:flex;gap:10px;flex-wrap:wrap; }
.doc-send__channels label { display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--c-line);border-radius:var(--radius-sm);font-size:12px;cursor:pointer; }
.doc-send__channels label:has(input:checked) { border-color:var(--c-fill);background:var(--c-fill-soft); }
.doc-send__channels input { margin:0; }
.doc-send__help { margin:12px 0 0;font-size:11px;line-height:1.6;color:var(--c-faint); }
.doc-dialog__foot { display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px;padding-top:20px;border-top:1px solid var(--c-line); }
.doc-dialog__foot-actions { display:flex;align-items:center;gap:8px; }
.doc-progress { display:flex;height:6px;border-radius:var(--radius-full);overflow:hidden;background:var(--c-surface-2); }
.doc-progress>span { min-width:0; }
.doc-progress__completed { background:var(--success); }
.doc-progress__partial { background:var(--c-fill); }
.doc-progress__opened { background:var(--c-line-strong); }
.doc-progress__unopened { background:var(--c-surface-2); }
.doc__row-progress { display:flex;flex-direction:column;gap:7px;min-width:130px; }
.doc__row-progress small { color:var(--c-faint);font-size:11px; }
.doc-status__summary { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px;border:1px solid var(--c-line);border-radius:var(--radius-lg);overflow:hidden;background:var(--c-white); }
.doc-status__metric { padding:20px 22px;border-right:1px solid var(--c-line); }
.doc-status__metric:last-child { border-right:0; }
.doc-status__metric strong { display:block;font-size:27px;font-weight:650;letter-spacing:-.045em; }
.doc-status__metric small { display:flex;align-items:center;gap:7px;margin-top:5px;color:var(--c-faint);font-size:11px; }
.doc-status__dot { display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--c-surface-2); }
.doc-status__dot.is-completed { background:var(--success); }
.doc-status__dot.is-partial { background:var(--c-fill); }
.doc-status__dot.is-opened { background:var(--c-line-strong); }
.doc-status__dot.is-unopened { background:var(--c-faint); }
.doc-status__bar { margin-bottom:28px; }
.doc-status__table-wrap { overflow:auto;border:1px solid var(--c-line);border-radius:var(--radius-lg);background:var(--c-white); }
.doc-status__table { width:100%;border-collapse:collapse;text-align:left;font-size:12px; }
.doc-status__table th { padding:12px 18px;border-bottom:1px solid var(--c-line);background:var(--c-bg);color:var(--c-faint);font-size:11px;font-weight:500;white-space:nowrap; }
.doc-status__table td { padding:16px 18px;border-bottom:1px solid var(--c-line);vertical-align:middle; }
.doc-status__table tr:last-child td { border-bottom:0; }
.doc-status__person strong { display:block;font-weight:600;color:var(--c-black); }
.doc-status__person small { display:block;color:var(--c-faint);margin-top:4px;font-size:10px; }
.doc-status__badge { display:inline-flex;align-items:center;gap:7px;color:var(--c-muted);white-space:nowrap;font-size:11px; }
.doc-status__badge.is-completed { color:var(--success); }
.doc-status__badge.is-partial { color:var(--c-fill); }
.doc-status__delivery { display:block;font-size:10px;color:var(--c-faint);line-height:1.6; }
.doc-status__link { display:flex;align-items:center;gap:7px; }
.doc-status__link input { width:110px;min-width:0;padding:6px 7px;border:1px solid var(--c-line);border-radius:var(--radius-xs);background:var(--c-bg);color:var(--c-muted);font-size:10px; }
.doc-status__response { padding:25px 30px;background:var(--c-bg);border-radius:var(--radius-md); }
.doc-status__response h3 { margin:0 0 15px;font-size:14px; }
.doc-status__answers { display:flex;flex-direction:column;gap:15px; }
.doc-status__answer small { display:block;font-size:11px;color:var(--c-faint);margin-bottom:5px; }
.doc-status__answer p { margin:0;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere; }
.doc__copy-message { font-size:10px;color:var(--success); }
.doc-send__no-results { padding:24px;text-align:center;color:var(--c-faint);font-size:12px; }
.doc-sr-only { position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0; }
@media(max-width:1100px) { .doc-editor__workspace { grid-template-columns:minmax(0,1fr) 225px; }.doc-editor__canvas { padding:20px; }.doc-paper { padding:38px 36px;min-height:730px; }.doc-editor__fields { padding:20px 15px; } }
@media(max-width:760px) { .cos-modal[data-doc-send-backdrop] { padding:12px; }.doc[data-doc-editor],.doc[data-doc-panel],.doc[data-doc-status] { padding:16px; }.doc__head { margin-bottom:18px; }.doc__head h1 { font-size:23px; }.doc__tabs { margin-bottom:18px; }.doc__row { grid-template-columns:32px minmax(0,1fr);padding:16px;gap:12px; }.doc__file-icon { width:32px;height:40px; }.doc__row-actions { grid-column:2;flex-wrap:wrap; }.doc__row-progress { width:100%; }.doc__list-tools { flex-wrap:wrap; }.doc__search { width:100%; }.doc-editor__header { flex-wrap:wrap;align-items:flex-start; }.doc-editor__title-wrap { flex-basis:100%; }.doc-editor__title { font-size:23px!important; }.doc-editor__actions { width:100%;justify-content:flex-end; }.doc-editor__toolbar { padding:7px;gap:2px; }.doc-editor__separator { margin:0 3px; }.doc-editor__insert:first-of-type { margin-left:0; }.doc-editor__workspace { display:block; }.doc-editor__canvas { padding:12px; }.doc-paper { padding:28px 22px;min-height:620px; }.doc-editor__fields { display:none; }.doc-editor__mobile-fields { display:inline-flex; }.doc-editor__fields.is-mobile-open { display:block;position:fixed;inset:0 0 0 auto;width:min(320px,90vw);z-index:1200;border-left:1px solid var(--c-line);overflow:auto;box-shadow:var(--shadow-modal);padding:25px; }.doc-editor__fields-scrim { position:fixed;inset:0;z-index:1199;background:var(--c-overlay);backdrop-filter:blur(4px); }.doc-dialog { padding:20px;max-height:calc(100dvh - 24px); }.doc-dialog__head h2 { font-size:20px; }.doc-send__filters select { max-width:none;flex:1; }.doc-send__filters .doc__search { flex-basis:100%; }.doc-send__recipient { padding:12px; }.doc-dialog__foot { flex-wrap:wrap; }.doc-dialog__foot-actions { margin-left:auto; }.doc-status__summary { grid-template-columns:repeat(2,minmax(0,1fr)); }.doc-status__metric { padding:16px; }.doc-status__metric:nth-child(2) { border-right:0; }.doc-status__metric:nth-child(-n+2) { border-bottom:1px solid var(--c-line); }.doc-status__table th,.doc-status__table td { padding:12px; }.doc-status__table td:nth-child(2),.doc-status__table th:nth-child(2) { display:none; } }
@media(prefers-reduced-motion:reduce) { .doc *, .doc *::before,.doc *::after { transition:none!important;scroll-behavior:auto!important; } }
/* Mobile shell defaults to dark; these document views follow the selected theme. */
@media(max-width:760px) {
  :root body.app-page:has([data-doc-panel],[data-doc-editor],[data-doc-status]) {
    --c-bg:inherit;--c-white:inherit;--c-surface-2:inherit;--c-line:inherit;--c-line-strong:inherit;
    --c-black:inherit;--c-muted:inherit;--c-faint:inherit;background:var(--c-bg);
  }
}
/* Word-like controls stay compact; cell tools appear only when needed. */
.doc-editor__font { max-width:148px;min-width:100px;border:1px solid var(--c-line);border-radius:var(--radius-sm);padding:5px 7px;background:var(--c-white);color:var(--c-black);font-size:12px!important; }
.doc-editor__size { display:flex;align-items:center;gap:3px;padding:2px 5px;border:1px solid var(--c-line);border-radius:var(--radius-sm);color:var(--c-faint);font-size:10px; }
.doc-editor__size input { width:36px;min-width:0;padding:4px 0;border:0;background:transparent;color:var(--c-black);font-size:12px; }
.doc-editor__size input::-webkit-inner-spin-button { -webkit-appearance:none; }
.doc-editor__color { position:relative;display:inline-flex;align-items:center;justify-content:center;gap:3px;min-width:30px;min-height:31px;padding:4px 6px;border:1px solid var(--c-line);border-radius:var(--radius-sm);color:var(--c-muted);cursor:pointer; }
.doc-editor__color input[type=color] { width:15px;height:20px;min-width:0;margin:0;padding:0;border:0;background:none;cursor:pointer; }
.doc-editor__color input::-webkit-color-swatch-wrapper { padding:4px 0; }.doc-editor__color input::-webkit-color-swatch { border:0;border-radius:2px; }
.doc-editor__table-tools { display:flex;flex-wrap:wrap;gap:10px 20px;padding:10px 12px;border:1px solid var(--c-line);border-top:0;background:var(--c-white); }
.doc-editor__table-create,.doc-editor__cell-tools { display:flex;align-items:center;flex-wrap:wrap;gap:7px; }
.doc-editor__table-create label,.doc-editor__border-size { display:flex;align-items:center;gap:5px;font-size:11px;color:var(--c-muted); }
.doc-editor__table-create input,.doc-editor__border-size input { width:40px;padding:4px;border:1px solid var(--c-line);border-radius:var(--radius-xs);background:var(--c-white);color:var(--c-black);font-size:12px; }
.doc-editor__table-tools select { max-width:150px;padding:6px;border:1px solid var(--c-line);border-radius:var(--radius-sm);background:var(--c-white);color:var(--c-muted);font-size:11px; }
.doc-editor__cell-title { color:var(--c-faint);font-size:11px; }
.doc-paper { position:relative;box-sizing:border-box; }
.doc-paper table { max-width:100%;border-collapse:collapse;margin:12px 0 20px;table-layout:fixed;width:100%; }
.doc-paper td,.doc-paper th { padding:9px 11px;min-width:22px;height:38px;vertical-align:top;overflow-wrap:anywhere;word-break:normal;border:1px solid var(--c-line-strong);font-weight:inherit; }
.doc-paper td p,.doc-paper th p { margin:0 0 6px; }
.doc-paper [data-doc-selected-cell] { outline:2px solid var(--c-fill);outline-offset:-2px; }
.doc-paper [data-document-field] { user-select:none; }
.doc-paper [data-doc-move-handle] { display:inline-flex;align-self:stretch;align-items:center;padding:0 3px;margin-left:-4px;flex-shrink:0;cursor:grab;touch-action:none;user-select:none;font-size:16px;line-height:1;opacity:.6; }
.doc-paper [data-doc-move-handle]:hover { opacity:1; }.doc-paper [data-doc-move-handle]:active { cursor:grabbing; }
.doc-paper [data-doc-marker-label] { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.doc-paper [data-document-field].doc-field--floating { position:absolute;z-index:2;max-width:100%;margin:0;min-height:32px; }
.doc-paper .doc-preview-field.doc-field--floating { position:absolute;z-index:2;max-width:100%;margin:0; }
.doc-paper [data-document-field].is-dragging { opacity:.45; }
.doc-paper.is-drop-target { outline:2px solid var(--c-fill);outline-offset:-2px; }
.doc-editor__field-settings .doc-editor__position { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px; }
.doc-editor__position input { width:100%;padding:8px 5px;border:1px solid var(--c-line);border-radius:var(--radius-sm);background:var(--c-white);color:var(--c-black);font-size:12px; }
.doc-editor__fields p.doc-editor__binding-help { margin:-3px 0 15px;color:var(--c-fill);font-size:11px; }
.doc-editor__fields p.doc-editor__move-help { font-size:10px;margin:-3px 0 17px; }
.doc-editor__field-settings optgroup { font-weight:600; }
@media(max-width:760px) {
  .doc-editor__font { max-width:128px; }.doc-editor__table-tools { padding:8px;gap:8px; }.doc-editor__cell-tools { gap:6px; }
  .doc-editor__table-tools select { max-width:135px; }.doc-paper td,.doc-paper th { padding:6px; }.doc-paper [data-doc-move-handle] { min-width:20px;min-height:24px; }
  .doc-paper [data-document-field].doc-field--floating { min-height:36px; }.doc-paper [data-doc-marker-label] { font-size:11px; }
}
@media(max-width:760px) {
  .doc-editor__actions { justify-content:flex-start;flex-wrap:wrap;gap:6px; }
  .doc-editor__actions .btn { padding:7px 9px;font-size:12px;min-width:0; }
  .doc .doc-editor__actions .btn--primary { color:#fff; }
}
/* Authoring affordances float over the shared physical document geometry. */
.doc-editor__canvas { position:relative; }
.doc-editor__geometry-overlay { position:absolute;inset:0;pointer-events:none;z-index:4; }
.doc-editor__geometry-grip { position:absolute;box-sizing:border-box;pointer-events:auto;touch-action:none;user-select:none;border:1px solid #3387ff;border-radius:2px;background:#fff;padding:0;opacity:.85; }
.doc-editor__geometry-grip--column { cursor:col-resize;transform:translateX(-50%); }
.doc-editor__geometry-grip--row { cursor:row-resize;transform:translateY(-50%); }
.doc-editor__geometry-grip--table-size,.doc-editor__geometry-grip--object-size { cursor:nwse-resize;transform:translate(-50%,-50%);background:#3387ff; }
.doc-editor__geometry-grip--object-move { cursor:move;background:#3387ff; }
.doc-editor__geometry-grip--object-move::before { content:'⠿';color:#fff;font-size:16px;line-height:18px; }
.doc-editor__geometry-grip:focus-visible { outline:2px solid #3387ff;outline-offset:3px;opacity:1; }
.doc-editor .doc-paper [data-document-field].doc-field-box { border:1px dashed #3387ff;background:#edf4ff;color:#236dcb;cursor:pointer; }
.doc-editor .doc-paper [data-document-field].doc-field-box::before,.doc-editor .doc-paper [data-document-field].doc-field-box::after { display:none; }
.doc-editor .doc-paper [data-document-field].doc-field-box[data-type=checkbox] [data-doc-marker-label]::before { content:'□';font-size:18px;margin-right:6px;vertical-align:middle; }
.doc-editor .doc-paper [data-document-field].doc-field-box[data-type=select] [data-doc-marker-label]::after { content:' ▾'; }
.doc-editor .doc-paper [data-document-field].doc-field-box[data-appearance=overlay] { background:transparent;border-color:#3387ff55; }
.doc-editor .doc-paper [data-document-field].doc-field-box[data-appearance=overlay] [data-doc-marker-label] { opacity:0; }
.doc-editor .doc-paper [data-document-field].doc-field-box[data-appearance=overlay]:hover [data-doc-marker-label],.doc-editor .doc-paper [data-document-field].doc-field-box[data-appearance=overlay].is-selected [data-doc-marker-label] { opacity:1;background:#edf4ff; }
.doc-editor .doc-paper [data-document-field].is-selected { border-style:solid;box-shadow:0 0 0 2px #3387ff22; }
.doc-editor .doc-paper [data-doc-move-handle] { position:absolute;inset:-17px auto auto -1px;display:none;margin:0;padding:0 3px;background:#3387ff;border-radius:2px;color:white;line-height:17px;font-size:16px;opacity:1;z-index:3; }
.doc-editor .doc-paper [data-document-field]:hover [data-doc-move-handle],.doc-editor .doc-paper [data-document-field].is-selected [data-doc-move-handle] { display:block; }
.doc-editor .doc-paper [data-doc-field-resize] { position:absolute;right:-5px;bottom:-5px;width:10px;height:10px;display:none;background:#fff;border:1px solid #3387ff;cursor:nwse-resize;touch-action:none;z-index:3; }
.doc-editor .doc-paper [data-document-field]:hover [data-doc-field-resize],.doc-editor .doc-paper [data-document-field].is-selected [data-doc-field-resize] { display:block; }
.doc-paper [data-doc-selected-object] { outline:1px solid #3387ff;outline-offset:2px; }
.doc-editor__dimension { display:flex;align-items:center;gap:5px;font-size:11px;color:var(--c-muted); }
.doc-editor__dimension input { width:56px;min-width:0;padding:4px;border:1px solid var(--c-line);border-radius:var(--radius-xs);background:var(--c-white);color:var(--c-black);font-size:12px; }
.doc-editor__object-settings { padding-top:20px;border-top:1px solid var(--c-line);margin-bottom:20px; }
.doc-editor__object-settings h3 { margin:0 0 16px;font-size:13px; }
.doc-editor__object-settings label { display:flex;flex-direction:column;gap:7px;margin-bottom:15px;font-size:11px;color:var(--c-muted); }
.doc-editor__object-settings select,.doc-editor__field-settings textarea { width:100%;box-sizing:border-box;padding:9px 10px;background:var(--c-white);color:var(--c-black);border:1px solid var(--c-line-strong);border-radius:var(--radius-sm);font:12px/1.5 var(--ff); }
.doc-editor__field-settings .doc-editor__position,.doc-editor__object-settings .doc-editor__position { grid-template-columns:repeat(2,minmax(0,1fr)); }
.doc-editor__object-settings .doc-editor__position { display:grid;gap:8px; }
.doc-editor__field-settings small { font-size:10px;line-height:1.5;color:var(--c-faint); }

/* The mode and save action stay predictable while editing. */
.doc-editor__modes { display:flex;gap:2px;padding:3px;border:1px solid var(--c-line);border-radius:var(--radius-md); }
.doc-editor__modes .is-active { background:var(--c-fill-soft);color:var(--c-fill);box-shadow:inset 0 0 0 1px var(--c-fill);font-weight:600; }
.doc-editor [data-doc-save].btn--primary { background:#3387ff;color:#fff;border-color:#3387ff;box-shadow:0 0 0 3px #3387ff18; }
.doc-editor__workspace { overflow:visible; }
.doc-editor__fields { position:sticky;top:16px;align-self:start;max-height:var(--doc-panel-height,calc(100dvh - 32px));overflow-y:auto;overscroll-behavior:contain; }
.doc-editor__field-list { max-height:220px;overflow-y:auto; }
.doc-editor__preview-hint { margin:0;padding:10px 14px;color:var(--c-muted);font-size:12px;background:var(--c-bg);border:1px solid var(--c-line);border-bottom:0; }
.doc-editor__geometry-grip--table-move { cursor:move;background:#3387ff; }
.doc-editor__geometry-grip--table-move::before { content:'⠿';color:#fff;font-size:16px;line-height:18px; }
.doc-editor__object-settings .doc__check { flex-direction:row;align-items:center; }
.doc-editor .doc-paper [data-doc-marker-label] { font:inherit;color:inherit;text-decoration:inherit; }
.doc-editor .doc-paper [data-document-field].doc-field-box[data-appearance=overlay] [data-doc-marker-label] { opacity:1; }
.doc-editor .doc-paper .doc-preview-field[data-appearance=overlay] { border:1px solid #8bb6ef;background:#edf4ff66; }
.doc-editor .doc-paper .doc-preview-field[data-appearance=overlay] > select { appearance:auto;-webkit-appearance:auto; }
.doc-editor .doc-paper .doc-preview-field >input::placeholder,.doc-editor .doc-paper .doc-preview-field >textarea::placeholder { color:#6b7280;opacity:1; }
@media(min-width:761px) { .doc-editor__canvas { overflow:clip; } }
@media(max-width:760px) { .doc-editor__fields.is-mobile-open { top:0;max-height:100dvh; }.doc-editor__modes { flex-shrink:0; } }

.doc-editor__preview .doc-editor__workspace { grid-template-columns:minmax(0,1fr); }
.doc-editor .doc-paper [data-document-field].doc-field-box[data-type=signature] [data-doc-marker-label]::before { content:'✎';margin-right:7px;font-size:18px; }
.doc-editor .doc-paper [data-document-field].doc-field-box[data-type=signature] { align-items:flex-end;background:linear-gradient(#edf4ff66,#edf4ff66); }
