.rich-editor { min-width:0; border:1px solid #64748b; border-radius:.4rem; background:#fff; color:#1e293b; }
.rich-toolbar { display:flex; flex-wrap:wrap; align-items:stretch; gap:.6rem 0; padding:.65rem .4rem .45rem; background:#f1f4f8; border-bottom:1px solid #64748b; }
.rich-tool-group { display:flex; flex-direction:column; justify-content:space-between; gap:.35rem; padding:0 .45rem; border-inline-end:1px solid #94a3b8; max-width:100%; min-width:0; }
.rich-tool-group:last-child { border-inline-end:0; }
.rich-group-controls { display:flex; flex-wrap:wrap; align-items:center; gap:.15rem; }
.rich-group-label { display:block; text-align:center; color:#475569; font-size:.75rem; line-height:1.4; }
.rich-toolbar button, .rich-toolbar select { display:inline-flex; align-items:center; justify-content:center; gap:.4rem; min-height:36px; min-width:36px; width:auto; max-width:100%; padding:.3rem .45rem; border:1px solid #64748b; border-radius:.25rem; background:#f1f4f8; color:#1e293b; font:inherit; font-size:.875rem; cursor:pointer; }
.rich-toolbar select { border-color:#64748b; background:#fff; max-width:11rem; }
.rich-toolbar button svg { width:1.2rem; height:1.2rem; flex:none; }
.rich-toolbar .rich-mark-bold { font-weight:800; }.rich-toolbar .rich-mark-italic { font-style:italic; font-family:Georgia,serif; }.rich-toolbar .rich-mark-underline { text-decoration:underline; }.rich-toolbar .rich-mark-strike { text-decoration:line-through; }
.rich-toolbar .rich-mark-bold, .rich-toolbar .rich-mark-italic, .rich-toolbar .rich-mark-underline, .rich-toolbar .rich-mark-strike { font-size:1rem; }
.rich-toolbar button:hover { background:#dbeafe; color:#172b4d; }
.rich-toolbar button[aria-pressed=true] { background:#dbeafe; border-color:#174b7a; color:#123e65; box-shadow:inset 0 -2px #174b7a; }
.rich-toolbar button[aria-disabled=true] { color:#526174; background:#f1f4f8; cursor:default; }
.rich-toolbar .rich-table-tools { flex-basis:100%; border:0; border-top:1px solid #64748b; padding-top:.6rem; }
.rich-toolbar [hidden] { display:none !important; }
.rich-paper { background:#e9edf2; padding:1.25rem; }
.rich-editor .rich-content { max-width:52rem; min-height:26rem; margin:0 auto; box-sizing:border-box; padding:2rem clamp(1rem,3vw,2.5rem); border:1px solid #94a3b8; box-shadow:0 2px 5px #1e293b15; background:#fff; color:#1e293b; outline-offset:-4px; }
.rich-editor-bottom { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.75rem; padding:.4rem 1rem .8rem; color:#475569; font-size:.8rem; }
.rich-shortcuts { max-width:38rem; }.rich-shortcuts summary { cursor:pointer; min-height:24px; }.rich-shortcuts p { margin:.5rem 0; }
.rich-word-count { white-space:nowrap; }
.rich-editor [role=status]:empty { display:none; }
.rich-editor .hint, .rich-editor [role=status] { margin:.6rem 1rem; color:#334155; }
.rich-content { min-width:0; max-width:100%; line-height:1.65; overflow-wrap:anywhere; }
.rich-content p { margin:.65em 0; }
.rich-content h2, .rich-content h3, .rich-content h4 { line-height:1.3; margin:1em 0 .5em; }
.rich-content h2 { font-size:1.5em; }.rich-content h3 { font-size:1.25em; }.rich-content h4 { font-size:1.1em; }
.rich-content a { color:#164e85; text-decoration:underline; text-underline-offset:.15em; }
.rich-content ul, .rich-content ol { padding-inline-start:1.7em; margin:.7em 0; }
.rich-content ul { list-style:disc; }.rich-content ul ul { list-style:circle; }.rich-content ol { list-style:decimal; }
.rich-content li { margin:.3em 0; }.rich-content li p { margin:.2em 0; }
.rich-content blockquote { margin:1em 0; border-inline-start:4px solid #64748b; padding-inline-start:1em; }
.rich-content figure { margin:1em 0; }.rich-content img { display:block; max-width:100%; height:auto; }
.rich-content figcaption { color:#334155; margin-top:.4em; }
.rich-content .align-left { text-align:left; }.rich-content .align-center { text-align:center; }.rich-content .align-right { text-align:right; }
.rich-table-scroll, .rich-editor .tableWrapper { max-width:100%; overflow-x:auto; margin:1em 0; }
.rich-editor .rich-content { overflow-x:auto; }
.rich-content table { border-collapse:collapse; width:100%; min-width:22rem; table-layout:auto; margin:.5em 0; background:#fff; color:#1e293b; }
.rich-content table th, .rich-content table td { border:1px solid #64748b; padding:.6em; min-width:5rem; vertical-align:top; text-align:left; overflow-wrap:normal; word-break:normal; position:relative; }
.rich-content table th { background:#e2e8f0; color:#1e293b; font-weight:700; }
.rich-content caption { text-align:left; font-weight:700; padding:.5em 0; color:#1e293b; }
.rich-content .selectedCell::after { content:""; position:absolute; inset:0; pointer-events:none; border:3px solid #174b7a; }
.rich-content .ProseMirror-selectednode { outline:3px solid #174b7a; outline-offset:3px; }
.rich-editor :focus-visible, .rich-dialog :focus-visible, .rich-table-scroll:focus-visible { outline:3px solid #8c3600; outline-offset:3px; }
.rich-dialog { width:min(36rem,calc(100vw - 2rem)); max-height:calc(100dvh - 2rem); overflow:auto; padding:1.4rem; border:2px solid #475569; border-radius:.6rem; background:#fff; color:#1e293b; }
.rich-dialog::backdrop { background:rgb(15 23 42 / 60%); }
.rich-dialog .field { margin:1rem 0; }.rich-dialog input { width:100%; box-sizing:border-box; color:#1e293b; background:#fff; border:1px solid #64748b; }
html[data-contrast="high"] .rich-content, body.high-contrast .rich-content { color:#fff; background:#000; }
@media (max-width:600px) { .rich-toolbar { padding:.4rem .15rem; }.rich-tool-group { padding:0 .2rem; }.rich-paper { padding:.4rem; }.rich-editor .rich-content { padding:1rem; }.rich-dialog { padding:1rem; } }
@media (max-width:600px), (pointer:coarse) { .rich-toolbar button, .rich-toolbar select { min-width:44px; min-height:44px; } }
@media (forced-colors:active) { .rich-toolbar button[aria-pressed=true] { border:3px solid Highlight; }.rich-content .ProseMirror-selectednode { outline-color:Highlight; } }
