/* ══════ MENSAJES A OPERADORES — estilos ══════ */
.msg-wrap{max-width:1080px;margin:0 auto}

.msg-head{margin-bottom:20px}
.msg-head h2{margin:0 0 4px;font-size:1.15rem;color:var(--txt,#111827)}
.msg-head p{margin:0;font-size:.85rem;color:#64748b}

.msg-grid{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:20px;align-items:start}
@media (max-width:860px){.msg-grid{grid-template-columns:1fr}}

.msg-card{background:var(--bg-card,#fff);border:1px solid #e2e8f0;border-radius:14px;padding:20px}
.msg-card h3{margin:0 0 16px;font-size:.98rem;color:#111827}

.msg-label{display:block;font-size:.78rem;font-weight:700;color:#475569;
           text-transform:uppercase;letter-spacing:.4px;margin:14px 0 6px}
.msg-label:first-of-type{margin-top:0}

.msg-input{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:9px;
           font-size:.88rem;background:#fff;color:#111827;font-family:inherit;box-sizing:border-box}
.msg-input:focus{outline:none;border-color:#1e40af;box-shadow:0 0 0 3px rgba(30,64,175,.1)}
.msg-textarea{min-height:96px;resize:vertical}

.msg-count{text-align:right;font-size:.72rem;color:#94a3b8;margin-top:4px}

/* Selector de destinatario */
.msg-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.msg-tab{flex:1;min-width:88px;padding:9px 8px;border:1.5px solid #e2e8f0;background:#f8fafc;
         border-radius:9px;font-size:.82rem;font-weight:600;color:#475569;cursor:pointer;
         font-family:inherit;transition:all .15s}
.msg-tab:hover{background:#f1f5f9}
.msg-tab.active{background:#1e293b;border-color:#1e293b;color:#fff}

.msg-hidden{display:none}

.msg-check{display:flex;align-items:center;gap:8px;margin:16px 0 0;
           font-size:.85rem;color:#475569;cursor:pointer}
.msg-check input{width:16px;height:16px;cursor:pointer}

.msg-btn{width:100%;margin-top:18px;padding:12px;border:none;border-radius:10px;
         background:#1e293b;color:#fff;font-weight:700;font-size:.9rem;cursor:pointer;
         font-family:inherit;transition:background .15s}
.msg-btn:hover:not(:disabled){background:#334155}
.msg-btn:disabled{opacity:.6;cursor:not-allowed}

.msg-status{margin-top:10px;font-size:.82rem;min-height:18px;text-align:center}
.msg-status-ok{color:#059669;font-weight:600}
.msg-status-error{color:#dc2626;font-weight:600}
.msg-status-info{color:#64748b}

/* Historial */
.msg-item{padding:12px 0;border-bottom:1px solid #f1f5f9}
.msg-item:last-child{border-bottom:none}
.msg-item-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.msg-item-top strong{font-size:.9rem;color:#111827;flex:1;min-width:120px}
.msg-item-tipo{font-size:1rem}
.msg-item-body{font-size:.84rem;color:#475569;margin-bottom:6px;
               white-space:pre-wrap;word-break:break-word}
.msg-item-meta{font-size:.75rem;color:#94a3b8}
.msg-item-meta a{color:#dc2626;text-decoration:none;font-weight:600}
.msg-item-meta a:hover{text-decoration:underline}

.msg-pill{font-size:.68rem;font-weight:700;padding:3px 9px;border-radius:99px;
          text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}
.msg-pill-on{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0}
.msg-pill-off{background:#f1f5f9;color:#94a3b8;border:1px solid #e2e8f0}

.msg-empty,.msg-loading{padding:30px;text-align:center;color:#94a3b8;font-size:.88rem}
.msg-error{padding:16px;background:#fef2f2;border-radius:10px;color:#dc2626;font-size:.9rem}