/* ===========================
   BT Panel Consultores - Scope
   Todo adentro de .btpc
   =========================== */

.btpc {
  /* Mini reset contextual para evitar herencias agresivas del tema/Elementor */
  --btpc-text:#1f1f1f;
  --btpc-primary:#2A216D;
  --btpc-primary-600:#4534CF;
  --btpc-border:#e5e7eb;
  --btpc-muted:#f8f9fb;

  color: var(--btpc-text);
}
.btpc * { box-sizing: border-box; }
.btpc a { text-decoration: none; }

/* Panel base */
.btpc .bt-panel{
  background:#fff; 
  border:1px solid var(--btpc-border); 
  border-radius:12px;
  padding:16px; 
  margin:12px 0;
}
.btpc .bt-panel-title{ 
  margin:0 0 8px; 
  font-size:1.15rem; 
  font-weight:700; 
}

/* Estados */
.btpc .bt-ok{ background:#e8fff2; border-color:#b6f0c5; }
.btpc .bt-warn{ background:#fff7e6; border-color:#ffd699; }
.btpc .bt-error{ background:#ffecec; border-color:#ffb3b3; }

/* Botones */
.btpc .bt-button{
  display:inline-block; 
  background:var(--btpc-primary); 
  color:#fff; 
  border:none;
  border-radius:8px; 
  padding:.5rem 1rem; 
  font-weight:700; 
  cursor:pointer;
  text-decoration:none;
  line-height:1; 
}
.btpc .bt-button:hover{ background:var(--btpc-primary-600); }
.btpc .bt-button.bt-ghost{
  background:var(--btpc-muted); 
  color:var(--btpc-primary); 
  border:1px solid var(--btpc-border);
}

/* Formularios en línea */
.btpc .bt-form-inline{ 
  display:flex; 
  flex-wrap:wrap; 
  gap:8px; 
  align-items:center; 
}
.btpc .bt-form-inline input, 
.btpc .bt-form-inline select{
  border:1px solid var(--btpc-border); 
  border-radius:8px; 
  padding:.45rem .6rem;
  background:#fff;
}

/* Tarjeta empresa */
.btpc .bt-card-empresa{
  margin-top:10px; 
  padding:12px; 
  border:1px solid var(--btpc-border); 
  border-radius:10px;
  display:grid; 
  grid-template-columns:1fr auto; 
  gap:12px; 
  align-items:start;
}
.btpc .bt-card-empresa__logo .bt-empresa-logo{
  border-radius:8px; 
  border:1px solid var(--btpc-border); 
  background:#fff; 
  padding:4px;
}
.btpc .bt-grid-empresa{
  display:grid; 
  grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); 
  gap:6px 16px; 
  margin-top:6px;
}

/* Listado */
.btpc .bt-consultas-list{ display:grid; gap:10px; }

.btpc .bt-consulta-item{
  border:1px solid var(--btpc-border); 
  border-radius:10px; 
  padding:12px; 
  background:#fff;
}
.btpc .bt-consulta-item.status-pendiente{ background:#fff8e1; }
.btpc .bt-consulta-item.status-respondida{ background:#e8fff2; }
.btpc .bt-consulta-item.status-cerrada{ background:#f2f4f7; }

.btpc .bt-consulta-head{ 
  display:flex; 
  justify-content:space-between; 
  align-items:center; 
  gap:10px; 
  flex-wrap:wrap; 
}
.btpc .bt-consulta-meta{ 
  display:flex; 
  gap:10px; 
  flex-wrap:wrap; 
  align-items:center; 
  font-size:.95rem; 
}
.btpc .bt-consulta-meta .bt-date{ opacity:.7; }
btpc .bt-consulta-meta .bt-estado{ font-weight:700; }

.btpc .bt-toggle{ 
  background:none; 
  border:none; 
  color:var(--btpc-primary); 
  font-weight:700; 
  cursor:pointer; 
}
.btpc .bt-toggle:hover{ color:var(--btpc-primary-900); }

.btpc .bt-consulta-detalle{ 
  margin-top:10px; 
  padding-top:10px; 
  border-top:1px dashed #d9dde6; 
}
.btpc .bt-consulta-titulo{ font-weight:700; margin-bottom:8px; }
.btpc .bt-consulta-msg, 
.btpc .bt-consulta-resp{
  background:#fff; 
  border:1px solid #eef1f5; 
  border-radius:8px; 
  padding:10px; 
  margin:8px 0;
}

/* Form respuesta */
.btpc .bt-consulta-form textarea{
  width:100%; 
  border:1px solid var(--btpc-border); 
  border-radius:8px; 
  padding:.5rem .6rem;
  background:#fff;
}
.btpc .bt-actions{ 
  display:flex; 
  gap:8px; 
  flex-wrap:wrap; 
  margin-top:6px; 
}

/* Paginación */
.btpc .bt-pager{ margin-top:12px; text-align:center; }

/* Responsive */
@media (max-width:768px){
  .btpc .bt-card-empresa{ grid-template-columns:1fr; }
}
/* ===== Grid formulario Crear consulta (cliente, canal, asignar / asunto abajo) ===== */
.btpc .bt-form-grid--crear {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1.2fr; /* Cliente | Canal | Asignar */
  gap: 10px;
  align-items: center;
  margin-bottom: 10px;
}

.btpc .bt-form-grid--crear .btpc-field {
  border: 1px solid var(--btpc-border);
  border-radius: 8px;
  padding: .45rem .6rem;
  background: #fff;
  width: 100%;
  min-height: 40px;
}

.btpc .bt-form-grid--crear .col-span-3 {
  grid-column: 1 / -1; /* Asunto ocupa todo el ancho */
}

/* ===== Buscador unificado ===== */
.btpc .btpc-search-wrap {
  position: relative;
}
.btpc .btpc-search-field {
  width: 100%;
  max-width: 480px;
  border: 1px solid var(--btpc-border);
  border-radius: 8px;
  padding: .55rem .8rem;
  font-size: 1rem;
  background: #fff;
  display: block;
}
.btpc .btpc-search-field:focus {
  outline: none;
  border-color: var(--btpc-primary);
  box-shadow: 0 0 0 3px rgba(42,33,109,.1);
}

.btpc .btpc-suggestions {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  display: none;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 0 0 10px 10px;
  box-shadow: 0 8px 20px rgba(0,0,0,.1);
  z-index: 100;
  max-height: 320px;
  overflow-y: auto;
}
.btpc .btpc-suggestions.visible { display: block; }
.btpc .btpc-suggest-item {
  padding: 10px 14px;
  cursor: pointer;
  border-bottom: 1px solid #f3f4f6;
  display: flex;
  align-items: center;
  gap: 10px;
}
.btpc .btpc-suggest-item:last-child { border-bottom: none; }
.btpc .btpc-suggest-item:hover { background: #f8faff; }
.btpc .btpc-suggest-main {
  font-weight: 600;
  font-size: 14px;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.btpc .btpc-suggest-sub {
  font-size: 12px;
  color: #9ca3af;
  white-space: nowrap;
}
.btpc .btpc-suggest-badge {
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 20px;
  white-space: nowrap;
  flex-shrink: 0;
}
.btpc .btpc-suggest-multi {
  font-size: 11px;
  color: #3b82f6;
  font-weight: 600;
}
.btpc .badge-anual   { background: #dbeafe; color: #1e40af; }
.btpc .badge-mensual { background: #dcfce7; color: #166534; }
.btpc .badge-free    { background: #fef9c3; color: #854d0e; }
.btpc .badge-none    { background: #f3f4f6; color: #6b7280; }
.btpc .btpc-suggest-empty {
  padding: 12px 14px;
  color: #9ca3af;
  font-size: 13px;
}
