/* ==================== Importar compras (Maxirest) ==================== */
.imp-container {
  height: 90vh;
  overflow-y: auto;
  padding: 1rem;
  box-sizing: border-box;
  color: #333;
}

.imp-container h2 {
  margin-top: 0;
  color: #C90045;
}

.imp-container h3 {
  margin: 0 0 8px;
  font-size: 1.1rem;
}

.imp-ayuda {
  margin: 0 0 12px;
  color: #666;
  font-size: 0.95rem;
  max-width: 900px;
}

.imp-card {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  padding: 14px 16px;
  margin-bottom: 16px;
}

.imp-archivos {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: flex-end;
}

.imp-archivo {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-weight: 600;
}

.imp-archivo small {
  font-weight: 400;
  color: #888;
}

.imp-btn,
.imp-btn-sec {
  font-family: inherit;
  font-size: 0.95rem;
  border-radius: 6px;
  padding: 8px 16px;
  cursor: pointer;
  border: 2px solid #C90045;
}

.imp-btn {
  background: #C90045;
  color: #fff;
  margin-top: 12px;
}

.imp-archivos .imp-btn {
  margin-top: 0;
}

.imp-btn-sec {
  background: #fff;
  color: #C90045;
  padding: 5px 12px;
  font-size: 0.85rem;
}

.imp-btn:disabled,
.imp-btn-sec:disabled {
  opacity: 0.5;
  cursor: default;
}

.imp-cargando {
  cursor: progress !important;
}

.imp-acciones {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}

/* Resumen */
.imp-resumen {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}

.imp-periodo {
  font-weight: 600;
  margin-right: 8px;
}

.imp-chip {
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 0.85rem;
  background: #f1f1f4;
}

.imp-chip.imp-lista { background: #e3f7ec; color: #116b3c; }
.imp-chip.imp-falta_articulo,
.imp-chip.imp-falta_presentacion,
.imp-chip.imp-falta_proveedor { background: #fff3d6; color: #8a5a00; }
.imp-chip.imp-ya_importada { background: #e6eefc; color: #1f4b99; }

.imp-cuenta {
  color: #888;
  font-weight: 400;
}

/* Tablas */
.imp-tabla-wrap {
  overflow-x: auto;
  max-height: 420px;
  overflow-y: auto;
  border: 1px solid #f0f0f0;
  border-radius: 6px;
}

.imp-tabla-alta {
  max-height: 520px;
}

.imp-tabla {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.imp-tabla th {
  position: sticky;
  top: 0;
  background: #faf2f5;
  color: #8c0031;
  text-align: left;
  padding: 8px;
  white-space: nowrap;
  z-index: 1;
}

.imp-tabla td {
  padding: 6px 8px;
  border-top: 1px solid #f0f0f0;
  vertical-align: top;
}

.imp-tabla td small {
  color: #888;
}

.imp-tabla select,
.imp-tabla input {
  font-family: inherit;
  font-size: 0.9rem;
  padding: 4px 6px;
  border: 1px solid #ccc;
  border-radius: 4px;
  max-width: 100%;
}

.imp-tabla .imp-accion,
.imp-tabla .imp-prov-accion {
  min-width: 260px;
}

.imp-extra {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}

.imp-extra[hidden] {
  display: none;
}

.imp-equivalencia {
  white-space: nowrap;
}

.imp-pres-cantidad {
  width: 90px;
}

.imp-costo {
  white-space: nowrap;
  color: #555;
}

.imp-aviso {
  color: #b07000 !important;
}

.imp-vacio {
  color: #999;
  text-align: center;
  padding: 16px !important;
}

#imp-sec-otras summary {
  cursor: pointer;
  font-weight: 600;
  margin-bottom: 8px;
}

@media (max-width: 768px) {
  .imp-container {
    height: auto;
    padding: 0.5rem;
  }

  .imp-tabla .imp-accion,
  .imp-tabla .imp-prov-accion {
    min-width: 200px;
  }
}

/* ==================== Navegación con teclado en listas ==================== */
.menu-lista li.kbd-foco {
  outline: 2px dashed #C90045;
  outline-offset: -2px;
}
