/* 기존 업무 상세창 안에서만 쓰는 로컬 편집기 스타일이다. 외부 서체·주입 스타일을 요청하지 않는다. */
.pms-body-editor { padding: 0; overflow: hidden; }
.pms-body-toolbar { display: flex; flex-wrap: wrap; gap: 4px; padding: 8px; border-bottom: 1px solid var(--line, #e5e7ef); background: var(--surface-soft, #f8f9fc); }
.pms-body-toolbar button { min-height: 30px; padding: 4px 8px; border: 1px solid var(--line, #e5e7ef); border-radius: 5px; background: var(--surface, #fff); color: inherit; font: inherit; font-size: 12px; cursor: pointer; }
.pms-body-toolbar button:focus-visible { outline: 2px solid var(--primary, #7061e8); outline-offset: 1px; }
.pms-body-toolbar button:disabled { opacity: .45; cursor: default; }
.pms-body-surface { min-width: 0; overflow-x: auto; }
.pms-body-surface .ProseMirror { min-height: 130px; padding: 12px; outline: none; overflow-wrap: anywhere; white-space: pre-wrap; }
.pms-body-surface .ProseMirror p { margin: 0 0 .65em; }
.pms-body-surface .ProseMirror p:last-child { margin-bottom: 0; }
.pms-body-surface .ProseMirror h1, .pms-body-surface .ProseMirror h2, .pms-body-surface .ProseMirror h3 { margin: .8em 0 .4em; line-height: 1.35; }
.pms-body-surface .ProseMirror ul, .pms-body-surface .ProseMirror ol { padding-left: 1.5em; }
.pms-body-surface .ProseMirror blockquote { margin: .6em 0; padding-left: 12px; border-left: 3px solid var(--primary, #7061e8); color: var(--muted, #697386); }
.pms-body-surface .ProseMirror pre { max-width: 100%; overflow-x: auto; background: #f3f4f8; border-radius: 6px; padding: 10px; white-space: pre; }
.pms-body-surface .ProseMirror code { font-family: Consolas, monospace; font-size: .9em; }
.pms-body-surface .ProseMirror table { border-collapse: collapse; table-layout: fixed; width: 100%; margin: 8px 0; }
.pms-body-surface .ProseMirror td, .pms-body-surface .ProseMirror th { border: 1px solid var(--line, #dfe2ec); padding: 7px; vertical-align: top; min-width: 55px; }
.pms-body-surface .ProseMirror th { background: #f3f4f8; }
.pms-body-surface .ProseMirror .selectedCell { background: #eeebff; }
.pms-body-attachment { display: inline-block; max-width: 100%; vertical-align: middle; padding: 2px 5px; margin: 2px; border-radius: 4px; background: #f2efff; }
.pms-body-attachment.is-image { display: inline-block; background: transparent; padding: 0; }
.pms-body-attachment img { display: block; max-width: 100%; max-height: 480px; height: auto; object-fit: contain; border: 1px solid var(--line, #e5e7ef); border-radius: 6px; }
.pms-body-attachment.is-unavailable { font-size: 12px; color: var(--muted, #697386); background: #f4f5f8; }
.pms-body-status { padding: 0 10px; font-size: 12px; color: #9a5300; }
.pms-body-status:not(:empty) { padding: 7px 10px; }
.pms-body-editor.is-readonly .pms-body-surface { background: #fafbfc; }
.pms-body-modes, .pms-markdown-toolbar, .pms-markdown-tabs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.pms-body-modes { padding: 8px; border-bottom: 1px solid var(--line, #e5e7ef); background: var(--surface, #fff); }
.pms-body-modes button, .pms-markdown-toolbar button { min-height: 30px; padding: 4px 8px; border: 1px solid var(--line, #e5e7ef); border-radius: 5px; background: var(--surface, #fff); color: inherit; font: inherit; font-size: 12px; cursor: pointer; }
.pms-body-modes button[aria-pressed="true"], .pms-markdown-toolbar button[aria-pressed="true"] { color: var(--primary, #7061e8); border-color: var(--primary, #7061e8); background: #f2efff; }
.pms-body-modes button:disabled, .pms-markdown-toolbar button:disabled { opacity: .45; cursor: default; }
.pms-body-modes button:focus-visible, .pms-markdown-toolbar button:focus-visible, .pms-body-source:focus-visible { outline: 2px solid var(--primary, #7061e8); outline-offset: -2px; }
.pms-body-editor [hidden] { display: none !important; }
.pms-body-editor[data-body-mode="source"] .pms-body-toolbar button:not([data-body-command="image"]) { display: none; }
.pms-body-source { box-sizing: border-box; width: 100%; min-height: 200px; padding: 12px; border: 0; border-radius: 0; resize: vertical; background: var(--surface, #fff); color: inherit; font: 13px/1.6 Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.pms-body-source[readonly] { background: var(--surface-muted, #fafbfc); }
.pms-body-source-images { display: flex; flex-wrap: wrap; gap: 8px; padding: 8px 12px; border-top: 1px solid var(--line, #e5e7ef); }
.pms-body-source-images img { max-width: 180px; max-height: 130px; height: auto; object-fit: contain; border: 1px solid var(--line, #e5e7ef); border-radius: 6px; }
.pms-body-preview { min-height: 130px; padding: 12px; }

/* 본문과 댓글·활동은 같은 허용 Markdown 서식을 사용한다. 긴 URL·표는 각 패널 안에서만 넘친다. */
.pms-markdown-content { min-width: 0; max-width: 100%; overflow-x: auto; overflow-wrap: anywhere; white-space: normal; line-height: 1.6; }
.pms-markdown-content p { margin: 0 0 .65em; white-space: pre-wrap; }
.pms-markdown-content > :first-child { margin-top: 0; }
.pms-markdown-content > :last-child { margin-bottom: 0; }
.pms-markdown-content h1, .pms-markdown-content h2, .pms-markdown-content h3, .pms-markdown-content h4, .pms-markdown-content h5, .pms-markdown-content h6 { margin: .8em 0 .4em; line-height: 1.35; }
.pms-markdown-content ul, .pms-markdown-content ol { margin: .5em 0; padding-left: 1.6em; }
.pms-markdown-content blockquote { margin: .6em 0; padding-left: 12px; border-left: 3px solid var(--primary, #7061e8); color: var(--muted, #697386); }
.pms-markdown-content a, .pms-body-surface .ProseMirror a { color: var(--primary, #7061e8); text-decoration: underline; overflow-wrap: anywhere; }
.pms-markdown-content a:focus-visible { outline: 2px solid var(--primary, #7061e8); outline-offset: 2px; }
.pms-markdown-content pre { max-width: 100%; overflow-x: auto; margin: .65em 0; padding: 10px; border-radius: 6px; background: var(--surface-muted, #f3f4f8); white-space: pre; }
.pms-markdown-content code { font-family: Consolas, monospace; font-size: .9em; }
.pms-markdown-content :not(pre) > code { padding: 1px 4px; border-radius: 3px; background: var(--surface-muted, #f3f4f8); }
.pms-markdown-content table { width: 100%; border-collapse: collapse; margin: 8px 0; }
.pms-markdown-content td, .pms-markdown-content th { min-width: 55px; padding: 7px; border: 1px solid var(--line, #dfe2ec); vertical-align: top; }
.pms-markdown-content th { background: var(--surface-muted, #f3f4f8); }
.pms-markdown-composer { min-width: 0; max-width: 100%; background: var(--surface, #fff); }
.pms-markdown-toolbar { padding: 5px 0; }
.pms-markdown-tabs { margin-right: auto; }
.pms-markdown-composer > textarea { box-sizing: border-box; max-width: 100%; }
.pms-markdown-composer[data-mode="preview"] > textarea, .pms-markdown-composer[data-mode="write"] > .pms-markdown-preview { display: none; }
.pms-markdown-preview { min-height: 72px; padding: 10px; border: 1px solid var(--line, #e5e7ef); border-radius: 6px; background: var(--surface, #fff); }
.pms-markdown-status { font-size: 12px; color: #9a5300; }
.pms-markdown-status:not(:empty) { padding-top: 5px; }
@media (max-width: 720px) {
  .pms-body-toolbar { gap: 5px; }
  .pms-body-toolbar button { min-height: 44px; padding: 6px 9px; }
  .pms-body-surface .ProseMirror { min-height: 120px; padding: 10px; }
  .pms-body-modes button, .pms-markdown-toolbar button { min-height: 44px; padding: 6px 9px; }
  .pms-body-source { min-height: 180px; padding: 10px; }
}
