/* V1.1: document formats and a quiet, practical review workspace. */
[hidden]{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.modal{display:flex;flex-direction:column}.modal-head,.modal-foot{flex-shrink:0}.modal-body{min-height:0;overflow-y:auto}
.format-control{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding-top:8px;font-size:13px;line-height:20px;min-width:0}
.format-control>label{font-size:13px;font-weight:500;color:var(--text-body)}.format-control>label span{color:var(--text-muted);font-weight:400}.format-control select{height:36px;max-width:220px;min-width:140px;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:0 12px;font-size:13px;color:var(--text-main)}
.format-control .text-button{font-size:13px;min-height:36px}.format-state{font-size:12px;line-height:18px;color:var(--text-muted)}.prep-form .format-control{margin-top:0;border-top:1px solid var(--border);padding-top:12px}
.format-library-section{margin-bottom:32px}.format-library-section .section-note{margin-top:8px}.format-library-section .section-head{align-items:flex-start}.design-template-heading{margin-bottom:24px}.format-empty{border:0;padding:24px 16px}
.format-library-row{display:flex;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--border);min-width:0}.format-library-row>div:first-of-type{flex:1;min-width:0}.format-library-row h3{overflow-wrap:anywhere}.format-library-row p{font-size:12px;line-height:18px;color:var(--text-muted);margin-top:8px}.format-file-icon{height:44px;width:40px;display:grid;place-items:center;color:var(--brand)}.format-row-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.format-row-actions .text-button{font-size:12px}.format-row-actions .icon-button{width:36px}
.upload-status{margin-top:24px;border-top:1px solid var(--border);padding-top:24px;color:var(--text-muted);font-size:14px;line-height:22px}.upload-status strong{color:var(--text-main)}.upload-status p{margin-top:8px}.template-structure{display:flex;gap:16px;flex-wrap:wrap;padding:16px;background:var(--surface-soft);border-radius:8px;font-size:13px;color:var(--text-body);margin-bottom:16px}.mapping-warning{padding:12px 0;font-size:13px;line-height:22px;color:var(--text-body)}.mapping-list{margin-top:16px;border-top:1px solid var(--border)}.mapping-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(160px,1fr);gap:24px;padding:16px 0;border-bottom:1px solid var(--border)}.mapping-row strong{font-size:14px;line-height:22px;font-weight:600;overflow-wrap:anywhere}.mapping-row p{font-size:12px;line-height:18px;color:var(--text-muted);margin-top:4px}.mapping-row small{font-size:12px;line-height:18px;color:var(--text-muted);display:block;margin-top:8px;overflow-wrap:anywhere;max-height:54px;overflow:auto}.mapping-row label{display:block;font-size:12px;line-height:18px;margin-bottom:8px;color:var(--text-muted)}.mapping-row select{width:100%;height:44px;border:1px solid var(--border);border-radius:9px;background:white;padding:0 12px;font-size:13px}
#format-map-error,#export-error{margin-top:16px;font-size:14px;line-height:22px;color:#9D3D30}#format-map-error:empty,#export-error:empty{display:none}
.editor-main{max-width:1480px;padding-left:32px;padding-right:32px}.editor-top{gap:16px;align-items:flex-start}.editor-heading{display:flex;align-items:center;gap:8px;min-width:0}.editor-heading h1{font-size:18px;line-height:26px;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-heading .editor-status{margin-top:8px}.editor-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.editor-format-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:0 0 16px;font-size:13px;line-height:20px;color:var(--text-muted)}.editor-format-line strong{font-weight:500;color:var(--text-body);overflow-wrap:anywhere}.editor-format-line>span:last-child{margin-left:auto;font-size:12px}.review-layout{display:grid;grid-template-columns:minmax(0,2.6fr) minmax(264px,1fr);gap:24px;align-items:start}.review-layout.comments-hidden{grid-template-columns:1fr}.review-layout.comments-hidden>.editor-paper{max-width:900px;width:100%;margin:auto}.review-layout .editor-paper{min-width:0;padding:32px}.comments-panel{display:none;position:sticky;top:24px;border:1px solid var(--border);border-radius:12px;background:var(--surface);max-height:calc(100vh - 48px);overflow:auto}.comments-panel.is-visible{display:block}.comments-heading{padding:24px 16px 16px;align-items:flex-start}.comments-heading h2{font-size:18px;line-height:26px}.comments-heading p{margin-top:8px;font-size:12px;line-height:18px;color:var(--text-muted)}.comments-heading .icon-button{width:32px;height:32px}.comment-filters{display:flex;gap:8px;border-bottom:1px solid var(--border);padding:0 16px 16px}.comment-filters button{font-size:12px;line-height:18px;min-height:36px;padding:8px;border-radius:8px}.comment-filters button.selected{background:var(--brand-soft);color:var(--brand);font-weight:600}.comments-list{padding:0 16px}.comment-empty{padding:32px 0;color:var(--text-muted)}.comment-empty>.icon{margin-bottom:16px}.comment-empty h3{font-size:14px;line-height:22px;color:var(--text-body)}.comment-empty p{font-size:13px;line-height:22px;margin-top:8px}.comment-card{padding:24px 0;border-bottom:1px solid var(--border)}.comment-card:last-child{border:0}.comment-type{font-size:12px;line-height:18px;color:var(--brand);font-weight:600}.comment-state{font-size:12px;line-height:18px;color:var(--text-muted)}.comment-quote{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-align:left;width:100%;border-left:2px solid var(--brand);background:var(--surface-soft);padding:8px 12px;font-size:12px;line-height:20px;color:var(--text-muted);margin-top:12px;white-space:pre-wrap;overflow-wrap:anywhere}.comment-quote:hover{background:var(--brand-soft)}.comment-content{font-size:14px;line-height:24px;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:12px}.comment-card time{display:block;color:var(--text-muted);font-size:12px;line-height:18px;margin-top:12px}.comment-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px}.comment-actions .text-button{font-size:12px;min-height:32px}.anchor-warning{font-size:12px;line-height:20px;margin-top:8px;color:#8A4B20}.resolved .comment-type{color:var(--text-muted)}
.section-heading{align-items:flex-start;gap:8px;margin-bottom:12px}.section-heading h2{margin:0}.section-insert{display:flex;gap:12px;white-space:nowrap}.section-insert .text-button{font-size:12px;min-height:26px}.paragraph-row{position:relative;padding-right:24px}.paragraph-row+.paragraph-row{margin-top:12px}.paragraph-row .editable{padding:8px;margin-left:-8px}.paragraph-comment{position:absolute;right:-12px;top:0;width:32px;height:32px;opacity:0;transition:opacity 150ms}.paragraph-row:hover .paragraph-comment,.paragraph-row:focus-within .paragraph-comment,.paragraph-comment:focus-visible{opacity:1}.editable.has-comment{border-left:2px solid var(--brand);background:var(--surface-soft)}.comments-hidden .editable.has-comment{border-color:transparent;background:none}.read-only .editable{background:none}.selection-comment{position:fixed;z-index:45;min-height:40px;height:40px;font-size:13px;padding:0 12px}.comment-form-quote{border-left:2px solid var(--brand);background:var(--surface-soft);margin:0 0 24px;padding:12px 16px;color:var(--text-muted);font-size:13px;line-height:22px;white-space:pre-wrap;max-height:160px;overflow:auto;overflow-wrap:anywhere}.custom-fields .field{margin-top:24px}.editable-table-wrap{overflow-x:auto;margin:16px 0}.editable-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:14px}.editable-table td{border:1px solid var(--border);padding:8px;vertical-align:top;min-width:100px}.editable-table .editable{margin:0;min-height:64px;padding:4px;overflow-wrap:anywhere}.cell-comment{font-size:12px;min-height:24px}.comment-history article{padding:16px 0;border-bottom:1px solid var(--border)}.comment-history p{white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0;font-size:14px;line-height:22px}.comment-history small{color:var(--text-muted)}.export-format{margin-bottom:24px}.export-format p{margin-top:12px;color:var(--text-muted);font-size:14px;line-height:22px}.export-note-preview h3{margin:24px 0 16px}.export-note-preview article{border-top:1px solid var(--border);padding:16px 0}.export-note-preview blockquote{margin:12px 0;font-size:13px;line-height:22px;color:var(--text-muted);white-space:pre-wrap}.export-note-preview p{white-space:pre-wrap;overflow-wrap:anywhere}.export-note-preview small{display:block;margin-top:8px;color:var(--text-muted)}.save-alert{padding:16px;background:var(--surface-soft);border:1px solid var(--brand);border-radius:12px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.save-alert p{font-size:13px;line-height:22px;color:var(--text-muted);margin-top:8px}.save-alert .flex{flex-wrap:wrap}.comments-scrim{display:none}
@media(max-width:1200px){.editor-main{padding:24px}.review-layout{grid-template-columns:minmax(0,2fr) minmax(248px,1fr);gap:16px}.review-layout .editor-paper{padding:24px}.editor-actions .btn{padding:0 12px}.format-library-row{align-items:flex-start;flex-wrap:wrap}.format-row-actions{margin-left:56px;width:calc(100% - 56px)}}
@media(max-width:900px){.review-layout{grid-template-columns:1fr}.comments-panel{position:static;max-height:none}.format-control{gap:8px 12px}.editor-heading h1{max-width:260px}}
@media(max-width:768px){.editor-main{padding:24px 16px}.editor-top{display:block}.editor-actions{margin-top:16px}.editor-heading h1{max-width:calc(100vw - 100px);font-size:18px}.editor-format-line{gap:8px 12px}.editor-format-line>span:last-child{margin-left:0}.comments-panel.is-visible{position:fixed;right:0;top:0;bottom:0;width:min(360px,calc(100vw - 24px));max-height:100dvh;z-index:50;border-radius:0;border-right:0;box-shadow:var(--shadow)}.comments-scrim{position:fixed;inset:0;z-index:49;background:rgba(22,35,26,.28)}.comments-scrim.is-visible{display:block}.comments-heading{padding-top:24px}.review-layout .editor-paper{padding:24px 16px}.paragraph-comment{opacity:1;right:-12px}.section-heading{flex-wrap:wrap}.section-insert{gap:16px}.document-title{font-size:26px;line-height:36px}.format-library-section .section-head{flex-wrap:wrap}.mapping-row{gap:16px;grid-template-columns:1fr}.format-library-row{gap:12px}.format-row-actions{margin-left:0;width:100%}.format-file-icon{display:none}.format-control select{max-width:calc(100vw - 160px)}.format-control>.format-state{width:100%}.format-control .text-button{min-height:36px}.editor-actions .btn{font-size:12px;padding:0 8px}.save-alert{padding:16px}.save-alert .btn{font-size:12px}.export-note-preview blockquote{max-height:150px;overflow:auto}}
@media print{.editor-format-line,.comments-panel,.comments-scrim,.section-insert,.paragraph-comment,.cell-comment,.selection-comment,.save-alert{display:none!important}.review-layout{display:block}.review-layout .editor-paper{border:0;box-shadow:none;padding:0;max-width:none}.editable.has-comment{background:none;border:0}.paragraph-row{padding:0}.editable-table td{border-color:#888}.comments-hidden .editable.has-comment{border:0}}
