/* ============================================================
   matriculas.css — namespace .mtr-*
   ============================================================ */

.mtr-page { display:flex; flex-direction:column; gap:16px; padding:8px 0; }

.mtr-loading, .mtr-empty, .mtr-error {
  padding:48px 16px; text-align:center; color:var(--cf-text-3, #64748b); font-size:14px;
}
.mtr-error { color:#dc2626; }

/* ---------- header ---------- */
.mtr-head {
  display:grid; grid-template-columns: auto 1fr auto; gap:16px; align-items:center;
  padding:14px 16px; background:#fff;
  border:1px solid var(--cf-border, #e2e8f0); border-radius:10px;
}
.mtr-head-left { display:flex; gap:6px; align-items:center; }
.mtr-pipeline-sel {
  padding:8px 12px; border:1px solid var(--cf-border, #e2e8f0); border-radius:8px;
  background:#fff; font-size:14px; font-weight:500; min-width:200px;
}
.mtr-head-stats { display:flex; gap:24px; justify-content:center; }
.mtr-stat { display:flex; flex-direction:column; gap:2px; align-items:center; }
.mtr-stat strong { font-size:20px; color:var(--cf-text, #0f172a); font-family: 'IBM Plex Sans', sans-serif; }
.mtr-stat span { font-size:11px; color:var(--cf-text-3, #64748b); text-transform:uppercase; letter-spacing:0.5px; }
.mtr-head-right { display:flex; gap:8px; align-items:center; }
.mtr-search {
  padding:8px 12px; border:1px solid var(--cf-border, #e2e8f0); border-radius:8px;
  font-size:13px; min-width:220px;
}
@media (max-width:920px) { .mtr-head { grid-template-columns:1fr; } .mtr-head-right { justify-content:stretch; } .mtr-search { flex:1; } }

/* ---------- empty pipelines ---------- */
.mtr-empty-pipeline {
  text-align:center; padding:64px 32px; background:#f8fafc; border-radius:12px;
  border:2px dashed var(--cf-border, #e2e8f0);
  display:flex; flex-direction:column; gap:12px; align-items:center;
}
.mtr-empty-icon { font-size:48px; }
.mtr-empty-title { font-size:18px; font-weight:600; color:var(--cf-text, #0f172a); }
.mtr-empty-msg { font-size:13px; color:var(--cf-text-3, #64748b); }

/* ---------- buttons ---------- */
.mtr-btn-primary {
  background:var(--cf-brand, #1E5BAA); color:#fff; border:none;
  padding:8px 14px; border-radius:6px; font-size:13px; font-weight:500;
  cursor:pointer;
}
.mtr-btn-primary:hover { background:#164785; }
.mtr-btn-ghost-sm {
  background:transparent; color:var(--cf-text-2, #475569);
  border:1px solid var(--cf-border, #e2e8f0);
  padding:4px 10px; border-radius:4px; font-size:12px; cursor:pointer;
}
.mtr-btn-ghost-sm:hover { background:#f1f5f9; }
.mtr-btn-danger {
  background:#dc2626; color:#fff; border:none;
  padding:8px 14px; border-radius:6px; font-size:13px; font-weight:500;
  cursor:pointer;
}
.mtr-btn-danger:hover { background:#b91c1c; }

/* ---------- kanban ---------- */
.mtr-kanban {
  display:flex; gap:14px; overflow-x:auto; padding-bottom:14px;
  min-height: 400px;
}
.mtr-col {
  flex: 0 0 280px; background:#f8fafc;
  border:1px solid var(--cf-border, #e2e8f0); border-radius:10px;
  padding:10px; display:flex; flex-direction:column; gap:8px;
  transition: background .15s, border-color .15s;
}
.mtr-col.drop-target { background:#dbeafe; border-color: var(--cf-brand, #1E5BAA); }
.mtr-col-head {
  display:flex; justify-content:space-between; align-items:center;
  padding:8px 10px; background:#fff; border-radius:8px;
  border-bottom:3px solid;
}
.mtr-col-title { display:flex; gap:8px; align-items:center; font-size:13px; }
.mtr-col-dot { width:10px; height:10px; border-radius:50%; }
.mtr-col-count {
  background:#f1f5f9; padding:2px 8px; border-radius:10px;
  font-size:11px; color:var(--cf-text-3, #64748b);
}
.mtr-col-value { font-size:11px; color:var(--cf-text-3, #64748b); font-weight:500; }
.mtr-col-body {
  display:flex; flex-direction:column; gap:8px;
  min-height:80px; max-height:calc(100vh - 320px); overflow-y:auto; padding:4px 0;
}
.mtr-col-empty {
  text-align:center; font-size:12px; color:#94a3b8;
  padding:20px 8px; font-style:italic;
}
.mtr-col-add {
  background:transparent; border:1px dashed var(--cf-border, #cbd5e1);
  color:var(--cf-brand, #1E5BAA);
  padding:8px; border-radius:6px;
  cursor:pointer; font-size:12px; font-weight:500;
}
.mtr-col-add:hover { background:#fff; border-style:solid; }

/* ---------- card ---------- */
.mtr-card {
  background:#fff; border:1px solid var(--cf-border, #e2e8f0); border-radius:8px;
  padding:10px; cursor:pointer; transition: border-color .15s, transform .1s, box-shadow .15s;
  display:flex; flex-direction:column; gap:8px;
}
.mtr-card:hover { border-color:var(--cf-brand, #1E5BAA); box-shadow: 0 2px 8px rgba(30,91,170,.08); }
.mtr-card.is-dragging { opacity:.45; transform: rotate(-1.5deg) scale(.97); cursor: grabbing; }
.mtr-card-head { display:flex; justify-content:space-between; gap:8px; align-items:flex-start; }
.mtr-card-title { font-size:13px; font-weight:500; color:var(--cf-text, #0f172a); line-height:1.3; }
.mtr-card-value { font-size:12px; font-weight:600; color:#10b981; white-space:nowrap; }
.mtr-card-tags { display:flex; gap:4px; flex-wrap:wrap; }
.mtr-card-tag {
  font-size:10px; padding:2px 6px; border-radius:10px; font-weight:500;
}
.mtr-card-tag-more { font-size:10px; color:var(--cf-text-3, #64748b); }
.mtr-card-foot { display:flex; justify-content:space-between; align-items:center; }
.mtr-card-meta { display:flex; gap:6px; align-items:center; font-size:11px; color:var(--cf-text-3, #64748b); }
.mtr-card-source { font-size:14px; }
.mtr-card-time { font-size:11px; }
.mtr-card-avatar {
  width:24px; height:24px; border-radius:50%;
  background:var(--cf-brand, #1E5BAA); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:10px; font-weight:600;
}
.mtr-avatar-empty { background:#e2e8f0; color:#94a3b8; }

body.mtr-dragging { cursor: grabbing !important; }
body.mtr-dragging * { cursor: grabbing !important; }

/* ---------- form ---------- */
.mtr-form { display:flex; flex-direction:column; gap:14px; }
.mtr-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.mtr-grid-3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; }
@media (max-width:720px) { .mtr-grid-2, .mtr-grid-3 { grid-template-columns:1fr; } }
/* M19.1: hint de herança quando há origem/setor/canal da conversa */
.mtr-inherit-hint {
  display: flex; align-items: center; gap: 6px;
  padding: 8px 10px; background: #f0f6ff; border: 1px solid #bfdbfe;
  border-radius: 6px; color: #1e40af; margin-top: 4px;
}
.mtr-inherit-hint small { font-size: 11.5px; line-height: 1.4; }

.mtr-label { display:flex; flex-direction:column; gap:6px; font-size:13px; font-weight:500; color:var(--cf-text-2, #475569); }
.mtr-input {
  width:100%; padding:10px 12px;
  border:1px solid var(--cf-border, #e2e8f0); border-radius:8px;
  font-size:14px; background:#fff; color:var(--cf-text, #0f172a);
}
.mtr-input:focus { outline:none; border-color:var(--cf-brand, #1E5BAA); box-shadow: 0 0 0 3px rgba(30,91,170,.12); }
.mtr-textarea-large { min-height:200px; font-family:inherit; resize:vertical; }
.mtr-hint { font-size:11px; color:var(--cf-text-3, #94a3b8); font-weight:400; }

.mtr-section {
  padding:14px; background:#f8fafc; border-radius:10px;
  display:flex; flex-direction:column; gap:10px;
}
.mtr-section-head {
  display:flex; justify-content:space-between; align-items:center;
}
.mtr-section-head strong { font-size:13px; color:var(--cf-text, #0f172a); }
.mtr-section-danger {
  background:#fef2f2; border:1px solid #fecaca;
}
.mtr-meta-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:6px; font-size:12px;
}
.mtr-meta-grid label { color:var(--cf-text-3, #64748b); margin-right:4px; }
.mtr-meta-grid code { font-family:'IBM Plex Mono', monospace; font-size:11px; color:var(--cf-text, #0f172a); }

/* ---------- tabs ---------- */
.mtr-tab { display:flex; flex-direction:column; gap:14px; padding:8px 0; }

.mtr-tags-row { display:flex; gap:6px; flex-wrap:wrap; }
.mtr-tag-pill { padding:4px 10px; border-radius:12px; font-size:11px; font-weight:500; }
.mtr-tag-empty { color:#94a3b8; font-size:12px; font-style:italic; }

/* ---------- timeline (activity) ---------- */
.mtr-timeline { display:flex; flex-direction:column; gap:12px; }
.mtr-tl-item {
  display:grid; grid-template-columns: 32px 1fr; gap:12px;
  padding:10px; background:#f8fafc; border-radius:8px;
}
.mtr-tl-icon {
  width:32px; height:32px; border-radius:50%; background:#fff;
  display:flex; align-items:center; justify-content:center; font-size:14px;
  border:1px solid var(--cf-border, #e2e8f0);
}
.mtr-tl-title { font-size:13px; font-weight:500; }
.mtr-tl-meta { font-size:12px; color:var(--cf-text-2, #475569); margin-top:2px; }
.mtr-tl-time { font-size:11px; color:var(--cf-text-3, #94a3b8); margin-top:4px; }

/* ---------- messages tab ---------- */
.mtr-msg-head { display:flex; justify-content:space-between; align-items:center; padding-bottom:8px; border-bottom:1px solid var(--cf-border, #e2e8f0); }
.mtr-msg-list { display:flex; flex-direction:column; gap:6px; max-height:400px; overflow-y:auto; padding:8px 0; }
.mtr-msg { display:flex; flex-direction:column; max-width:75%; }
.mtr-msg-in { align-self:flex-start; }
.mtr-msg-out { align-self:flex-end; }
.mtr-msg-bubble {
  padding:8px 12px; border-radius:12px; font-size:13px; word-wrap:break-word;
  white-space:pre-wrap;
}
.mtr-msg-in .mtr-msg-bubble { background:#f1f5f9; color:var(--cf-text, #0f172a); border-bottom-left-radius:2px; }
.mtr-msg-out .mtr-msg-bubble { background:#dcf8c6; color:#0f172a; border-bottom-right-radius:2px; }
.mtr-msg-time { font-size:10px; color:#94a3b8; margin-top:2px; padding:0 4px; }
.mtr-msg-out .mtr-msg-time { text-align:right; }

/* ---------- tasks tab ---------- */
.mtr-task-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:6px; }
.mtr-task {
  display:flex; gap:10px; padding:10px; background:#fff;
  border:1px solid var(--cf-border, #e2e8f0); border-radius:8px;
  align-items:center;
}
.mtr-task input[type="checkbox"] { width:18px; height:18px; cursor:pointer; }
.mtr-task-body { flex:1; }
.mtr-task-title { font-size:13px; font-weight:500; color:var(--cf-text, #0f172a); }
.mtr-task-meta { font-size:11px; color:var(--cf-text-3, #64748b); margin-top:2px; }
.mtr-task-done .mtr-task-title { text-decoration:line-through; color:var(--cf-text-3, #94a3b8); }

/* ---------- files tab ---------- */
.mtr-files-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:6px; }
.mtr-file {
  display:grid; grid-template-columns: 24px 1fr auto; gap:10px;
  padding:8px 12px; background:#fff;
  border:1px solid var(--cf-border, #e2e8f0); border-radius:8px;
  align-items:center;
}
.mtr-file-icon { font-size:16px; }
.mtr-file-name { font-size:13px; color:var(--cf-brand, #1E5BAA); text-decoration:none; }
.mtr-file-name:hover { text-decoration:underline; }
.mtr-file-size { font-size:11px; color:var(--cf-text-3, #94a3b8); }

/* ---------- funil config ---------- */
.mtr-funil-content { display:flex; flex-direction:column; gap:12px; }
.mtr-stage-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:6px; }
.mtr-stage-row {
  display:grid; grid-template-columns: 16px 36px 1fr 140px auto; gap:8px;
  padding:6px; background:#fff;
  border:1px solid var(--cf-border, #e2e8f0); border-radius:6px;
  align-items:center;
}
.mtr-stage-handle { color:#cbd5e1; font-size:14px; cursor:grab; }
.mtr-stage-color { width:36px; height:32px; padding:0; border:1px solid var(--cf-border, #e2e8f0); border-radius:6px; cursor:pointer; }
.mtr-stage-name { font-size:13px; padding:6px 10px; }
.mtr-stage-kind { font-size:12px; padding:6px 10px; }
.mtr-stage-actions { display:flex; gap:2px; }
.mtr-stage-actions button {
  background:transparent; border:none; cursor:pointer;
  padding:6px 8px; color:var(--cf-text-3, #64748b);
  font-size:12px;
}
.mtr-stage-actions button:hover { background:#f1f5f9; border-radius:4px; }
.mtr-stage-del { color:#dc2626 !important; font-weight:bold; font-size:14px !important; }
