.writing-process-dialog { width:min(1000px,calc(100vw - 32px)); max-height:90vh; padding:0; border:2px solid #bed1e2; border-radius:18px; color:#183b5b; background:#f5f8fb; box-shadow:0 20px 65px #183b5b44; }
.writing-process-dialog::backdrop { background:#183b5b66; }
.writing-process-dialog header { display:flex; justify-content:space-between; align-items:start; gap:16px; padding:20px 24px; background:#eaf2f9; border-bottom:1px solid #bed1e2; }
.writing-process-dialog h2 { margin:0 0 6px; font-weight:750; color:#193f69; }
.writing-process-dialog header p { margin:0; color:#52697d; }
.writing-process-controls { display:flex; gap:10px; align-items:center; flex-wrap:wrap; padding:16px 24px 0; }
.writing-process-controls input { flex:1 1 180px; accent-color:#147e78; }
.writing-process-controls span { font-size:.9rem; }
.writing-process-status { margin:16px 24px; padding:10px 14px; background:#fff7dc; border-left:4px solid #d49c1e; border-radius:6px; }
.writing-process-stage { margin:16px 24px; padding:24px; background:white; border:1px solid #bed1e2; border-radius:12px; min-height:200px; }
.writing-process-stage .ql-container.ql-snow { border:0; font-size:1.05rem; }
.writing-process-stage .ql-editor { min-height:120px; padding:0; }
.writing-process-dialog footer { display:flex; justify-content:space-between; gap:12px; padding:0 24px 20px; }
#writingProcessDialog .btn-outline-secondary { color:#193f69!important; -webkit-text-fill-color:#193f69; background:#eaf2f9!important; border:1px solid #adc7dc!important; }
#writingProcessDialog .btn-outline-secondary:not(:disabled):is(:hover,:focus-visible) { color:white!important; -webkit-text-fill-color:white; background:#147e78!important; border-color:#147e78!important; }
#writingProcessDialog button:disabled { opacity:.55; }
.writing-process-stage .ql-font-arial {font-family:Arial,sans-serif}
.writing-process-stage .ql-font-helvetica {font-family:Helvetica,Arial,sans-serif}
.writing-process-stage .ql-font-verdana {font-family:Verdana,sans-serif}
.writing-process-stage .ql-font-georgia {font-family:Georgia,serif}
.writing-process-stage .ql-font-times-new-roman {font-family:'Times New Roman',serif}
.writing-process-stage .ql-font-courier-new {font-family:'Courier New',monospace}
.writing-origin-highlight { background:#dcecf8; color:#173f6b; border-bottom:2px solid #8eb7d6; cursor:pointer; }
.passage-highlight.writing-origin-overlap { background:linear-gradient(#fff0b5 65%,#cce5f7 65%); }
.writing-origin-history { margin:16px 0; padding:16px 20px; background:#eef5fb; border:1px solid #b5cedf; border-radius:12px; }
.writing-origin-history h2 { font-size:1.1rem; font-weight:700; color:#173f6b; }
.writing-origin-history details { margin-top:8px; padding:10px; background:white; border-radius:8px; }
.writing-origin-history summary { color:#173f6b; font-weight:600; cursor:pointer; }
.writing-origin-history blockquote { margin:12px 0; padding-left:12px; border-left:3px solid #92bad6; white-space:pre-wrap; }
.writing-origin-history > p { margin:0 0 8px; }
.writing-origin-history .writing-origin-all { margin:0; padding:0; background:transparent; }
.writing-origin-history [data-origin-events] { max-height:260px; overflow:auto; }
.teacher-comment-popover .writing-origin-quote { background:#eaf2f9; border-left:3px solid #8eb7d6; }
.writing-origin-highlight:focus-visible { outline:3px solid #147e78; outline-offset:2px; }
.teacher-comment-popover .writing-origin-label { font-size:.95rem; font-weight:700; margin:16px 0 6px; color:#173f6b; }
