/* Modal */
.mi-overlay{ position:fixed; inset:0; background:rgba(0,0,0,.45); display:none; align-items:center; justify-content:center; z-index:99999; }
.mi-overlay.open{ display:flex; }
.mi-dialog{ background:#fff; width:560px; max-width:95vw; border-radius:10px; padding:16px 18px; box-shadow:0 10px 30px rgba(0,0,0,.25); position:relative; }
.mi-close{ position:absolute; right:12px; top:10px; background:transparent; border:0; font-size:20px; cursor:pointer; }
.mi-field{ display:flex; flex-direction:column; gap:4px; margin-top:8px; }
.mi-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px 14px; margin-top:8px; }
.mi-actions{ margin-top:12px; display:flex; gap:10px; align-items:center; }
.mi-status{ font-style:italic; opacity:.8; }
.mi-results{ margin-top:10px; max-height:220px; overflow:auto; border:1px solid #e5e7eb; border-radius:8px; padding:6px; }
.mi-list{ display:flex; flex-direction:column; gap:6px; }
.mi-row{ display:flex; gap:8px; align-items:center; padding:4px 6px; border-radius:6px; }
.mi-row:hover{ background:#f8fafc; }
.mi-name{ font-weight:700; }
.mi-sub{ color:#64748b; margin-left:auto; font-size:12px; }
.mi-or{ margin-top:8px; text-align:center; color:#64748b; font-size:12px; }

/* Invite button + states */
.mi-invite-btn{ margin-left:6px; padding:4px 8px; background:#2563eb; color:#fff; border:0; border-radius:6px; cursor:pointer; }
.mi-invite-btn:hover{ filter:brightness(.95); }
.mi-invite-btn.mi-pending, .mi-invite-btn.mi-state-pending{ background:#1d4ed8; opacity:.9; cursor:default; }
.mi-invite-btn.mi-state-connected{ background:#0f766e; opacity:.95; cursor:default; }
.mi-invite-btn.mi-state-rejected{ background:#6b7280; }
