.message-composer-backdrop{z-index:calc(var(--z-modal) + 1000);padding:var(--space-3);opacity:0;transition:opacity var(--motion-base) var(--easing-out);background:#1a1a1a8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.message-composer-backdrop.is-open{opacity:1}.message-composer{--rte-max-height:12rem;--inline-picture-max-height:9rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:32rem;max-height:88vh;box-shadow:var(--shadow-lg);transform:translateY(var(--space-2));opacity:0;transition:transform var(--motion-base) var(--easing-out), opacity var(--motion-base) var(--easing-out);flex-direction:column;display:flex}.message-composer-backdrop.is-open .message-composer{opacity:1;transform:none}.message-composer-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-3);border-bottom:1px solid var(--color-border);display:flex}.message-composer-title{font-family:var(--font-heading);font-size:var(--text-lg);line-height:var(--leading-tight);margin:0}.message-composer-subject{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--color-ink-muted)}.message-composer-close{font-size:var(--text-xl);color:var(--color-ink-muted);cursor:pointer;transition:color var(--motion-fast) var(--easing-out);background:0 0;border:0;flex-shrink:0;padding:0;line-height:1}.message-composer-close:hover{color:var(--color-accent)}.message-composer-body{padding:var(--space-4);gap:var(--space-3);flex:1;align-content:start;display:grid;overflow-y:auto}.message-composer-field{gap:var(--space-1);display:grid}.message-composer-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-ink)}.message-composer-hint,.message-composer-note{font-size:var(--text-sm);color:var(--color-ink-muted);margin:0}.message-composer-recipient{font-size:var(--text-base);color:var(--color-ink);margin:0}.message-composer-options{gap:var(--space-1);margin-top:var(--space-1);display:grid}.message-composer-option{align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-ink);cursor:pointer;transition:border-color var(--motion-fast) var(--easing-out), background var(--motion-fast) var(--easing-out);display:flex}.message-composer-option:hover{border-color:var(--color-border-strong);background:var(--color-surface-muted)}.message-composer-option:has(input:checked){border-color:var(--color-accent)}.message-composer-option input[type=radio]{accent-color:var(--color-accent);flex-shrink:0}.message-composer-option-name{font-weight:var(--weight-medium)}.message-composer-option-role{font-size:var(--text-xs);color:var(--color-ink-muted);margin-left:auto}.message-composer-textarea{resize:vertical;width:100%;padding:var(--space-2);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md)}.message-composer-textarea::placeholder{color:var(--color-ink-faint)}.message-composer-error{font-size:var(--text-sm);color:var(--color-danger);margin:0}.message-composer-sent-title{font-family:var(--font-heading);font-size:var(--text-md);color:var(--color-ink);margin:0}.message-composer-sent-body{font-size:var(--text-sm);color:var(--color-ink-muted);margin:0}.message-composer-foot{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-surface);border-radius:0 0 var(--radius-lg) var(--radius-lg);display:flex;position:sticky;bottom:0}@media (width<=768px){.message-composer-backdrop{align-items:flex-end;padding:0}.message-composer{border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:0;border-left:0;border-right:0;max-width:none;max-height:92vh;transform:translateY(100%)}.message-composer-foot{padding-bottom:max(var(--space-3), env(safe-area-inset-bottom));border-radius:0}.message-composer-close,.message-composer-option,.message-composer-foot .btn{min-height:var(--touch-min)}.message-composer-close{min-width:var(--touch-min)}.message-composer-foot .btn{flex:1}}
