.em-composer { min-width:0; }
.em-editor { min-height:104px; max-height:280px; overflow:auto; width:100%; box-sizing:border-box; padding:12px 14px; border:1px solid #b9c1cb; border-radius:10px; background:#fff; color:#25303e; font:inherit; line-height:1.9; white-space:pre-wrap; overflow-wrap:anywhere; outline:none; }
.em-editor:empty::before { content:attr(data-placeholder); color:#77818e; pointer-events:none; }
.em-editor:focus { border-color:#376eb4; box-shadow:0 0 0 3px #3273c326; }
.em-editor[aria-invalid="true"] { border-color:#ac4242; }
.em-chip,.em-reference { display:inline-flex; align-items:center; gap:5px; max-width:100%; padding:1px 7px; border:1px solid #c2d3e9; border-radius:6px; color:#244f83; background:#edf4fc; font-size:.93em; line-height:1.55; vertical-align:baseline; white-space:normal; text-decoration:none; }
.em-chip { user-select:all; margin:0 2px; }
.em-chip>span { overflow-wrap:anywhere; }
.em-chip button { display:inline-flex; align-items:center; justify-content:center; padding:0; width:24px; min-width:24px; height:28px; min-height:28px; margin:0 -3px 0 1px; border:0; background:transparent; color:#52708f; border-radius:4px; font-size:20px; }
.em-reference-kind { font-size:.65em; opacity:.65; }
.em-toolbar { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:7px; }
.em-toolbar button { min-height:44px; padding:7px 10px; font-size:13px; color:#315e92; }
.em-toolbar [data-mention-count] { font-size:11px; color:#697787; white-space:nowrap; }
.em-help { margin:5px 0 10px; font-size:11px; line-height:1.5; color:#677484; }
dialog.em-picker { width:min(620px,calc(100vw - 32px)); max-width:calc(100vw - 32px); height:min(580px,calc(100dvh - 48px)); max-height:calc(100dvh - 48px); margin:auto; padding:0; border:1px solid #c5cbd2; border-radius:15px; background:#f8fafc; color:#233041; box-shadow:0 24px 90px #15263b55; overflow:hidden; }
dialog.em-picker[open] { display:flex; flex-direction:column; }
dialog.em-picker::backdrop { background:#14233865; backdrop-filter:blur(3px); }
.em-picker header { flex:none; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 20px 12px; border-bottom:1px solid #d9dfe6; }
.em-picker h2 { margin:4px 0 0; font-size:20px; }
.em-eyebrow { font-size:10px; font-weight:700; letter-spacing:.12em; color:#698096; }
.em-picker button { min-height:44px; }
.em-picker [data-mention-close] { width:44px; padding:0; font-size:24px; }
.em-picker-search { flex:none; padding:15px 20px 10px; }
.em-picker-search label { font-size:12px; margin-bottom:5px; }
.em-picker-search input { min-height:44px; width:100%; box-sizing:border-box; }
.em-types { display:flex; gap:5px; margin-top:10px; }
.em-types button { flex:1; font-size:12px; }
.em-types [aria-pressed="true"] { color:#214f86; background:#e5eef9; border-color:#a7bddb; }
.em-results { min-height:0; overflow:auto; flex:1; padding:4px 12px; overscroll-behavior:contain; }
.em-results .em-option { width:100%; min-height:60px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:3px; padding:9px 10px; border:1px solid transparent; border-radius:8px; background:transparent; text-align:left; white-space:normal; }
.em-option strong { font-size:14px; color:#27384b; }
.em-option span { font-size:11px; color:#66768a; overflow-wrap:anywhere; }
.em-results .em-option[aria-selected="true"] { background:#e8f0fa; border-color:#b9cce5; }
.em-result-status { flex:none; margin:0; padding:12px 20px; border-top:1px solid #d9dfe6; color:#667589; font-size:11px; }
.accusation-list { display:grid; gap:12px; margin:12px 0; }
.accusation-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(130px,.6fr) 44px; gap:8px; align-items:end; padding:12px; border:1px solid #d8dee5; border-radius:8px; background:#f7f9fb; }
.accusation-row label { margin:0; min-width:0; }
.accusation-row button { height:44px; min-width:44px; padding:0; }
.accusation-row select { width:100%; min-width:0; }
:root[data-layout="mobile"] .comms-composer:has(.em-composer) { flex-shrink:1; min-height:0; overflow:auto; overscroll-behavior:contain; }
:root[data-layout="mobile"] .em-editor { min-height:70px; max-height:140px; padding:10px 12px; font-size:16px; line-height:1.5; }
:root[data-layout="mobile"] .em-toolbar { margin-top:4px; }
:root[data-layout="mobile"] .em-help { margin:0; font-size:10px; line-height:1.2; }
:root[data-layout="mobile"] .comms-composer:has(.em-composer) [data-save-status]:empty { display:none; }
:root[data-layout="mobile"] .comms-composer-actions:has(+ #interview-status) { position:sticky; bottom:0; padding-top:5px; background:#f1f5fa; z-index:1; }
:root[data-layout="mobile"] .comms[data-comms-keyboard="true"] .em-editor { min-height:60px; max-height:90px; }
:root[data-layout="mobile"] .em-chip button { min-width:44px; width:44px; min-height:44px; height:44px; }
:root[data-layout="mobile"] dialog.em-picker { width:100%; max-width:760px; height:min(620px,calc(100dvh - 28px)); max-height:calc(100dvh - 28px); margin:auto auto 0; border-radius:17px 17px 0 0; padding-bottom:env(safe-area-inset-bottom,0px); }
:root[data-layout="mobile"] .em-picker header { padding:14px 16px 10px; }
:root[data-layout="mobile"] .em-picker-search { padding:12px 16px 8px; }
:root[data-layout="mobile"] .accusation-row { grid-template-columns:minmax(0,1fr) 44px; }
:root[data-layout="mobile"] .accusation-row label:first-child { grid-column:1 / -1; }
@media(max-height:500px) { dialog.em-picker { height:calc(100dvh - 16px); max-height:calc(100dvh - 16px); } .em-picker header { padding:6px 14px; } .em-picker-search { padding:6px 14px; } .em-picker-search label,.em-eyebrow { display:none; } .em-types { margin-top:5px; } .em-result-status { padding:7px 14px; } }
