.message-viewer-layer{z-index:110;justify-content:flex-end;display:flex;position:fixed;inset:0}.message-viewer-backdrop{cursor:default;background:#0f172a52;border:0;padding:0;position:absolute;inset:0}.message-viewer-panel{background:var(--bg-surface);width:min(660px,100%);height:100%;box-shadow:var(--shadow-overlay);outline:none;flex-direction:column;display:flex;position:relative;overflow-y:auto}.message-viewer-head{z-index:2;background:var(--bg-surface);align-items:center;gap:12px;padding:20px 24px 12px;display:flex;position:sticky;top:0}.message-viewer-head h2{color:var(--text-primary);flex:1;margin:0;font-size:20px;font-weight:700}.message-viewer-back{display:none}.message-viewer-close{border-radius:var(--radius-md);min-height:44px;padding:0 16px;font-size:14px}.message-viewer-close-icon{display:none}.message-viewer-body{flex-direction:column;gap:16px;padding:4px 24px 28px;display:flex}.message-viewer-state{color:var(--text-muted);align-items:center;gap:8px;margin:0;font-size:14px;display:flex}.message-viewer-sender{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.message-viewer-sender .contact-identity strong{font-size:16px}.message-viewer-sender time{color:var(--text-muted);flex:none;font-size:12px}.message-viewer-sender.compact .contact-identity strong{font-size:15px}.message-viewer-fields{grid-template-columns:56px minmax(0,1fr);gap:4px 12px;margin:0;font-size:14px;display:grid}.message-viewer-fields dt{color:var(--text-muted);padding-top:2px;font-size:12px}.message-viewer-fields dd{color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-weight:600}.message-viewer-blocked{background:var(--slate-100);border-radius:var(--radius-md);color:var(--text-secondary);align-items:center;gap:12px;padding:12px 14px;display:flex}.message-viewer-blocked p{flex:1;margin:0;font-size:13px;line-height:1.45}.message-viewer-blocked .btn,.message-file-actions .btn,.message-link-actions .btn,.message-viewer-thread .btn{border-radius:var(--radius-md);min-height:44px;padding:0 16px;font-size:14px}.message-viewer-warning{border-radius:var(--radius-md);background:var(--status-danger-soft);color:var(--status-danger);margin:0;padding:10px 12px;font-size:13px}.message-viewer-content{color:var(--text-primary);font-size:15px;line-height:1.6}.message-viewer-text{white-space:pre-wrap;overflow-wrap:anywhere}.message-text-link{color:var(--solvani-blue-deep);font:inherit;cursor:pointer;text-align:left;overflow-wrap:anywhere;background:0 0;border:0;padding:0;text-decoration:underline;display:inline}.message-link-confirm{z-index:3;border-radius:var(--radius-md);background:var(--solvani-midnight);color:var(--text-inverse);box-shadow:var(--shadow-raised);gap:8px;padding:14px 16px;display:grid;position:sticky;bottom:12px}.message-link-confirm p{margin:0;font-size:13px}.message-link-destination{align-items:center;gap:6px;display:flex}.message-link-full{color:var(--slate-300);overflow-wrap:anywhere}.message-link-warning{border-radius:var(--radius-sm);background:var(--status-danger);color:#fff;align-items:flex-start;gap:6px;padding:8px 10px;display:flex}.message-link-actions{gap:8px;display:flex}.message-link-confirm .btn:not(.primary){background:var(--bg-surface);color:var(--text-primary)}.message-viewer-attachments{gap:10px;display:grid}.message-viewer-thread{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:0 16px}.message-viewer-thread>summary{cursor:pointer;align-items:center;min-height:48px;font-size:14px;font-weight:600;display:flex}.message-viewer-thread ol{gap:8px;margin:0;padding:0 0 12px;list-style:none;display:grid}.message-viewer-media{background:var(--bg-surface-subtle);border-radius:var(--radius-sm);gap:4px;padding:8px 12px;display:grid}.message-viewer-thread li details{border-top:1px solid var(--border-subtle);padding-top:8px}.message-viewer-thread li summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:8px;min-height:44px;font-size:14px;display:flex}.message-viewer-thread li summary time,.message-viewer-thread li summary small{color:var(--text-muted);font-size:12px}.message-viewer-thread .message-viewer-text{color:var(--text-secondary);padding-bottom:8px;font-size:14px}.message-viewer-thread .btn{margin-bottom:12px}.message-files{gap:12px;display:grid}.message-file-filters{flex-wrap:wrap;gap:8px;display:flex}.message-file-filter{border:1px solid var(--border-strong);background:var(--bg-surface);min-height:44px;color:var(--text-primary);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:14px;display:inline-flex}.message-file-filter.on{background:var(--solvani-midnight);border-color:var(--solvani-midnight);color:#fff;font-weight:600}.message-file-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.message-file-tile{text-align:left;cursor:pointer;min-width:0;color:var(--text-primary);background:0 0;border:0;gap:4px;padding:0;display:grid}.message-file-thumb{aspect-ratio:4/3;border-radius:var(--radius-md);background:var(--solvani-sky);color:var(--slate-600);place-items:center;display:grid;overflow:hidden}.message-file-tile.video .message-file-thumb{background:var(--solvani-midnight);color:#fff}.message-file-thumb img{object-fit:cover;width:100%;height:100%}.message-file-tile strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.message-file-tile small{color:var(--text-muted);font-size:12px}.message-file-tile:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-md)}.message-file-rows{margin:0;padding:0;list-style:none;display:grid}.message-file-row{border-top:1px solid var(--border-subtle);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid}.message-file-icon{border-radius:var(--radius-md);background:var(--solvani-sky);width:44px;height:44px;color:var(--solvani-blue-strong);place-items:center;display:grid}.message-file-row.risky .message-file-icon{background:var(--status-warning-soft);color:var(--status-warning)}.message-file-meta{justify-items:start;gap:2px;min-width:0;display:grid}.message-file-meta strong{overflow-wrap:anywhere;color:var(--text-primary);font-size:14px}.message-file-meta small{color:var(--text-muted);font-size:12px}.message-file-meta .chip{background:var(--slate-100);color:var(--text-secondary);border-radius:999px;padding:2px 8px;font-size:11px}.message-file-meta .chip.warn{background:var(--status-warning-soft);color:var(--status-warning);border:1px solid var(--status-warning-line)}.message-file-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.message-file-saved{color:var(--status-success);font-size:13px;font-weight:600}.message-file-warning{text-align:right;color:var(--status-warning);flex-basis:100%;font-size:12px}.message-files-note{color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}@media (max-width:760px){.message-viewer-layer.mobile-screen .message-viewer-panel{width:100%}.message-viewer-layer.mobile-sheet{align-items:flex-end}.message-viewer-layer.mobile-sheet .message-viewer-panel{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;height:auto;max-height:92dvh}.message-viewer-head{padding:calc(10px + env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid var(--border-subtle)}.message-viewer-layer.mobile-sheet .message-viewer-head{padding-top:14px}.message-viewer-head h2{text-align:center;font-size:17px}.message-viewer-back{min-height:44px;color:var(--solvani-blue-deep);cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;padding:0;font-size:15px;display:inline-flex}.message-viewer-close{display:none}.message-viewer-head:after{content:"";width:56px}.message-viewer-body{padding:14px 16px calc(24px + env(safe-area-inset-bottom))}.message-file-row{grid-template-columns:44px minmax(0,1fr)}.message-file-actions{grid-column:1/-1;justify-content:flex-start}.message-file-actions .btn{flex:1}.message-file-warning{text-align:left}.message-viewer-blocked{flex-wrap:wrap}}.decision-full-message,.message-attachment-overview{min-height:44px;color:var(--solvani-blue-deep);cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:6px;padding:0 4px;font-size:13px;font-weight:600;display:inline-flex}.decision-full-message:hover,.message-attachment-overview:hover{text-decoration:underline}.decision-full-message:focus-visible,.message-attachment-overview:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}
