/* Case portal — navy accent */
:root{--accent:#1e40af;--accent-700:#1e3a8a;--accent-50:#eff6ff;--accent-100:#dbeafe}
.matter-hero{display:flex;gap:16px;align-items:flex-start}
.matter-hero .thumb{width:52px;height:52px;border-radius:12px;background:var(--accent-50);display:grid;place-items:center;color:var(--accent);flex:none}
.matter-hero .thumb .i{width:24px;height:24px}
.doc-check{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}
.doc-check:last-child{border-bottom:0}
.doc-check .box{width:22px;height:22px;border-radius:6px;border:1.5px solid var(--border-strong);display:grid;place-items:center;flex:none;color:#fff}
.doc-check.ok .box{background:var(--green);border-color:var(--green)}
.doc-check.review .box{background:var(--blue-bg);border-color:var(--blue);color:var(--blue)}
.doc-check .box .i{width:14px;height:14px}
.thread{display:flex;flex-direction:column;gap:12px;padding:16px;max-height:420px;overflow-y:auto;background:var(--surface-2)}
.msg{display:flex;gap:10px;max-width:84%}
.msg.me{margin-left:auto;flex-direction:row-reverse}
.msg .bubble{background:#fff;border:1px solid var(--border);border-radius:4px 12px 12px 12px;padding:9px 12px;font-size:13.5px;line-height:1.45}
.msg.me .bubble{background:var(--accent);color:#fff;border-color:var(--accent);border-radius:12px 4px 12px 12px}
.msg .meta{font-size:11.5px;color:var(--faint);margin-top:3px}
.msg.me .meta{text-align:right}
.typing{display:inline-flex;gap:3px;padding:12px}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--faint);animation:blink 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes blink{0%,100%{opacity:.3}50%{opacity:1}}
.composer{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}
.upl{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.upl:last-child{border-bottom:0}
.stage-dots{display:flex;gap:3px}
.stage-dots i{width:14px;height:5px;border-radius:3px;background:var(--border)}
.stage-dots i.on{background:var(--accent)}
.due-red{color:var(--red);font-weight:600}.due-amber{color:var(--amber);font-weight:600}
.cal-col.weekend{background-color:#fafafb}
.inv-doc{border:1px solid var(--border);border-radius:10px;padding:20px}
